misc.test 3.1 KB

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