newDeref.test 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. New expression dereferencing
  2. -----
  3. <?php
  4. (new A)->b;
  5. (new A)->b();
  6. (new A)['b'];
  7. (new A)['b']['c'];
  8. -----
  9. array(
  10. 0: Expr_PropertyFetch(
  11. var: Expr_New(
  12. class: Name(
  13. parts: array(
  14. 0: A
  15. )
  16. )
  17. args: array(
  18. )
  19. )
  20. name: b
  21. )
  22. 1: Expr_MethodCall(
  23. var: Expr_New(
  24. class: Name(
  25. parts: array(
  26. 0: A
  27. )
  28. )
  29. args: array(
  30. )
  31. )
  32. name: b
  33. args: array(
  34. )
  35. )
  36. 2: Expr_ArrayDimFetch(
  37. var: Expr_New(
  38. class: Name(
  39. parts: array(
  40. 0: A
  41. )
  42. )
  43. args: array(
  44. )
  45. )
  46. dim: Scalar_String(
  47. value: b
  48. )
  49. )
  50. 3: Expr_ArrayDimFetch(
  51. var: Expr_ArrayDimFetch(
  52. var: Expr_New(
  53. class: Name(
  54. parts: array(
  55. 0: A
  56. )
  57. )
  58. args: array(
  59. )
  60. )
  61. dim: Scalar_String(
  62. value: b
  63. )
  64. )
  65. dim: Scalar_String(
  66. value: c
  67. )
  68. )
  69. )