defaultValues.test 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  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. name: null
  38. )
  39. )
  40. )
  41. 1: Param(
  42. attrGroups: array(
  43. )
  44. flags: 0
  45. type: null
  46. byRef: false
  47. variadic: false
  48. var: Expr_Variable(
  49. name: c
  50. )
  51. default: Scalar_String(
  52. value: foo
  53. )
  54. )
  55. 2: Param(
  56. attrGroups: array(
  57. )
  58. flags: 0
  59. type: null
  60. byRef: false
  61. variadic: false
  62. var: Expr_Variable(
  63. name: d
  64. )
  65. default: Expr_ClassConstFetch(
  66. class: Name(
  67. name: A
  68. )
  69. name: Identifier(
  70. name: B
  71. )
  72. )
  73. )
  74. 3: Param(
  75. attrGroups: array(
  76. )
  77. flags: 0
  78. type: null
  79. byRef: false
  80. variadic: false
  81. var: Expr_Variable(
  82. name: f
  83. )
  84. default: Expr_UnaryPlus(
  85. expr: Scalar_Int(
  86. value: 1
  87. )
  88. )
  89. )
  90. 4: Param(
  91. attrGroups: array(
  92. )
  93. flags: 0
  94. type: null
  95. byRef: false
  96. variadic: false
  97. var: Expr_Variable(
  98. name: g
  99. )
  100. default: Expr_UnaryMinus(
  101. expr: Scalar_Float(
  102. value: 1
  103. )
  104. )
  105. )
  106. 5: Param(
  107. attrGroups: array(
  108. )
  109. flags: 0
  110. type: null
  111. byRef: false
  112. variadic: false
  113. var: Expr_Variable(
  114. name: h
  115. )
  116. default: Expr_Array(
  117. items: array(
  118. )
  119. )
  120. )
  121. 6: Param(
  122. attrGroups: array(
  123. )
  124. flags: 0
  125. type: null
  126. byRef: false
  127. variadic: false
  128. var: Expr_Variable(
  129. name: i
  130. )
  131. default: Expr_Array(
  132. items: array(
  133. )
  134. )
  135. )
  136. 7: Param(
  137. attrGroups: array(
  138. )
  139. flags: 0
  140. type: null
  141. byRef: false
  142. variadic: false
  143. var: Expr_Variable(
  144. name: j
  145. )
  146. default: Expr_Array(
  147. items: array(
  148. 0: ArrayItem(
  149. key: null
  150. value: Scalar_String(
  151. value: foo
  152. )
  153. byRef: false
  154. unpack: false
  155. )
  156. )
  157. )
  158. )
  159. 8: Param(
  160. attrGroups: array(
  161. )
  162. flags: 0
  163. type: null
  164. byRef: false
  165. variadic: false
  166. var: Expr_Variable(
  167. name: k
  168. )
  169. default: Expr_Array(
  170. items: array(
  171. 0: ArrayItem(
  172. key: null
  173. value: Scalar_String(
  174. value: foo
  175. )
  176. byRef: false
  177. unpack: false
  178. )
  179. 1: ArrayItem(
  180. key: Scalar_String(
  181. value: bar
  182. )
  183. value: Scalar_String(
  184. value: baz
  185. )
  186. byRef: false
  187. unpack: false
  188. )
  189. )
  190. )
  191. )
  192. )
  193. returnType: null
  194. stmts: array(
  195. )
  196. )
  197. )