@@ -19,6 +19,7 @@ const zend_ast_kind ast_kinds[] = {
19
19
ZEND_AST_TRAIT_ADAPTATIONS ,
20
20
ZEND_AST_USE ,
21
21
ZEND_AST_TYPE_UNION ,
22
+ ZEND_AST_ATTRIBUTE_LIST ,
22
23
AST_NAME ,
23
24
AST_CLOSURE_VAR ,
24
25
AST_NULLABLE_TYPE ,
@@ -58,6 +59,7 @@ const zend_ast_kind ast_kinds[] = {
58
59
ZEND_AST_BREAK ,
59
60
ZEND_AST_CONTINUE ,
60
61
ZEND_AST_CLASS_NAME ,
62
+ ZEND_AST_CLASS_CONST_GROUP ,
61
63
ZEND_AST_DIM ,
62
64
ZEND_AST_PROP ,
63
65
ZEND_AST_STATIC_PROP ,
@@ -88,14 +90,15 @@ const zend_ast_kind ast_kinds[] = {
88
90
ZEND_AST_USE_ELEM ,
89
91
ZEND_AST_TRAIT_ALIAS ,
90
92
ZEND_AST_GROUP_USE ,
93
+ ZEND_AST_ATTRIBUTE ,
91
94
ZEND_AST_METHOD_CALL ,
92
95
ZEND_AST_STATIC_CALL ,
93
96
ZEND_AST_CONDITIONAL ,
94
97
ZEND_AST_TRY ,
95
98
ZEND_AST_CATCH ,
96
- ZEND_AST_PARAM ,
97
99
ZEND_AST_FOR ,
98
100
ZEND_AST_FOREACH ,
101
+ ZEND_AST_PARAM ,
99
102
};
100
103
101
104
const size_t ast_kinds_count = sizeof (ast_kinds ) / sizeof (ast_kinds [0 ]);
@@ -120,6 +123,7 @@ const char *ast_kind_to_name(zend_ast_kind kind) {
120
123
case ZEND_AST_TRAIT_ADAPTATIONS : return "AST_TRAIT_ADAPTATIONS" ;
121
124
case ZEND_AST_USE : return "AST_USE" ;
122
125
case ZEND_AST_TYPE_UNION : return "AST_TYPE_UNION" ;
126
+ case ZEND_AST_ATTRIBUTE_LIST : return "AST_ATTRIBUTE_LIST" ;
123
127
case AST_NAME : return "AST_NAME" ;
124
128
case AST_CLOSURE_VAR : return "AST_CLOSURE_VAR" ;
125
129
case AST_NULLABLE_TYPE : return "AST_NULLABLE_TYPE" ;
@@ -159,6 +163,7 @@ const char *ast_kind_to_name(zend_ast_kind kind) {
159
163
case ZEND_AST_BREAK : return "AST_BREAK" ;
160
164
case ZEND_AST_CONTINUE : return "AST_CONTINUE" ;
161
165
case ZEND_AST_CLASS_NAME : return "AST_CLASS_NAME" ;
166
+ case ZEND_AST_CLASS_CONST_GROUP : return "AST_CLASS_CONST_GROUP" ;
162
167
case ZEND_AST_DIM : return "AST_DIM" ;
163
168
case ZEND_AST_PROP : return "AST_PROP" ;
164
169
case ZEND_AST_STATIC_PROP : return "AST_STATIC_PROP" ;
@@ -189,14 +194,15 @@ const char *ast_kind_to_name(zend_ast_kind kind) {
189
194
case ZEND_AST_USE_ELEM : return "AST_USE_ELEM" ;
190
195
case ZEND_AST_TRAIT_ALIAS : return "AST_TRAIT_ALIAS" ;
191
196
case ZEND_AST_GROUP_USE : return "AST_GROUP_USE" ;
197
+ case ZEND_AST_ATTRIBUTE : return "AST_ATTRIBUTE" ;
192
198
case ZEND_AST_METHOD_CALL : return "AST_METHOD_CALL" ;
193
199
case ZEND_AST_STATIC_CALL : return "AST_STATIC_CALL" ;
194
200
case ZEND_AST_CONDITIONAL : return "AST_CONDITIONAL" ;
195
201
case ZEND_AST_TRY : return "AST_TRY" ;
196
202
case ZEND_AST_CATCH : return "AST_CATCH" ;
197
- case ZEND_AST_PARAM : return "AST_PARAM" ;
198
203
case ZEND_AST_FOR : return "AST_FOR" ;
199
204
case ZEND_AST_FOREACH : return "AST_FOREACH" ;
205
+ case ZEND_AST_PARAM : return "AST_PARAM" ;
200
206
}
201
207
202
208
return NULL ;
@@ -225,6 +231,7 @@ zend_string *ast_kind_child_name(zend_ast_kind kind, uint32_t child) {
225
231
case 1 : return AST_STR (str_uses );
226
232
case 2 : return AST_STR (str_stmts );
227
233
case 3 : return AST_STR (str_returnType );
234
+ case 4 : return AST_STR (str_attributes );
228
235
}
229
236
return NULL ;
230
237
case ZEND_AST_CLOSURE :
@@ -233,6 +240,7 @@ zend_string *ast_kind_child_name(zend_ast_kind kind, uint32_t child) {
233
240
case 1 : return AST_STR (str_uses );
234
241
case 2 : return AST_STR (str_stmts );
235
242
case 3 : return AST_STR (str_returnType );
243
+ case 4 : return AST_STR (str_attributes );
236
244
}
237
245
return NULL ;
238
246
case ZEND_AST_METHOD :
@@ -241,6 +249,7 @@ zend_string *ast_kind_child_name(zend_ast_kind kind, uint32_t child) {
241
249
case 1 : return AST_STR (str_uses );
242
250
case 2 : return AST_STR (str_stmts );
243
251
case 3 : return AST_STR (str_returnType );
252
+ case 4 : return AST_STR (str_attributes );
244
253
}
245
254
return NULL ;
246
255
case ZEND_AST_ARROW_FUNC :
@@ -249,6 +258,7 @@ zend_string *ast_kind_child_name(zend_ast_kind kind, uint32_t child) {
249
258
case 1 : return AST_STR (str_uses );
250
259
case 2 : return AST_STR (str_stmts );
251
260
case 3 : return AST_STR (str_returnType );
261
+ case 4 : return AST_STR (str_attributes );
252
262
}
253
263
return NULL ;
254
264
case ZEND_AST_CLASS :
@@ -407,6 +417,12 @@ zend_string *ast_kind_child_name(zend_ast_kind kind, uint32_t child) {
407
417
case 0 : return AST_STR (str_class );
408
418
}
409
419
return NULL ;
420
+ case ZEND_AST_CLASS_CONST_GROUP :
421
+ switch (child ) {
422
+ case 0 : return AST_STR (str_const );
423
+ case 1 : return AST_STR (str_attributes );
424
+ }
425
+ return NULL ;
410
426
case ZEND_AST_DIM :
411
427
switch (child ) {
412
428
case 0 : return AST_STR (str_expr );
@@ -589,6 +605,12 @@ zend_string *ast_kind_child_name(zend_ast_kind kind, uint32_t child) {
589
605
case 1 : return AST_STR (str_uses );
590
606
}
591
607
return NULL ;
608
+ case ZEND_AST_ATTRIBUTE :
609
+ switch (child ) {
610
+ case 0 : return AST_STR (str_class );
611
+ case 1 : return AST_STR (str_args );
612
+ }
613
+ return NULL ;
592
614
case ZEND_AST_METHOD_CALL :
593
615
switch (child ) {
594
616
case 0 : return AST_STR (str_expr );
@@ -624,13 +646,6 @@ zend_string *ast_kind_child_name(zend_ast_kind kind, uint32_t child) {
624
646
case 2 : return AST_STR (str_stmts );
625
647
}
626
648
return NULL ;
627
- case ZEND_AST_PARAM :
628
- switch (child ) {
629
- case 0 : return AST_STR (str_type );
630
- case 1 : return AST_STR (str_name );
631
- case 2 : return AST_STR (str_default );
632
- }
633
- return NULL ;
634
649
case ZEND_AST_FOR :
635
650
switch (child ) {
636
651
case 0 : return AST_STR (str_init );
@@ -647,6 +662,15 @@ zend_string *ast_kind_child_name(zend_ast_kind kind, uint32_t child) {
647
662
case 3 : return AST_STR (str_stmts );
648
663
}
649
664
return NULL ;
665
+ case ZEND_AST_PARAM :
666
+ switch (child ) {
667
+ case 0 : return AST_STR (str_type );
668
+ case 1 : return AST_STR (str_name );
669
+ case 2 : return AST_STR (str_default );
670
+ case 3 : return AST_STR (str_attributes );
671
+ case 4 : return AST_STR (str_docComment );
672
+ }
673
+ return NULL ;
650
674
}
651
675
652
676
return NULL ;
@@ -671,6 +695,7 @@ void ast_register_kind_constants(INIT_FUNC_ARGS) {
671
695
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_TRAIT_ADAPTATIONS" , ZEND_AST_TRAIT_ADAPTATIONS , CONST_CS | CONST_PERSISTENT );
672
696
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_USE" , ZEND_AST_USE , CONST_CS | CONST_PERSISTENT );
673
697
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_TYPE_UNION" , ZEND_AST_TYPE_UNION , CONST_CS | CONST_PERSISTENT );
698
+ REGISTER_NS_LONG_CONSTANT ("ast" , "AST_ATTRIBUTE_LIST" , ZEND_AST_ATTRIBUTE_LIST , CONST_CS | CONST_PERSISTENT );
674
699
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_NAME" , AST_NAME , CONST_CS | CONST_PERSISTENT );
675
700
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_CLOSURE_VAR" , AST_CLOSURE_VAR , CONST_CS | CONST_PERSISTENT );
676
701
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_NULLABLE_TYPE" , AST_NULLABLE_TYPE , CONST_CS | CONST_PERSISTENT );
@@ -710,6 +735,7 @@ void ast_register_kind_constants(INIT_FUNC_ARGS) {
710
735
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_BREAK" , ZEND_AST_BREAK , CONST_CS | CONST_PERSISTENT );
711
736
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_CONTINUE" , ZEND_AST_CONTINUE , CONST_CS | CONST_PERSISTENT );
712
737
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_CLASS_NAME" , ZEND_AST_CLASS_NAME , CONST_CS | CONST_PERSISTENT );
738
+ REGISTER_NS_LONG_CONSTANT ("ast" , "AST_CLASS_CONST_GROUP" , ZEND_AST_CLASS_CONST_GROUP , CONST_CS | CONST_PERSISTENT );
713
739
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_DIM" , ZEND_AST_DIM , CONST_CS | CONST_PERSISTENT );
714
740
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_PROP" , ZEND_AST_PROP , CONST_CS | CONST_PERSISTENT );
715
741
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_STATIC_PROP" , ZEND_AST_STATIC_PROP , CONST_CS | CONST_PERSISTENT );
@@ -740,12 +766,13 @@ void ast_register_kind_constants(INIT_FUNC_ARGS) {
740
766
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_USE_ELEM" , ZEND_AST_USE_ELEM , CONST_CS | CONST_PERSISTENT );
741
767
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_TRAIT_ALIAS" , ZEND_AST_TRAIT_ALIAS , CONST_CS | CONST_PERSISTENT );
742
768
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_GROUP_USE" , ZEND_AST_GROUP_USE , CONST_CS | CONST_PERSISTENT );
769
+ REGISTER_NS_LONG_CONSTANT ("ast" , "AST_ATTRIBUTE" , ZEND_AST_ATTRIBUTE , CONST_CS | CONST_PERSISTENT );
743
770
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_METHOD_CALL" , ZEND_AST_METHOD_CALL , CONST_CS | CONST_PERSISTENT );
744
771
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_STATIC_CALL" , ZEND_AST_STATIC_CALL , CONST_CS | CONST_PERSISTENT );
745
772
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_CONDITIONAL" , ZEND_AST_CONDITIONAL , CONST_CS | CONST_PERSISTENT );
746
773
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_TRY" , ZEND_AST_TRY , CONST_CS | CONST_PERSISTENT );
747
774
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_CATCH" , ZEND_AST_CATCH , CONST_CS | CONST_PERSISTENT );
748
- REGISTER_NS_LONG_CONSTANT ("ast" , "AST_PARAM" , ZEND_AST_PARAM , CONST_CS | CONST_PERSISTENT );
749
775
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_FOR" , ZEND_AST_FOR , CONST_CS | CONST_PERSISTENT );
750
776
REGISTER_NS_LONG_CONSTANT ("ast" , "AST_FOREACH" , ZEND_AST_FOREACH , CONST_CS | CONST_PERSISTENT );
777
+ REGISTER_NS_LONG_CONSTANT ("ast" , "AST_PARAM" , ZEND_AST_PARAM , CONST_CS | CONST_PERSISTENT );
751
778
}
0 commit comments