defaultValues.test 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. Default values (static scalar tests)
  2. -----
  3. <?php
  4. function a(
  5. $b = null,
  6. $c = 'foo',
  7. $d = A::B,
  8. $f = +1,
  9. $g = -1.0,
  10. $h = array(),
  11. $i = [],
  12. $j = ['foo'],
  13. $k = ['foo', 'bar' => 'baz']
  14. ) {}
  15. -----
  16. array(
  17. 0: Stmt_Function(
  18. attrGroups: array(
  19. )
  20. byRef: false
  21. name: Identifier(
  22. name: a
  23. )
  24. params: array(
  25. 0: Param(
  26. attrGroups: array(
  27. )
  28. flags: 0
  29. type: null
  30. byRef: false
  31. variadic: false
  32. var: Expr_Variable(
  33. name: b
  34. )
  35. default: Expr_ConstFetch(
  36. name: Name(
  37. parts: array(
  38. 0: null
  39. )
  40. )
  41. )
  42. )
  43. 1: Param(
  44. attrGroups: array(
  45. )
  46. flags: 0
  47. type: null
  48. byRef: false
  49. variadic: false
  50. var: Expr_Variable(
  51. name: c
  52. )
  53. default: Scalar_String(
  54. value: foo
  55. )
  56. )
  57. 2: Param(
  58. attrGroups: array(
  59. )
  60. flags: 0
  61. type: null
  62. byRef: false
  63. variadic: false
  64. var: Expr_Variable(
  65. name: d
  66. )
  67. default: Expr_ClassConstFetch(
  68. class: Name(
  69. parts: array(
  70. 0: A
  71. )
  72. )
  73. name: Identifier(
  74. name: B
  75. )
  76. )
  77. )
  78. 3: Param(
  79. attrGroups: array(
  80. )
  81. flags: 0
  82. type: null
  83. byRef: false
  84. variadic: false
  85. var: Expr_Variable(
  86. name: f
  87. )
  88. default: Expr_UnaryPlus(
  89. expr: Scalar_LNumber(
  90. value: 1
  91. )
  92. )
  93. )
  94. 4: Param(
  95. attrGroups: array(
  96. )
  97. flags: 0
  98. type: null
  99. byRef: false
  100. variadic: false
  101. var: Expr_Variable(
  102. name: g
  103. )
  104. default: Expr_UnaryMinus(
  105. expr: Scalar_DNumber(
  106. value: 1
  107. )
  108. )
  109. )
  110. 5: Param(
  111. attrGroups: array(
  112. )
  113. flags: 0
  114. type: null
  115. byRef: false
  116. variadic: false
  117. var: Expr_Variable(
  118. name: h
  119. )
  120. default: Expr_Array(
  121. items: array(
  122. )
  123. )
  124. )
  125. 6: Param(
  126. attrGroups: array(
  127. )
  128. flags: 0
  129. type: null
  130. byRef: false
  131. variadic: false
  132. var: Expr_Variable(
  133. name: i
  134. )
  135. default: Expr_Array(
  136. items: array(
  137. )
  138. )
  139. )
  140. 7: Param(
  141. attrGroups: array(
  142. )
  143. flags: 0
  144. type: null
  145. byRef: false
  146. variadic: false
  147. var: Expr_Variable(
  148. name: j
  149. )
  150. default: Expr_Array(
  151. items: array(
  152. 0: Expr_ArrayItem(
  153. key: null
  154. value: Scalar_String(
  155. value: foo
  156. )
  157. byRef: false
  158. unpack: false
  159. )
  160. )
  161. )
  162. )
  163. 8: Param(
  164. attrGroups: array(
  165. )
  166. flags: 0
  167. type: null
  168. byRef: false
  169. variadic: false
  170. var: Expr_Variable(
  171. name: k
  172. )
  173. default: Expr_Array(
  174. items: array(
  175. 0: Expr_ArrayItem(
  176. key: null
  177. value: Scalar_String(
  178. value: foo
  179. )
  180. byRef: false
  181. unpack: false
  182. )
  183. 1: Expr_ArrayItem(
  184. key: Scalar_String(
  185. value: bar
  186. )
  187. value: Scalar_String(
  188. value: baz
  189. )
  190. byRef: false
  191. unpack: false
  192. )
  193. )
  194. )
  195. )
  196. )
  197. returnType: null
  198. stmts: array(
  199. )
  200. )
  201. )