defaultValues.test 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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. byRef: false
  19. name: Identifier(
  20. name: a
  21. )
  22. params: array(
  23. 0: Param(
  24. type: null
  25. byRef: false
  26. variadic: false
  27. var: Expr_Variable(
  28. name: b
  29. )
  30. default: Expr_ConstFetch(
  31. name: Name(
  32. parts: array(
  33. 0: null
  34. )
  35. )
  36. )
  37. )
  38. 1: Param(
  39. type: null
  40. byRef: false
  41. variadic: false
  42. var: Expr_Variable(
  43. name: c
  44. )
  45. default: Scalar_String(
  46. value: foo
  47. )
  48. )
  49. 2: Param(
  50. type: null
  51. byRef: false
  52. variadic: false
  53. var: Expr_Variable(
  54. name: d
  55. )
  56. default: Expr_ClassConstFetch(
  57. class: Name(
  58. parts: array(
  59. 0: A
  60. )
  61. )
  62. name: Identifier(
  63. name: B
  64. )
  65. )
  66. )
  67. 3: Param(
  68. type: null
  69. byRef: false
  70. variadic: false
  71. var: Expr_Variable(
  72. name: f
  73. )
  74. default: Expr_UnaryPlus(
  75. expr: Scalar_LNumber(
  76. value: 1
  77. )
  78. )
  79. )
  80. 4: Param(
  81. type: null
  82. byRef: false
  83. variadic: false
  84. var: Expr_Variable(
  85. name: g
  86. )
  87. default: Expr_UnaryMinus(
  88. expr: Scalar_DNumber(
  89. value: 1
  90. )
  91. )
  92. )
  93. 5: Param(
  94. type: null
  95. byRef: false
  96. variadic: false
  97. var: Expr_Variable(
  98. name: h
  99. )
  100. default: Expr_Array(
  101. items: array(
  102. )
  103. )
  104. )
  105. 6: Param(
  106. type: null
  107. byRef: false
  108. variadic: false
  109. var: Expr_Variable(
  110. name: i
  111. )
  112. default: Expr_Array(
  113. items: array(
  114. )
  115. )
  116. )
  117. 7: Param(
  118. type: null
  119. byRef: false
  120. variadic: false
  121. var: Expr_Variable(
  122. name: j
  123. )
  124. default: Expr_Array(
  125. items: array(
  126. 0: Expr_ArrayItem(
  127. key: null
  128. value: Scalar_String(
  129. value: foo
  130. )
  131. byRef: false
  132. )
  133. )
  134. )
  135. )
  136. 8: Param(
  137. type: null
  138. byRef: false
  139. variadic: false
  140. var: Expr_Variable(
  141. name: k
  142. )
  143. default: Expr_Array(
  144. items: array(
  145. 0: Expr_ArrayItem(
  146. key: null
  147. value: Scalar_String(
  148. value: foo
  149. )
  150. byRef: false
  151. )
  152. 1: Expr_ArrayItem(
  153. key: Scalar_String(
  154. value: bar
  155. )
  156. value: Scalar_String(
  157. value: baz
  158. )
  159. byRef: false
  160. )
  161. )
  162. )
  163. )
  164. )
  165. returnType: null
  166. stmts: array(
  167. )
  168. )
  169. )