variadic.test 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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. byRef: false
  12. name: Identifier(
  13. name: test
  14. )
  15. params: array(
  16. 0: Param(
  17. type: null
  18. byRef: false
  19. variadic: false
  20. var: Expr_Variable(
  21. name: a
  22. )
  23. default: null
  24. )
  25. 1: Param(
  26. type: null
  27. byRef: false
  28. variadic: true
  29. var: Expr_Variable(
  30. name: b
  31. )
  32. default: null
  33. )
  34. )
  35. returnType: null
  36. stmts: array(
  37. )
  38. )
  39. 1: Stmt_Function(
  40. byRef: false
  41. name: Identifier(
  42. name: test
  43. )
  44. params: array(
  45. 0: Param(
  46. type: null
  47. byRef: false
  48. variadic: false
  49. var: Expr_Variable(
  50. name: a
  51. )
  52. default: null
  53. )
  54. 1: Param(
  55. type: null
  56. byRef: true
  57. variadic: true
  58. var: Expr_Variable(
  59. name: b
  60. )
  61. default: null
  62. )
  63. )
  64. returnType: null
  65. stmts: array(
  66. )
  67. )
  68. 2: Stmt_Function(
  69. byRef: false
  70. name: Identifier(
  71. name: test
  72. )
  73. params: array(
  74. 0: Param(
  75. type: null
  76. byRef: false
  77. variadic: false
  78. var: Expr_Variable(
  79. name: a
  80. )
  81. default: null
  82. )
  83. 1: Param(
  84. type: Name(
  85. parts: array(
  86. 0: Type
  87. )
  88. )
  89. byRef: false
  90. variadic: true
  91. var: Expr_Variable(
  92. name: b
  93. )
  94. default: null
  95. )
  96. )
  97. returnType: null
  98. stmts: array(
  99. )
  100. )
  101. 3: Stmt_Function(
  102. byRef: false
  103. name: Identifier(
  104. name: test
  105. )
  106. params: array(
  107. 0: Param(
  108. type: null
  109. byRef: false
  110. variadic: false
  111. var: Expr_Variable(
  112. name: a
  113. )
  114. default: null
  115. )
  116. 1: Param(
  117. type: Name(
  118. parts: array(
  119. 0: Type
  120. )
  121. )
  122. byRef: true
  123. variadic: true
  124. var: Expr_Variable(
  125. name: b
  126. )
  127. default: null
  128. )
  129. )
  130. returnType: null
  131. stmts: array(
  132. )
  133. )
  134. )