Security update for Core, with self-updated composer
[yaffs-website] / vendor / nikic / php-parser / test / code / parser / expr / uvs / misc.test
diff --git a/vendor/nikic/php-parser/test/code/parser/expr/uvs/misc.test b/vendor/nikic/php-parser/test/code/parser/expr/uvs/misc.test
new file mode 100644 (file)
index 0000000..2c5ba90
--- /dev/null
@@ -0,0 +1,109 @@
+Uniform variable syntax in PHP 7 (misc)
+-----
+<?php
+
+A::A[0];
+A::A[0][1][2];
+"string"->length();
+(clone $obj)->b[0](1);
+[0, 1][0] = 1;
+-----
+!!php7
+array(
+    0: Expr_ArrayDimFetch(
+        var: Expr_ClassConstFetch(
+            class: Name(
+                parts: array(
+                    0: A
+                )
+            )
+            name: A
+        )
+        dim: Scalar_LNumber(
+            value: 0
+        )
+    )
+    1: Expr_ArrayDimFetch(
+        var: Expr_ArrayDimFetch(
+            var: Expr_ArrayDimFetch(
+                var: Expr_ClassConstFetch(
+                    class: Name(
+                        parts: array(
+                            0: A
+                        )
+                    )
+                    name: A
+                )
+                dim: Scalar_LNumber(
+                    value: 0
+                )
+            )
+            dim: Scalar_LNumber(
+                value: 1
+            )
+        )
+        dim: Scalar_LNumber(
+            value: 2
+        )
+    )
+    2: Expr_MethodCall(
+        var: Scalar_String(
+            value: string
+        )
+        name: length
+        args: array(
+        )
+    )
+    3: Expr_FuncCall(
+        name: Expr_ArrayDimFetch(
+            var: Expr_PropertyFetch(
+                var: Expr_Clone(
+                    expr: Expr_Variable(
+                        name: obj
+                    )
+                )
+                name: b
+            )
+            dim: Scalar_LNumber(
+                value: 0
+            )
+        )
+        args: array(
+            0: Arg(
+                value: Scalar_LNumber(
+                    value: 1
+                )
+                byRef: false
+                unpack: false
+            )
+        )
+    )
+    4: Expr_Assign(
+        var: Expr_ArrayDimFetch(
+            var: Expr_Array(
+                items: array(
+                    0: Expr_ArrayItem(
+                        key: null
+                        value: Scalar_LNumber(
+                            value: 0
+                        )
+                        byRef: false
+                    )
+                    1: Expr_ArrayItem(
+                        key: null
+                        value: Scalar_LNumber(
+                            value: 1
+                        )
+                        byRef: false
+                    )
+                )
+            )
+            dim: Scalar_LNumber(
+                value: 0
+            )
+        )
+        expr: Scalar_LNumber(
+            value: 1
+        )
+    )
+)