Security update for Core, with self-updated composer
[yaffs-website] / vendor / nikic / php-parser / test / code / parser / stmt / class / trait.test
diff --git a/vendor/nikic/php-parser/test/code/parser/stmt/class/trait.test b/vendor/nikic/php-parser/test/code/parser/stmt/class/trait.test
new file mode 100644 (file)
index 0000000..75c6ec6
--- /dev/null
@@ -0,0 +1,160 @@
+Traits
+-----
+<?php
+
+trait A {
+    public function a() {}
+}
+
+class B {
+    use C;
+    use D {
+        a as protected b;
+        c as d;
+        e as private;
+    }
+    use E, F, G {
+        E::a insteadof F, G;
+        E::b as protected c;
+        E::d as e;
+        E::f as private;
+    }
+}
+-----
+array(
+    0: Stmt_Trait(
+        name: A
+        stmts: array(
+            0: Stmt_ClassMethod(
+                flags: MODIFIER_PUBLIC (1)
+                byRef: false
+                name: a
+                params: array(
+                )
+                returnType: null
+                stmts: array(
+                )
+            )
+        )
+    )
+    1: Stmt_Class(
+        flags: 0
+        name: B
+        extends: null
+        implements: array(
+        )
+        stmts: array(
+            0: Stmt_TraitUse(
+                traits: array(
+                    0: Name(
+                        parts: array(
+                            0: C
+                        )
+                    )
+                )
+                adaptations: array(
+                )
+            )
+            1: Stmt_TraitUse(
+                traits: array(
+                    0: Name(
+                        parts: array(
+                            0: D
+                        )
+                    )
+                )
+                adaptations: array(
+                    0: Stmt_TraitUseAdaptation_Alias(
+                        trait: null
+                        method: a
+                        newModifier: MODIFIER_PROTECTED (2)
+                        newName: b
+                    )
+                    1: Stmt_TraitUseAdaptation_Alias(
+                        trait: null
+                        method: c
+                        newModifier: null
+                        newName: d
+                    )
+                    2: Stmt_TraitUseAdaptation_Alias(
+                        trait: null
+                        method: e
+                        newModifier: MODIFIER_PRIVATE (4)
+                        newName: null
+                    )
+                )
+            )
+            2: Stmt_TraitUse(
+                traits: array(
+                    0: Name(
+                        parts: array(
+                            0: E
+                        )
+                    )
+                    1: Name(
+                        parts: array(
+                            0: F
+                        )
+                    )
+                    2: Name(
+                        parts: array(
+                            0: G
+                        )
+                    )
+                )
+                adaptations: array(
+                    0: Stmt_TraitUseAdaptation_Precedence(
+                        trait: Name(
+                            parts: array(
+                                0: E
+                            )
+                        )
+                        method: a
+                        insteadof: array(
+                            0: Name(
+                                parts: array(
+                                    0: F
+                                )
+                            )
+                            1: Name(
+                                parts: array(
+                                    0: G
+                                )
+                            )
+                        )
+                    )
+                    1: Stmt_TraitUseAdaptation_Alias(
+                        trait: Name(
+                            parts: array(
+                                0: E
+                            )
+                        )
+                        method: b
+                        newModifier: MODIFIER_PROTECTED (2)
+                        newName: c
+                    )
+                    2: Stmt_TraitUseAdaptation_Alias(
+                        trait: Name(
+                            parts: array(
+                                0: E
+                            )
+                        )
+                        method: d
+                        newModifier: null
+                        newName: e
+                    )
+                    3: Stmt_TraitUseAdaptation_Alias(
+                        trait: Name(
+                            parts: array(
+                                0: E
+                            )
+                        )
+                        method: f
+                        newModifier: MODIFIER_PRIVATE (4)
+                        newName: null
+                    )
+                )
+            )
+        )
+    )
+)
\ No newline at end of file