misc.test 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. Uniform variable syntax in PHP 7 (misc)
  2. -----
  3. <?php
  4. "string"->length();
  5. "foo$bar"[0];
  6. "foo$bar"->length();
  7. (clone $obj)->b[0](1);
  8. [0, 1][0] = 1;
  9. -----
  10. array(
  11. 0: Stmt_Expression(
  12. expr: Expr_MethodCall(
  13. var: Scalar_String(
  14. value: string
  15. )
  16. name: Identifier(
  17. name: length
  18. )
  19. args: array(
  20. )
  21. )
  22. )
  23. 1: Stmt_Expression(
  24. expr: Expr_ArrayDimFetch(
  25. var: Scalar_InterpolatedString(
  26. parts: array(
  27. 0: InterpolatedStringPart(
  28. value: foo
  29. )
  30. 1: Expr_Variable(
  31. name: bar
  32. )
  33. )
  34. )
  35. dim: Scalar_Int(
  36. value: 0
  37. )
  38. )
  39. )
  40. 2: Stmt_Expression(
  41. expr: Expr_MethodCall(
  42. var: Scalar_InterpolatedString(
  43. parts: array(
  44. 0: InterpolatedStringPart(
  45. value: foo
  46. )
  47. 1: Expr_Variable(
  48. name: bar
  49. )
  50. )
  51. )
  52. name: Identifier(
  53. name: length
  54. )
  55. args: array(
  56. )
  57. )
  58. )
  59. 3: Stmt_Expression(
  60. expr: Expr_FuncCall(
  61. name: Expr_ArrayDimFetch(
  62. var: Expr_PropertyFetch(
  63. var: Expr_Clone(
  64. expr: Expr_Variable(
  65. name: obj
  66. )
  67. )
  68. name: Identifier(
  69. name: b
  70. )
  71. )
  72. dim: Scalar_Int(
  73. value: 0
  74. )
  75. )
  76. args: array(
  77. 0: Arg(
  78. name: null
  79. value: Scalar_Int(
  80. value: 1
  81. )
  82. byRef: false
  83. unpack: false
  84. )
  85. )
  86. )
  87. )
  88. 4: Stmt_Expression(
  89. expr: Expr_Assign(
  90. var: Expr_ArrayDimFetch(
  91. var: Expr_Array(
  92. items: array(
  93. 0: ArrayItem(
  94. key: null
  95. value: Scalar_Int(
  96. value: 0
  97. )
  98. byRef: false
  99. unpack: false
  100. )
  101. 1: ArrayItem(
  102. key: null
  103. value: Scalar_Int(
  104. value: 1
  105. )
  106. byRef: false
  107. unpack: false
  108. )
  109. )
  110. )
  111. dim: Scalar_Int(
  112. value: 0
  113. )
  114. )
  115. expr: Scalar_Int(
  116. value: 1
  117. )
  118. )
  119. )
  120. )