File tree Expand file tree Collapse file tree 4 files changed +62
-0
lines changed Expand file tree Collapse file tree 4 files changed +62
-0
lines changed Original file line number Diff line number Diff line change @@ -183,6 +183,7 @@ ast\flags\CLASS_ABSTRACT
183
183
ast\flags\CLASS_FINAL
184
184
ast\flags\CLASS_TRAIT
185
185
ast\flags\CLASS_INTERFACE
186
+ ast\flags\CLASS_ANONYMOUS
186
187
187
188
// Used by ast\AST_PARAM (exclusive)
188
189
ast\flags\PARAM_REF
Original file line number Diff line number Diff line change @@ -481,6 +481,7 @@ PHP_MINIT_FUNCTION(ast) {
481
481
ast_register_flag_constant ("CLASS_FINAL" , ZEND_ACC_FINAL );
482
482
ast_register_flag_constant ("CLASS_TRAIT" , ZEND_ACC_TRAIT );
483
483
ast_register_flag_constant ("CLASS_INTERFACE" , ZEND_ACC_INTERFACE );
484
+ ast_register_flag_constant ("CLASS_ANONYMOUS" , ZEND_ACC_ANON_CLASS );
484
485
485
486
ast_register_flag_constant ("PARAM_REF" , ZEND_PARAM_REF );
486
487
ast_register_flag_constant ("PARAM_VARIADIC" , ZEND_PARAM_VARIADIC );
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Different class types
3
+ --FILE--
4
+ <?php
5
+
6
+ require __DIR__ . '/../util.php ' ;
7
+
8
+ $ code = <<<'PHP'
9
+ <?php
10
+ class A {}
11
+ abstract class B {}
12
+ final class C {}
13
+ trait D {}
14
+ interface E {}
15
+ new class {};
16
+ PHP;
17
+
18
+ echo ast_dump (ast \parse_code ($ code , $ version =20 ));
19
+
20
+ ?>
21
+ --EXPECT--
22
+ AST_STMT_LIST
23
+ 0: AST_CLASS
24
+ flags: 0
25
+ name: A
26
+ 0: null
27
+ 1: null
28
+ 2: AST_STMT_LIST
29
+ 1: AST_CLASS
30
+ flags: CLASS_ABSTRACT (32)
31
+ name: B
32
+ 0: null
33
+ 1: null
34
+ 2: AST_STMT_LIST
35
+ 2: AST_CLASS
36
+ flags: CLASS_FINAL (4)
37
+ name: C
38
+ 0: null
39
+ 1: null
40
+ 2: AST_STMT_LIST
41
+ 3: AST_CLASS
42
+ flags: CLASS_TRAIT (128)
43
+ name: D
44
+ 0: null
45
+ 1: null
46
+ 2: AST_STMT_LIST
47
+ 4: AST_CLASS
48
+ flags: CLASS_INTERFACE (64)
49
+ name: E
50
+ 0: null
51
+ 1: null
52
+ 2: AST_STMT_LIST
53
+ 5: AST_NEW
54
+ 0: AST_CLASS
55
+ flags: CLASS_ANONYMOUS (256)
56
+ 0: null
57
+ 1: null
58
+ 2: AST_STMT_LIST
59
+ 1: AST_ARG_LIST
Original file line number Diff line number Diff line change @@ -60,6 +60,7 @@ function get_flag_info() : array {
60
60
flags \CLASS_FINAL => 'CLASS_FINAL ' ,
61
61
flags \CLASS_TRAIT => 'CLASS_TRAIT ' ,
62
62
flags \CLASS_INTERFACE => 'CLASS_INTERFACE ' ,
63
+ flags \CLASS_ANONYMOUS => 'CLASS_ANONYMOUS ' ,
63
64
],
64
65
ast \AST_PARAM => [
65
66
flags \PARAM_REF => 'PARAM_REF ' ,
You can’t perform that action at this time.
0 commit comments