variadic.test 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. Variadic functions
  2. -----
  3. <?php
  4. function test($a, ... $b) {}
  5. function test($a, &... $b) {}
  6. function test($a, Type ... $b) {}
  7. function test($a, Type &... $b) {}
  8. -----
  9. array(
  10. 0: Stmt_Function(
  11. attrGroups: array(
  12. )
  13. byRef: false
  14. name: Identifier(
  15. name: test
  16. )
  17. params: array(
  18. 0: Param(
  19. attrGroups: array(
  20. )
  21. flags: 0
  22. type: null
  23. byRef: false
  24. variadic: false
  25. var: Expr_Variable(
  26. name: a
  27. )
  28. default: null
  29. )
  30. 1: Param(
  31. attrGroups: array(
  32. )
  33. flags: 0
  34. type: null
  35. byRef: false
  36. variadic: true
  37. var: Expr_Variable(
  38. name: b
  39. )
  40. default: null
  41. )
  42. )
  43. returnType: null
  44. stmts: array(
  45. )
  46. )
  47. 1: Stmt_Function(
  48. attrGroups: array(
  49. )
  50. byRef: false
  51. name: Identifier(
  52. name: test
  53. )
  54. params: array(
  55. 0: Param(
  56. attrGroups: array(
  57. )
  58. flags: 0
  59. type: null
  60. byRef: false
  61. variadic: false
  62. var: Expr_Variable(
  63. name: a
  64. )
  65. default: null
  66. )
  67. 1: Param(
  68. attrGroups: array(
  69. )
  70. flags: 0
  71. type: null
  72. byRef: true
  73. variadic: true
  74. var: Expr_Variable(
  75. name: b
  76. )
  77. default: null
  78. )
  79. )
  80. returnType: null
  81. stmts: array(
  82. )
  83. )
  84. 2: Stmt_Function(
  85. attrGroups: array(
  86. )
  87. byRef: false
  88. name: Identifier(
  89. name: test
  90. )
  91. params: array(
  92. 0: Param(
  93. attrGroups: array(
  94. )
  95. flags: 0
  96. type: null
  97. byRef: false
  98. variadic: false
  99. var: Expr_Variable(
  100. name: a
  101. )
  102. default: null
  103. )
  104. 1: Param(
  105. attrGroups: array(
  106. )
  107. flags: 0
  108. type: Name(
  109. parts: array(
  110. 0: Type
  111. )
  112. )
  113. byRef: false
  114. variadic: true
  115. var: Expr_Variable(
  116. name: b
  117. )
  118. default: null
  119. )
  120. )
  121. returnType: null
  122. stmts: array(
  123. )
  124. )
  125. 3: Stmt_Function(
  126. attrGroups: array(
  127. )
  128. byRef: false
  129. name: Identifier(
  130. name: test
  131. )
  132. params: array(
  133. 0: Param(
  134. attrGroups: array(
  135. )
  136. flags: 0
  137. type: null
  138. byRef: false
  139. variadic: false
  140. var: Expr_Variable(
  141. name: a
  142. )
  143. default: null
  144. )
  145. 1: Param(
  146. attrGroups: array(
  147. )
  148. flags: 0
  149. type: Name(
  150. parts: array(
  151. 0: Type
  152. )
  153. )
  154. byRef: true
  155. variadic: true
  156. var: Expr_Variable(
  157. name: b
  158. )
  159. default: null
  160. )
  161. )
  162. returnType: null
  163. stmts: array(
  164. )
  165. )
  166. )