1--TEST-- 2Test parse and dump of class 3--FILE-- 4<?php 5 6require __DIR__ . '/../util.php'; 7 8$code = <<<'PHP' 9<?php 10class A extends B implements D, E { 11 use T, S; 12 const X = 'Y', Y = 'X'; 13 public $foo, $bar; 14 abstract function test(); 15} 16PHP; 17 18echo ast_dump(ast\parse_code($code, $version=60)), "\n"; 19echo ast_dump(ast\parse_code($code, $version=70)), "\n"; 20 21?> 22--EXPECTF-- 23Deprecated: ast\parse_code(): Version 60 is deprecated in %sclass.php on line 15 24AST_STMT_LIST 25 0: AST_CLASS 26 name: "A" 27 docComment: null 28 extends: AST_NAME 29 flags: NAME_NOT_FQ (%d) 30 name: "B" 31 implements: AST_NAME_LIST 32 0: AST_NAME 33 flags: NAME_NOT_FQ (%d) 34 name: "D" 35 1: AST_NAME 36 flags: NAME_NOT_FQ (%d) 37 name: "E" 38 stmts: AST_STMT_LIST 39 0: AST_USE_TRAIT 40 traits: AST_NAME_LIST 41 0: AST_NAME 42 flags: NAME_NOT_FQ (%d) 43 name: "T" 44 1: AST_NAME 45 flags: NAME_NOT_FQ (%d) 46 name: "S" 47 adaptations: null 48 1: AST_CLASS_CONST_DECL 49 flags: MODIFIER_PUBLIC (%d) 50 0: AST_CONST_ELEM 51 name: "X" 52 value: "Y" 53 docComment: null 54 1: AST_CONST_ELEM 55 name: "Y" 56 value: "X" 57 docComment: null 58 2: AST_PROP_DECL 59 flags: MODIFIER_PUBLIC (%d) 60 0: AST_PROP_ELEM 61 name: "foo" 62 default: null 63 docComment: null 64 1: AST_PROP_ELEM 65 name: "bar" 66 default: null 67 docComment: null 68 3: AST_METHOD 69 flags: MODIFIER_PUBLIC | MODIFIER_ABSTRACT (%d) 70 name: "test" 71 docComment: null 72 params: AST_PARAM_LIST 73 stmts: null 74 returnType: null 75 __declId: 0 76 __declId: 1 77AST_STMT_LIST 78 0: AST_CLASS 79 name: "A" 80 docComment: null 81 extends: AST_NAME 82 flags: NAME_NOT_FQ (%d) 83 name: "B" 84 implements: AST_NAME_LIST 85 0: AST_NAME 86 flags: NAME_NOT_FQ (%d) 87 name: "D" 88 1: AST_NAME 89 flags: NAME_NOT_FQ (%d) 90 name: "E" 91 stmts: AST_STMT_LIST 92 0: AST_USE_TRAIT 93 traits: AST_NAME_LIST 94 0: AST_NAME 95 flags: NAME_NOT_FQ (%d) 96 name: "T" 97 1: AST_NAME 98 flags: NAME_NOT_FQ (%d) 99 name: "S" 100 adaptations: null 101 1: AST_CLASS_CONST_DECL 102 flags: MODIFIER_PUBLIC (%d) 103 0: AST_CONST_ELEM 104 name: "X" 105 value: "Y" 106 docComment: null 107 1: AST_CONST_ELEM 108 name: "Y" 109 value: "X" 110 docComment: null 111 2: AST_PROP_GROUP 112 flags: MODIFIER_PUBLIC (%d) 113 type: null 114 props: AST_PROP_DECL 115 0: AST_PROP_ELEM 116 name: "foo" 117 default: null 118 docComment: null 119 1: AST_PROP_ELEM 120 name: "bar" 121 default: null 122 docComment: null 123 3: AST_METHOD 124 flags: MODIFIER_PUBLIC | MODIFIER_ABSTRACT (%d) 125 name: "test" 126 docComment: null 127 params: AST_PARAM_LIST 128 stmts: null 129 returnType: null 130 __declId: 0 131 __declId: 1