funcCall.test 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. Function calls
  2. -----
  3. <?php
  4. // function name variations
  5. a();
  6. $a();
  7. ${'a'}();
  8. $$a();
  9. $$$a();
  10. $a['b']();
  11. $a{'b'}();
  12. $a->b['c']();
  13. // array dereferencing
  14. a()['b'];
  15. -----
  16. array(
  17. 0: Stmt_Expression(
  18. expr: Expr_FuncCall(
  19. name: Name(
  20. name: a
  21. )
  22. args: array(
  23. )
  24. )
  25. comments: array(
  26. 0: // function name variations
  27. )
  28. )
  29. 1: Stmt_Expression(
  30. expr: Expr_FuncCall(
  31. name: Expr_Variable(
  32. name: a
  33. )
  34. args: array(
  35. )
  36. )
  37. )
  38. 2: Stmt_Expression(
  39. expr: Expr_FuncCall(
  40. name: Expr_Variable(
  41. name: Scalar_String(
  42. value: a
  43. )
  44. )
  45. args: array(
  46. )
  47. )
  48. )
  49. 3: Stmt_Expression(
  50. expr: Expr_FuncCall(
  51. name: Expr_Variable(
  52. name: Expr_Variable(
  53. name: a
  54. )
  55. )
  56. args: array(
  57. )
  58. )
  59. )
  60. 4: Stmt_Expression(
  61. expr: Expr_FuncCall(
  62. name: Expr_Variable(
  63. name: Expr_Variable(
  64. name: Expr_Variable(
  65. name: a
  66. )
  67. )
  68. )
  69. args: array(
  70. )
  71. )
  72. )
  73. 5: Stmt_Expression(
  74. expr: Expr_FuncCall(
  75. name: Expr_ArrayDimFetch(
  76. var: Expr_Variable(
  77. name: a
  78. )
  79. dim: Scalar_String(
  80. value: b
  81. )
  82. )
  83. args: array(
  84. )
  85. )
  86. )
  87. 6: Stmt_Expression(
  88. expr: Expr_FuncCall(
  89. name: Expr_ArrayDimFetch(
  90. var: Expr_Variable(
  91. name: a
  92. )
  93. dim: Scalar_String(
  94. value: b
  95. )
  96. )
  97. args: array(
  98. )
  99. )
  100. )
  101. 7: Stmt_Expression(
  102. expr: Expr_FuncCall(
  103. name: Expr_ArrayDimFetch(
  104. var: Expr_PropertyFetch(
  105. var: Expr_Variable(
  106. name: a
  107. )
  108. name: Identifier(
  109. name: b
  110. )
  111. )
  112. dim: Scalar_String(
  113. value: c
  114. )
  115. )
  116. args: array(
  117. )
  118. )
  119. )
  120. 8: Stmt_Expression(
  121. expr: Expr_ArrayDimFetch(
  122. var: Expr_FuncCall(
  123. name: Name(
  124. name: a
  125. )
  126. args: array(
  127. )
  128. )
  129. dim: Scalar_String(
  130. value: b
  131. )
  132. )
  133. comments: array(
  134. 0: // array dereferencing
  135. )
  136. )
  137. )