diff options
Diffstat (limited to 'vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/constantDeref.test')
-rw-r--r-- | vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/constantDeref.test | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/constantDeref.test b/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/constantDeref.test new file mode 100644 index 0000000..682f780 --- /dev/null +++ b/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/constantDeref.test @@ -0,0 +1,231 @@ +Array/string dereferencing +----- +<?php + +"abc"[2]; +"abc"[2][0][0]; + +[1, 2, 3][2]; +[1, 2, 3][2][0][0]; + +array(1, 2, 3)[2]; +array(1, 2, 3)[2][0][0]; + +FOO[0]; +Foo::BAR[1]; +$foo::BAR[2][1][0]; +----- +array( + 0: Expr_ArrayDimFetch( + var: Scalar_String( + value: abc + ) + dim: Scalar_LNumber( + value: 2 + ) + ) + 1: Expr_ArrayDimFetch( + var: Expr_ArrayDimFetch( + var: Expr_ArrayDimFetch( + var: Scalar_String( + value: abc + ) + dim: Scalar_LNumber( + value: 2 + ) + ) + dim: Scalar_LNumber( + value: 0 + ) + ) + dim: Scalar_LNumber( + value: 0 + ) + ) + 2: Expr_ArrayDimFetch( + var: Expr_Array( + items: array( + 0: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 1 + ) + byRef: false + ) + 1: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 2 + ) + byRef: false + ) + 2: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 3 + ) + byRef: false + ) + ) + ) + dim: Scalar_LNumber( + value: 2 + ) + ) + 3: Expr_ArrayDimFetch( + var: Expr_ArrayDimFetch( + var: Expr_ArrayDimFetch( + var: Expr_Array( + items: array( + 0: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 1 + ) + byRef: false + ) + 1: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 2 + ) + byRef: false + ) + 2: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 3 + ) + byRef: false + ) + ) + ) + dim: Scalar_LNumber( + value: 2 + ) + ) + dim: Scalar_LNumber( + value: 0 + ) + ) + dim: Scalar_LNumber( + value: 0 + ) + ) + 4: Expr_ArrayDimFetch( + var: Expr_Array( + items: array( + 0: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 1 + ) + byRef: false + ) + 1: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 2 + ) + byRef: false + ) + 2: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 3 + ) + byRef: false + ) + ) + ) + dim: Scalar_LNumber( + value: 2 + ) + ) + 5: Expr_ArrayDimFetch( + var: Expr_ArrayDimFetch( + var: Expr_ArrayDimFetch( + var: Expr_Array( + items: array( + 0: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 1 + ) + byRef: false + ) + 1: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 2 + ) + byRef: false + ) + 2: Expr_ArrayItem( + key: null + value: Scalar_LNumber( + value: 3 + ) + byRef: false + ) + ) + ) + dim: Scalar_LNumber( + value: 2 + ) + ) + dim: Scalar_LNumber( + value: 0 + ) + ) + dim: Scalar_LNumber( + value: 0 + ) + ) + 6: Expr_ArrayDimFetch( + var: Expr_ConstFetch( + name: Name( + parts: array( + 0: FOO + ) + ) + ) + dim: Scalar_LNumber( + value: 0 + ) + ) + 7: Expr_ArrayDimFetch( + var: Expr_ClassConstFetch( + class: Name( + parts: array( + 0: Foo + ) + ) + name: BAR + ) + dim: Scalar_LNumber( + value: 1 + ) + ) + 8: Expr_ArrayDimFetch( + var: Expr_ArrayDimFetch( + var: Expr_ArrayDimFetch( + var: Expr_ClassConstFetch( + class: Expr_Variable( + name: foo + ) + name: BAR + ) + dim: Scalar_LNumber( + value: 2 + ) + ) + dim: Scalar_LNumber( + value: 1 + ) + ) + dim: Scalar_LNumber( + value: 0 + ) + ) +)
\ No newline at end of file |