1[
2 {
3 "type": "expression",
4 "named": true,
5 "subtypes": [
6 {
7 "type": "assignment_expression",
8 "named": true
9 },
10 {
11 "type": "augmented_assignment_expression",
12 "named": true
13 },
14 {
15 "type": "binary_expression",
16 "named": true
17 },
18 {
19 "type": "cast_expression",
20 "named": true
21 },
22 {
23 "type": "clone_expression",
24 "named": true
25 },
26 {
27 "type": "conditional_expression",
28 "named": true
29 },
30 {
31 "type": "error_suppression_expression",
32 "named": true
33 },
34 {
35 "type": "include_expression",
36 "named": true
37 },
38 {
39 "type": "include_once_expression",
40 "named": true
41 },
42 {
43 "type": "match_expression",
44 "named": true
45 },
46 {
47 "type": "primary_expression",
48 "named": true
49 },
50 {
51 "type": "reference_assignment_expression",
52 "named": true
53 },
54 {
55 "type": "require_expression",
56 "named": true
57 },
58 {
59 "type": "require_once_expression",
60 "named": true
61 },
62 {
63 "type": "unary_op_expression",
64 "named": true
65 },
66 {
67 "type": "yield_expression",
68 "named": true
69 }
70 ]
71 },
72 {
73 "type": "literal",
74 "named": true,
75 "subtypes": [
76 {
77 "type": "boolean",
78 "named": true
79 },
80 {
81 "type": "encapsed_string",
82 "named": true
83 },
84 {
85 "type": "float",
86 "named": true
87 },
88 {
89 "type": "heredoc",
90 "named": true
91 },
92 {
93 "type": "integer",
94 "named": true
95 },
96 {
97 "type": "nowdoc",
98 "named": true
99 },
100 {
101 "type": "null",
102 "named": true
103 },
104 {
105 "type": "string",
106 "named": true
107 }
108 ]
109 },
110 {
111 "type": "primary_expression",
112 "named": true,
113 "subtypes": [
114 {
115 "type": "anonymous_function",
116 "named": true
117 },
118 {
119 "type": "array_creation_expression",
120 "named": true
121 },
122 {
123 "type": "arrow_function",
124 "named": true
125 },
126 {
127 "type": "cast_expression",
128 "named": true
129 },
130 {
131 "type": "class_constant_access_expression",
132 "named": true
133 },
134 {
135 "type": "dynamic_variable_name",
136 "named": true
137 },
138 {
139 "type": "function_call_expression",
140 "named": true
141 },
142 {
143 "type": "literal",
144 "named": true
145 },
146 {
147 "type": "member_access_expression",
148 "named": true
149 },
150 {
151 "type": "member_call_expression",
152 "named": true
153 },
154 {
155 "type": "name",
156 "named": true
157 },
158 {
159 "type": "nullsafe_member_access_expression",
160 "named": true
161 },
162 {
163 "type": "nullsafe_member_call_expression",
164 "named": true
165 },
166 {
167 "type": "object_creation_expression",
168 "named": true
169 },
170 {
171 "type": "parenthesized_expression",
172 "named": true
173 },
174 {
175 "type": "print_intrinsic",
176 "named": true
177 },
178 {
179 "type": "qualified_name",
180 "named": true
181 },
182 {
183 "type": "scoped_call_expression",
184 "named": true
185 },
186 {
187 "type": "scoped_property_access_expression",
188 "named": true
189 },
190 {
191 "type": "shell_command_expression",
192 "named": true
193 },
194 {
195 "type": "subscript_expression",
196 "named": true
197 },
198 {
199 "type": "throw_expression",
200 "named": true
201 },
202 {
203 "type": "update_expression",
204 "named": true
205 },
206 {
207 "type": "variable_name",
208 "named": true
209 }
210 ]
211 },
212 {
213 "type": "statement",
214 "named": true,
215 "subtypes": [
216 {
217 "type": "break_statement",
218 "named": true
219 },
220 {
221 "type": "class_declaration",
222 "named": true
223 },
224 {
225 "type": "compound_statement",
226 "named": true
227 },
228 {
229 "type": "const_declaration",
230 "named": true
231 },
232 {
233 "type": "continue_statement",
234 "named": true
235 },
236 {
237 "type": "declare_statement",
238 "named": true
239 },
240 {
241 "type": "do_statement",
242 "named": true
243 },
244 {
245 "type": "echo_statement",
246 "named": true
247 },
248 {
249 "type": "empty_statement",
250 "named": true
251 },
252 {
253 "type": "enum_declaration",
254 "named": true
255 },
256 {
257 "type": "exit_statement",
258 "named": true
259 },
260 {
261 "type": "expression_statement",
262 "named": true
263 },
264 {
265 "type": "for_statement",
266 "named": true
267 },
268 {
269 "type": "foreach_statement",
270 "named": true
271 },
272 {
273 "type": "function_definition",
274 "named": true
275 },
276 {
277 "type": "function_static_declaration",
278 "named": true
279 },
280 {
281 "type": "global_declaration",
282 "named": true
283 },
284 {
285 "type": "goto_statement",
286 "named": true
287 },
288 {
289 "type": "if_statement",
290 "named": true
291 },
292 {
293 "type": "interface_declaration",
294 "named": true
295 },
296 {
297 "type": "named_label_statement",
298 "named": true
299 },
300 {
301 "type": "namespace_definition",
302 "named": true
303 },
304 {
305 "type": "namespace_use_declaration",
306 "named": true
307 },
308 {
309 "type": "return_statement",
310 "named": true
311 },
312 {
313 "type": "switch_statement",
314 "named": true
315 },
316 {
317 "type": "trait_declaration",
318 "named": true
319 },
320 {
321 "type": "try_statement",
322 "named": true
323 },
324 {
325 "type": "unset_statement",
326 "named": true
327 },
328 {
329 "type": "while_statement",
330 "named": true
331 }
332 ]
333 },
334 {
335 "type": "type",
336 "named": true,
337 "subtypes": [
338 {
339 "type": "disjunctive_normal_form_type",
340 "named": true
341 },
342 {
343 "type": "intersection_type",
344 "named": true
345 },
346 {
347 "type": "named_type",
348 "named": true
349 },
350 {
351 "type": "optional_type",
352 "named": true
353 },
354 {
355 "type": "primitive_type",
356 "named": true
357 },
358 {
359 "type": "union_type",
360 "named": true
361 }
362 ]
363 },
364 {
365 "type": "abstract_modifier",
366 "named": true,
367 "fields": {}
368 },
369 {
370 "type": "anonymous_class",
371 "named": true,
372 "fields": {
373 "attributes": {
374 "multiple": false,
375 "required": false,
376 "types": [
377 {
378 "type": "attribute_list",
379 "named": true
380 }
381 ]
382 },
383 "body": {
384 "multiple": false,
385 "required": true,
386 "types": [
387 {
388 "type": "declaration_list",
389 "named": true
390 }
391 ]
392 }
393 },
394 "children": {
395 "multiple": true,
396 "required": false,
397 "types": [
398 {
399 "type": "abstract_modifier",
400 "named": true
401 },
402 {
403 "type": "arguments",
404 "named": true
405 },
406 {
407 "type": "base_clause",
408 "named": true
409 },
410 {
411 "type": "class_interface_clause",
412 "named": true
413 },
414 {
415 "type": "final_modifier",
416 "named": true
417 },
418 {
419 "type": "readonly_modifier",
420 "named": true
421 },
422 {
423 "type": "static_modifier",
424 "named": true
425 },
426 {
427 "type": "var_modifier",
428 "named": true
429 },
430 {
431 "type": "visibility_modifier",
432 "named": true
433 }
434 ]
435 }
436 },
437 {
438 "type": "anonymous_function",
439 "named": true,
440 "fields": {
441 "attributes": {
442 "multiple": false,
443 "required": false,
444 "types": [
445 {
446 "type": "attribute_list",
447 "named": true
448 }
449 ]
450 },
451 "body": {
452 "multiple": false,
453 "required": true,
454 "types": [
455 {
456 "type": "compound_statement",
457 "named": true
458 }
459 ]
460 },
461 "parameters": {
462 "multiple": false,
463 "required": true,
464 "types": [
465 {
466 "type": "formal_parameters",
467 "named": true
468 }
469 ]
470 },
471 "reference_modifier": {
472 "multiple": false,
473 "required": false,
474 "types": [
475 {
476 "type": "reference_modifier",
477 "named": true
478 }
479 ]
480 },
481 "return_type": {
482 "multiple": false,
483 "required": false,
484 "types": [
485 {
486 "type": "bottom_type",
487 "named": true
488 },
489 {
490 "type": "type",
491 "named": true
492 }
493 ]
494 },
495 "static_modifier": {
496 "multiple": false,
497 "required": false,
498 "types": [
499 {
500 "type": "static_modifier",
501 "named": true
502 }
503 ]
504 }
505 },
506 "children": {
507 "multiple": false,
508 "required": false,
509 "types": [
510 {
511 "type": "anonymous_function_use_clause",
512 "named": true
513 }
514 ]
515 }
516 },
517 {
518 "type": "anonymous_function_use_clause",
519 "named": true,
520 "fields": {},
521 "children": {
522 "multiple": true,
523 "required": true,
524 "types": [
525 {
526 "type": "by_ref",
527 "named": true
528 },
529 {
530 "type": "variable_name",
531 "named": true
532 }
533 ]
534 }
535 },
536 {
537 "type": "argument",
538 "named": true,
539 "fields": {
540 "name": {
541 "multiple": false,
542 "required": false,
543 "types": [
544 {
545 "type": "name",
546 "named": true
547 }
548 ]
549 },
550 "reference_modifier": {
551 "multiple": false,
552 "required": false,
553 "types": [
554 {
555 "type": "reference_modifier",
556 "named": true
557 }
558 ]
559 }
560 },
561 "children": {
562 "multiple": false,
563 "required": true,
564 "types": [
565 {
566 "type": "expression",
567 "named": true
568 },
569 {
570 "type": "name",
571 "named": true
572 },
573 {
574 "type": "variadic_unpacking",
575 "named": true
576 }
577 ]
578 }
579 },
580 {
581 "type": "arguments",
582 "named": true,
583 "fields": {},
584 "children": {
585 "multiple": true,
586 "required": false,
587 "types": [
588 {
589 "type": "argument",
590 "named": true
591 },
592 {
593 "type": "variadic_placeholder",
594 "named": true
595 }
596 ]
597 }
598 },
599 {
600 "type": "array_creation_expression",
601 "named": true,
602 "fields": {},
603 "children": {
604 "multiple": true,
605 "required": false,
606 "types": [
607 {
608 "type": "array_element_initializer",
609 "named": true
610 }
611 ]
612 }
613 },
614 {
615 "type": "array_element_initializer",
616 "named": true,
617 "fields": {},
618 "children": {
619 "multiple": true,
620 "required": true,
621 "types": [
622 {
623 "type": "by_ref",
624 "named": true
625 },
626 {
627 "type": "expression",
628 "named": true
629 },
630 {
631 "type": "variadic_unpacking",
632 "named": true
633 }
634 ]
635 }
636 },
637 {
638 "type": "arrow_function",
639 "named": true,
640 "fields": {
641 "attributes": {
642 "multiple": false,
643 "required": false,
644 "types": [
645 {
646 "type": "attribute_list",
647 "named": true
648 }
649 ]
650 },
651 "body": {
652 "multiple": false,
653 "required": true,
654 "types": [
655 {
656 "type": "expression",
657 "named": true
658 }
659 ]
660 },
661 "parameters": {
662 "multiple": false,
663 "required": true,
664 "types": [
665 {
666 "type": "formal_parameters",
667 "named": true
668 }
669 ]
670 },
671 "reference_modifier": {
672 "multiple": false,
673 "required": false,
674 "types": [
675 {
676 "type": "reference_modifier",
677 "named": true
678 }
679 ]
680 },
681 "return_type": {
682 "multiple": false,
683 "required": false,
684 "types": [
685 {
686 "type": "bottom_type",
687 "named": true
688 },
689 {
690 "type": "type",
691 "named": true
692 }
693 ]
694 },
695 "static_modifier": {
696 "multiple": false,
697 "required": false,
698 "types": [
699 {
700 "type": "static_modifier",
701 "named": true
702 }
703 ]
704 }
705 }
706 },
707 {
708 "type": "assignment_expression",
709 "named": true,
710 "fields": {
711 "left": {
712 "multiple": false,
713 "required": true,
714 "types": [
715 {
716 "type": "cast_expression",
717 "named": true
718 },
719 {
720 "type": "dynamic_variable_name",
721 "named": true
722 },
723 {
724 "type": "function_call_expression",
725 "named": true
726 },
727 {
728 "type": "list_literal",
729 "named": true
730 },
731 {
732 "type": "member_access_expression",
733 "named": true
734 },
735 {
736 "type": "member_call_expression",
737 "named": true
738 },
739 {
740 "type": "nullsafe_member_access_expression",
741 "named": true
742 },
743 {
744 "type": "nullsafe_member_call_expression",
745 "named": true
746 },
747 {
748 "type": "scoped_call_expression",
749 "named": true
750 },
751 {
752 "type": "scoped_property_access_expression",
753 "named": true
754 },
755 {
756 "type": "subscript_expression",
757 "named": true
758 },
759 {
760 "type": "variable_name",
761 "named": true
762 }
763 ]
764 },
765 "right": {
766 "multiple": false,
767 "required": true,
768 "types": [
769 {
770 "type": "expression",
771 "named": true
772 }
773 ]
774 }
775 }
776 },
777 {
778 "type": "attribute",
779 "named": true,
780 "fields": {
781 "parameters": {
782 "multiple": false,
783 "required": false,
784 "types": [
785 {
786 "type": "arguments",
787 "named": true
788 }
789 ]
790 }
791 },
792 "children": {
793 "multiple": false,
794 "required": true,
795 "types": [
796 {
797 "type": "name",
798 "named": true
799 },
800 {
801 "type": "qualified_name",
802 "named": true
803 }
804 ]
805 }
806 },
807 {
808 "type": "attribute_group",
809 "named": true,
810 "fields": {},
811 "children": {
812 "multiple": true,
813 "required": true,
814 "types": [
815 {
816 "type": "attribute",
817 "named": true
818 }
819 ]
820 }
821 },
822 {
823 "type": "attribute_list",
824 "named": true,
825 "fields": {},
826 "children": {
827 "multiple": true,
828 "required": true,
829 "types": [
830 {
831 "type": "attribute_group",
832 "named": true
833 }
834 ]
835 }
836 },
837 {
838 "type": "augmented_assignment_expression",
839 "named": true,
840 "fields": {
841 "left": {
842 "multiple": false,
843 "required": true,
844 "types": [
845 {
846 "type": "cast_expression",
847 "named": true
848 },
849 {
850 "type": "dynamic_variable_name",
851 "named": true
852 },
853 {
854 "type": "function_call_expression",
855 "named": true
856 },
857 {
858 "type": "member_access_expression",
859 "named": true
860 },
861 {
862 "type": "member_call_expression",
863 "named": true
864 },
865 {
866 "type": "nullsafe_member_access_expression",
867 "named": true
868 },
869 {
870 "type": "nullsafe_member_call_expression",
871 "named": true
872 },
873 {
874 "type": "scoped_call_expression",
875 "named": true
876 },
877 {
878 "type": "scoped_property_access_expression",
879 "named": true
880 },
881 {
882 "type": "subscript_expression",
883 "named": true
884 },
885 {
886 "type": "variable_name",
887 "named": true
888 }
889 ]
890 },
891 "operator": {
892 "multiple": false,
893 "required": true,
894 "types": [
895 {
896 "type": "%=",
897 "named": false
898 },
899 {
900 "type": "&=",
901 "named": false
902 },
903 {
904 "type": "**=",
905 "named": false
906 },
907 {
908 "type": "*=",
909 "named": false
910 },
911 {
912 "type": "+=",
913 "named": false
914 },
915 {
916 "type": "-=",
917 "named": false
918 },
919 {
920 "type": ".=",
921 "named": false
922 },
923 {
924 "type": "/=",
925 "named": false
926 },
927 {
928 "type": "<<=",
929 "named": false
930 },
931 {
932 "type": ">>=",
933 "named": false
934 },
935 {
936 "type": "??=",
937 "named": false
938 },
939 {
940 "type": "^=",
941 "named": false
942 },
943 {
944 "type": "|=",
945 "named": false
946 }
947 ]
948 },
949 "right": {
950 "multiple": false,
951 "required": true,
952 "types": [
953 {
954 "type": "expression",
955 "named": true
956 }
957 ]
958 }
959 }
960 },
961 {
962 "type": "base_clause",
963 "named": true,
964 "fields": {},
965 "children": {
966 "multiple": true,
967 "required": true,
968 "types": [
969 {
970 "type": "name",
971 "named": true
972 },
973 {
974 "type": "qualified_name",
975 "named": true
976 }
977 ]
978 }
979 },
980 {
981 "type": "binary_expression",
982 "named": true,
983 "fields": {
984 "left": {
985 "multiple": false,
986 "required": true,
987 "types": [
988 {
989 "type": "expression",
990 "named": true
991 }
992 ]
993 },
994 "operator": {
995 "multiple": false,
996 "required": true,
997 "types": [
998 {
999 "type": "!=",
1000 "named": false
1001 },
1002 {
1003 "type": "!==",
1004 "named": false
1005 },
1006 {
1007 "type": "%",
1008 "named": false
1009 },
1010 {
1011 "type": "&",
1012 "named": false
1013 },
1014 {
1015 "type": "&&",
1016 "named": false
1017 },
1018 {
1019 "type": "*",
1020 "named": false
1021 },
1022 {
1023 "type": "**",
1024 "named": false
1025 },
1026 {
1027 "type": "+",
1028 "named": false
1029 },
1030 {
1031 "type": "-",
1032 "named": false
1033 },
1034 {
1035 "type": ".",
1036 "named": false
1037 },
1038 {
1039 "type": "/",
1040 "named": false
1041 },
1042 {
1043 "type": "<",
1044 "named": false
1045 },
1046 {
1047 "type": "<<",
1048 "named": false
1049 },
1050 {
1051 "type": "<=",
1052 "named": false
1053 },
1054 {
1055 "type": "<=>",
1056 "named": false
1057 },
1058 {
1059 "type": "<>",
1060 "named": false
1061 },
1062 {
1063 "type": "==",
1064 "named": false
1065 },
1066 {
1067 "type": "===",
1068 "named": false
1069 },
1070 {
1071 "type": ">",
1072 "named": false
1073 },
1074 {
1075 "type": ">=",
1076 "named": false
1077 },
1078 {
1079 "type": ">>",
1080 "named": false
1081 },
1082 {
1083 "type": "??",
1084 "named": false
1085 },
1086 {
1087 "type": "^",
1088 "named": false
1089 },
1090 {
1091 "type": "and",
1092 "named": false
1093 },
1094 {
1095 "type": "instanceof",
1096 "named": false
1097 },
1098 {
1099 "type": "or",
1100 "named": false
1101 },
1102 {
1103 "type": "xor",
1104 "named": false
1105 },
1106 {
1107 "type": "|",
1108 "named": false
1109 },
1110 {
1111 "type": "||",
1112 "named": false
1113 }
1114 ]
1115 },
1116 "right": {
1117 "multiple": false,
1118 "required": true,
1119 "types": [
1120 {
1121 "type": "dynamic_variable_name",
1122 "named": true
1123 },
1124 {
1125 "type": "expression",
1126 "named": true
1127 },
1128 {
1129 "type": "member_access_expression",
1130 "named": true
1131 },
1132 {
1133 "type": "name",
1134 "named": true
1135 },
1136 {
1137 "type": "nullsafe_member_access_expression",
1138 "named": true
1139 },
1140 {
1141 "type": "parenthesized_expression",
1142 "named": true
1143 },
1144 {
1145 "type": "qualified_name",
1146 "named": true
1147 },
1148 {
1149 "type": "scoped_property_access_expression",
1150 "named": true
1151 },
1152 {
1153 "type": "subscript_expression",
1154 "named": true
1155 },
1156 {
1157 "type": "variable_name",
1158 "named": true
1159 }
1160 ]
1161 }
1162 }
1163 },
1164 {
1165 "type": "boolean",
1166 "named": true,
1167 "fields": {}
1168 },
1169 {
1170 "type": "break_statement",
1171 "named": true,
1172 "fields": {},
1173 "children": {
1174 "multiple": false,
1175 "required": false,
1176 "types": [
1177 {
1178 "type": "expression",
1179 "named": true
1180 }
1181 ]
1182 }
1183 },
1184 {
1185 "type": "by_ref",
1186 "named": true,
1187 "fields": {},
1188 "children": {
1189 "multiple": false,
1190 "required": true,
1191 "types": [
1192 {
1193 "type": "cast_expression",
1194 "named": true
1195 },
1196 {
1197 "type": "dynamic_variable_name",
1198 "named": true
1199 },
1200 {
1201 "type": "function_call_expression",
1202 "named": true
1203 },
1204 {
1205 "type": "member_access_expression",
1206 "named": true
1207 },
1208 {
1209 "type": "member_call_expression",
1210 "named": true
1211 },
1212 {
1213 "type": "nullsafe_member_access_expression",
1214 "named": true
1215 },
1216 {
1217 "type": "nullsafe_member_call_expression",
1218 "named": true
1219 },
1220 {
1221 "type": "scoped_call_expression",
1222 "named": true
1223 },
1224 {
1225 "type": "scoped_property_access_expression",
1226 "named": true
1227 },
1228 {
1229 "type": "subscript_expression",
1230 "named": true
1231 },
1232 {
1233 "type": "variable_name",
1234 "named": true
1235 }
1236 ]
1237 }
1238 },
1239 {
1240 "type": "case_statement",
1241 "named": true,
1242 "fields": {
1243 "value": {
1244 "multiple": false,
1245 "required": true,
1246 "types": [
1247 {
1248 "type": "expression",
1249 "named": true
1250 }
1251 ]
1252 }
1253 },
1254 "children": {
1255 "multiple": true,
1256 "required": false,
1257 "types": [
1258 {
1259 "type": "statement",
1260 "named": true
1261 }
1262 ]
1263 }
1264 },
1265 {
1266 "type": "cast_expression",
1267 "named": true,
1268 "fields": {
1269 "type": {
1270 "multiple": false,
1271 "required": true,
1272 "types": [
1273 {
1274 "type": "cast_type",
1275 "named": true
1276 }
1277 ]
1278 },
1279 "value": {
1280 "multiple": false,
1281 "required": true,
1282 "types": [
1283 {
1284 "type": "clone_expression",
1285 "named": true
1286 },
1287 {
1288 "type": "error_suppression_expression",
1289 "named": true
1290 },
1291 {
1292 "type": "include_expression",
1293 "named": true
1294 },
1295 {
1296 "type": "include_once_expression",
1297 "named": true
1298 },
1299 {
1300 "type": "primary_expression",
1301 "named": true
1302 },
1303 {
1304 "type": "unary_op_expression",
1305 "named": true
1306 }
1307 ]
1308 }
1309 }
1310 },
1311 {
1312 "type": "cast_type",
1313 "named": true,
1314 "fields": {}
1315 },
1316 {
1317 "type": "catch_clause",
1318 "named": true,
1319 "fields": {
1320 "body": {
1321 "multiple": false,
1322 "required": true,
1323 "types": [
1324 {
1325 "type": "compound_statement",
1326 "named": true
1327 }
1328 ]
1329 },
1330 "name": {
1331 "multiple": false,
1332 "required": false,
1333 "types": [
1334 {
1335 "type": "variable_name",
1336 "named": true
1337 }
1338 ]
1339 },
1340 "type": {
1341 "multiple": false,
1342 "required": true,
1343 "types": [
1344 {
1345 "type": "type_list",
1346 "named": true
1347 }
1348 ]
1349 }
1350 }
1351 },
1352 {
1353 "type": "class_constant_access_expression",
1354 "named": true,
1355 "fields": {},
1356 "children": {
1357 "multiple": true,
1358 "required": true,
1359 "types": [
1360 {
1361 "type": "array_creation_expression",
1362 "named": true
1363 },
1364 {
1365 "type": "cast_expression",
1366 "named": true
1367 },
1368 {
1369 "type": "class_constant_access_expression",
1370 "named": true
1371 },
1372 {
1373 "type": "dynamic_variable_name",
1374 "named": true
1375 },
1376 {
1377 "type": "encapsed_string",
1378 "named": true
1379 },
1380 {
1381 "type": "function_call_expression",
1382 "named": true
1383 },
1384 {
1385 "type": "heredoc",
1386 "named": true
1387 },
1388 {
1389 "type": "member_access_expression",
1390 "named": true
1391 },
1392 {
1393 "type": "member_call_expression",
1394 "named": true
1395 },
1396 {
1397 "type": "name",
1398 "named": true
1399 },
1400 {
1401 "type": "nowdoc",
1402 "named": true
1403 },
1404 {
1405 "type": "nullsafe_member_access_expression",
1406 "named": true
1407 },
1408 {
1409 "type": "nullsafe_member_call_expression",
1410 "named": true
1411 },
1412 {
1413 "type": "object_creation_expression",
1414 "named": true
1415 },
1416 {
1417 "type": "parenthesized_expression",
1418 "named": true
1419 },
1420 {
1421 "type": "qualified_name",
1422 "named": true
1423 },
1424 {
1425 "type": "relative_scope",
1426 "named": true
1427 },
1428 {
1429 "type": "scoped_call_expression",
1430 "named": true
1431 },
1432 {
1433 "type": "scoped_property_access_expression",
1434 "named": true
1435 },
1436 {
1437 "type": "string",
1438 "named": true
1439 },
1440 {
1441 "type": "subscript_expression",
1442 "named": true
1443 },
1444 {
1445 "type": "variable_name",
1446 "named": true
1447 }
1448 ]
1449 }
1450 },
1451 {
1452 "type": "class_declaration",
1453 "named": true,
1454 "fields": {
1455 "attributes": {
1456 "multiple": false,
1457 "required": false,
1458 "types": [
1459 {
1460 "type": "attribute_list",
1461 "named": true
1462 }
1463 ]
1464 },
1465 "body": {
1466 "multiple": false,
1467 "required": true,
1468 "types": [
1469 {
1470 "type": "declaration_list",
1471 "named": true
1472 }
1473 ]
1474 },
1475 "name": {
1476 "multiple": false,
1477 "required": true,
1478 "types": [
1479 {
1480 "type": "name",
1481 "named": true
1482 }
1483 ]
1484 }
1485 },
1486 "children": {
1487 "multiple": true,
1488 "required": false,
1489 "types": [
1490 {
1491 "type": "abstract_modifier",
1492 "named": true
1493 },
1494 {
1495 "type": "base_clause",
1496 "named": true
1497 },
1498 {
1499 "type": "class_interface_clause",
1500 "named": true
1501 },
1502 {
1503 "type": "final_modifier",
1504 "named": true
1505 },
1506 {
1507 "type": "readonly_modifier",
1508 "named": true
1509 },
1510 {
1511 "type": "static_modifier",
1512 "named": true
1513 },
1514 {
1515 "type": "var_modifier",
1516 "named": true
1517 },
1518 {
1519 "type": "visibility_modifier",
1520 "named": true
1521 }
1522 ]
1523 }
1524 },
1525 {
1526 "type": "class_interface_clause",
1527 "named": true,
1528 "fields": {},
1529 "children": {
1530 "multiple": true,
1531 "required": true,
1532 "types": [
1533 {
1534 "type": "name",
1535 "named": true
1536 },
1537 {
1538 "type": "qualified_name",
1539 "named": true
1540 }
1541 ]
1542 }
1543 },
1544 {
1545 "type": "clone_expression",
1546 "named": true,
1547 "fields": {},
1548 "children": {
1549 "multiple": false,
1550 "required": true,
1551 "types": [
1552 {
1553 "type": "primary_expression",
1554 "named": true
1555 }
1556 ]
1557 }
1558 },
1559 {
1560 "type": "colon_block",
1561 "named": true,
1562 "fields": {},
1563 "children": {
1564 "multiple": true,
1565 "required": false,
1566 "types": [
1567 {
1568 "type": "statement",
1569 "named": true
1570 }
1571 ]
1572 }
1573 },
1574 {
1575 "type": "compound_statement",
1576 "named": true,
1577 "fields": {},
1578 "children": {
1579 "multiple": true,
1580 "required": false,
1581 "types": [
1582 {
1583 "type": "statement",
1584 "named": true
1585 }
1586 ]
1587 }
1588 },
1589 {
1590 "type": "conditional_expression",
1591 "named": true,
1592 "fields": {
1593 "alternative": {
1594 "multiple": false,
1595 "required": true,
1596 "types": [
1597 {
1598 "type": "expression",
1599 "named": true
1600 }
1601 ]
1602 },
1603 "body": {
1604 "multiple": false,
1605 "required": false,
1606 "types": [
1607 {
1608 "type": "expression",
1609 "named": true
1610 }
1611 ]
1612 },
1613 "condition": {
1614 "multiple": false,
1615 "required": true,
1616 "types": [
1617 {
1618 "type": "expression",
1619 "named": true
1620 }
1621 ]
1622 }
1623 }
1624 },
1625 {
1626 "type": "const_declaration",
1627 "named": true,
1628 "fields": {
1629 "attributes": {
1630 "multiple": false,
1631 "required": false,
1632 "types": [
1633 {
1634 "type": "attribute_list",
1635 "named": true
1636 }
1637 ]
1638 },
1639 "type": {
1640 "multiple": false,
1641 "required": false,
1642 "types": [
1643 {
1644 "type": "type",
1645 "named": true
1646 }
1647 ]
1648 }
1649 },
1650 "children": {
1651 "multiple": true,
1652 "required": true,
1653 "types": [
1654 {
1655 "type": "abstract_modifier",
1656 "named": true
1657 },
1658 {
1659 "type": "const_element",
1660 "named": true
1661 },
1662 {
1663 "type": "final_modifier",
1664 "named": true
1665 },
1666 {
1667 "type": "readonly_modifier",
1668 "named": true
1669 },
1670 {
1671 "type": "static_modifier",
1672 "named": true
1673 },
1674 {
1675 "type": "var_modifier",
1676 "named": true
1677 },
1678 {
1679 "type": "visibility_modifier",
1680 "named": true
1681 }
1682 ]
1683 }
1684 },
1685 {
1686 "type": "const_element",
1687 "named": true,
1688 "fields": {},
1689 "children": {
1690 "multiple": true,
1691 "required": true,
1692 "types": [
1693 {
1694 "type": "expression",
1695 "named": true
1696 },
1697 {
1698 "type": "name",
1699 "named": true
1700 }
1701 ]
1702 }
1703 },
1704 {
1705 "type": "continue_statement",
1706 "named": true,
1707 "fields": {},
1708 "children": {
1709 "multiple": false,
1710 "required": false,
1711 "types": [
1712 {
1713 "type": "expression",
1714 "named": true
1715 }
1716 ]
1717 }
1718 },
1719 {
1720 "type": "declaration_list",
1721 "named": true,
1722 "fields": {},
1723 "children": {
1724 "multiple": true,
1725 "required": false,
1726 "types": [
1727 {
1728 "type": "const_declaration",
1729 "named": true
1730 },
1731 {
1732 "type": "method_declaration",
1733 "named": true
1734 },
1735 {
1736 "type": "property_declaration",
1737 "named": true
1738 },
1739 {
1740 "type": "use_declaration",
1741 "named": true
1742 }
1743 ]
1744 }
1745 },
1746 {
1747 "type": "declare_directive",
1748 "named": true,
1749 "fields": {},
1750 "children": {
1751 "multiple": false,
1752 "required": true,
1753 "types": [
1754 {
1755 "type": "literal",
1756 "named": true
1757 }
1758 ]
1759 }
1760 },
1761 {
1762 "type": "declare_statement",
1763 "named": true,
1764 "fields": {},
1765 "children": {
1766 "multiple": true,
1767 "required": true,
1768 "types": [
1769 {
1770 "type": "declare_directive",
1771 "named": true
1772 },
1773 {
1774 "type": "statement",
1775 "named": true
1776 }
1777 ]
1778 }
1779 },
1780 {
1781 "type": "default_statement",
1782 "named": true,
1783 "fields": {},
1784 "children": {
1785 "multiple": true,
1786 "required": false,
1787 "types": [
1788 {
1789 "type": "statement",
1790 "named": true
1791 }
1792 ]
1793 }
1794 },
1795 {
1796 "type": "disjunctive_normal_form_type",
1797 "named": true,
1798 "fields": {},
1799 "children": {
1800 "multiple": true,
1801 "required": true,
1802 "types": [
1803 {
1804 "type": "intersection_type",
1805 "named": true
1806 },
1807 {
1808 "type": "named_type",
1809 "named": true
1810 },
1811 {
1812 "type": "optional_type",
1813 "named": true
1814 },
1815 {
1816 "type": "primitive_type",
1817 "named": true
1818 }
1819 ]
1820 }
1821 },
1822 {
1823 "type": "do_statement",
1824 "named": true,
1825 "fields": {
1826 "body": {
1827 "multiple": false,
1828 "required": true,
1829 "types": [
1830 {
1831 "type": "statement",
1832 "named": true
1833 }
1834 ]
1835 },
1836 "condition": {
1837 "multiple": false,
1838 "required": true,
1839 "types": [
1840 {
1841 "type": "parenthesized_expression",
1842 "named": true
1843 }
1844 ]
1845 }
1846 }
1847 },
1848 {
1849 "type": "dynamic_variable_name",
1850 "named": true,
1851 "fields": {},
1852 "children": {
1853 "multiple": false,
1854 "required": true,
1855 "types": [
1856 {
1857 "type": "dynamic_variable_name",
1858 "named": true
1859 },
1860 {
1861 "type": "expression",
1862 "named": true
1863 },
1864 {
1865 "type": "variable_name",
1866 "named": true
1867 }
1868 ]
1869 }
1870 },
1871 {
1872 "type": "echo_statement",
1873 "named": true,
1874 "fields": {},
1875 "children": {
1876 "multiple": false,
1877 "required": true,
1878 "types": [
1879 {
1880 "type": "expression",
1881 "named": true
1882 },
1883 {
1884 "type": "sequence_expression",
1885 "named": true
1886 }
1887 ]
1888 }
1889 },
1890 {
1891 "type": "else_clause",
1892 "named": true,
1893 "fields": {
1894 "body": {
1895 "multiple": false,
1896 "required": true,
1897 "types": [
1898 {
1899 "type": "colon_block",
1900 "named": true
1901 },
1902 {
1903 "type": "statement",
1904 "named": true
1905 }
1906 ]
1907 }
1908 }
1909 },
1910 {
1911 "type": "else_if_clause",
1912 "named": true,
1913 "fields": {
1914 "body": {
1915 "multiple": false,
1916 "required": true,
1917 "types": [
1918 {
1919 "type": "colon_block",
1920 "named": true
1921 },
1922 {
1923 "type": "statement",
1924 "named": true
1925 }
1926 ]
1927 },
1928 "condition": {
1929 "multiple": false,
1930 "required": true,
1931 "types": [
1932 {
1933 "type": "parenthesized_expression",
1934 "named": true
1935 }
1936 ]
1937 }
1938 }
1939 },
1940 {
1941 "type": "empty_statement",
1942 "named": true,
1943 "fields": {}
1944 },
1945 {
1946 "type": "encapsed_string",
1947 "named": true,
1948 "fields": {},
1949 "children": {
1950 "multiple": true,
1951 "required": false,
1952 "types": [
1953 {
1954 "type": "dynamic_variable_name",
1955 "named": true
1956 },
1957 {
1958 "type": "escape_sequence",
1959 "named": true
1960 },
1961 {
1962 "type": "expression",
1963 "named": true
1964 },
1965 {
1966 "type": "member_access_expression",
1967 "named": true
1968 },
1969 {
1970 "type": "string_content",
1971 "named": true
1972 },
1973 {
1974 "type": "subscript_expression",
1975 "named": true
1976 },
1977 {
1978 "type": "variable_name",
1979 "named": true
1980 }
1981 ]
1982 }
1983 },
1984 {
1985 "type": "enum_case",
1986 "named": true,
1987 "fields": {
1988 "attributes": {
1989 "multiple": false,
1990 "required": false,
1991 "types": [
1992 {
1993 "type": "attribute_list",
1994 "named": true
1995 }
1996 ]
1997 },
1998 "name": {
1999 "multiple": false,
2000 "required": true,
2001 "types": [
2002 {
2003 "type": "name",
2004 "named": true
2005 }
2006 ]
2007 },
2008 "value": {
2009 "multiple": false,
2010 "required": false,
2011 "types": [
2012 {
2013 "type": "encapsed_string",
2014 "named": true
2015 },
2016 {
2017 "type": "heredoc",
2018 "named": true
2019 },
2020 {
2021 "type": "integer",
2022 "named": true
2023 },
2024 {
2025 "type": "nowdoc",
2026 "named": true
2027 },
2028 {
2029 "type": "string",
2030 "named": true
2031 }
2032 ]
2033 }
2034 }
2035 },
2036 {
2037 "type": "enum_declaration",
2038 "named": true,
2039 "fields": {
2040 "attributes": {
2041 "multiple": false,
2042 "required": false,
2043 "types": [
2044 {
2045 "type": "attribute_list",
2046 "named": true
2047 }
2048 ]
2049 },
2050 "body": {
2051 "multiple": false,
2052 "required": true,
2053 "types": [
2054 {
2055 "type": "enum_declaration_list",
2056 "named": true
2057 }
2058 ]
2059 },
2060 "name": {
2061 "multiple": false,
2062 "required": true,
2063 "types": [
2064 {
2065 "type": "name",
2066 "named": true
2067 }
2068 ]
2069 }
2070 },
2071 "children": {
2072 "multiple": true,
2073 "required": false,
2074 "types": [
2075 {
2076 "type": "class_interface_clause",
2077 "named": true
2078 },
2079 {
2080 "type": "primitive_type",
2081 "named": true
2082 }
2083 ]
2084 }
2085 },
2086 {
2087 "type": "enum_declaration_list",
2088 "named": true,
2089 "fields": {},
2090 "children": {
2091 "multiple": true,
2092 "required": false,
2093 "types": [
2094 {
2095 "type": "enum_case",
2096 "named": true
2097 },
2098 {
2099 "type": "method_declaration",
2100 "named": true
2101 },
2102 {
2103 "type": "use_declaration",
2104 "named": true
2105 }
2106 ]
2107 }
2108 },
2109 {
2110 "type": "error_suppression_expression",
2111 "named": true,
2112 "fields": {},
2113 "children": {
2114 "multiple": false,
2115 "required": true,
2116 "types": [
2117 {
2118 "type": "expression",
2119 "named": true
2120 }
2121 ]
2122 }
2123 },
2124 {
2125 "type": "exit_statement",
2126 "named": true,
2127 "fields": {},
2128 "children": {
2129 "multiple": false,
2130 "required": false,
2131 "types": [
2132 {
2133 "type": "expression",
2134 "named": true
2135 }
2136 ]
2137 }
2138 },
2139 {
2140 "type": "expression_statement",
2141 "named": true,
2142 "fields": {},
2143 "children": {
2144 "multiple": false,
2145 "required": true,
2146 "types": [
2147 {
2148 "type": "expression",
2149 "named": true
2150 }
2151 ]
2152 }
2153 },
2154 {
2155 "type": "final_modifier",
2156 "named": true,
2157 "fields": {}
2158 },
2159 {
2160 "type": "finally_clause",
2161 "named": true,
2162 "fields": {
2163 "body": {
2164 "multiple": false,
2165 "required": true,
2166 "types": [
2167 {
2168 "type": "compound_statement",
2169 "named": true
2170 }
2171 ]
2172 }
2173 }
2174 },
2175 {
2176 "type": "for_statement",
2177 "named": true,
2178 "fields": {
2179 "body": {
2180 "multiple": true,
2181 "required": false,
2182 "types": [
2183 {
2184 "type": "statement",
2185 "named": true
2186 }
2187 ]
2188 },
2189 "condition": {
2190 "multiple": false,
2191 "required": false,
2192 "types": [
2193 {
2194 "type": "expression",
2195 "named": true
2196 },
2197 {
2198 "type": "sequence_expression",
2199 "named": true
2200 }
2201 ]
2202 },
2203 "initialize": {
2204 "multiple": false,
2205 "required": false,
2206 "types": [
2207 {
2208 "type": "expression",
2209 "named": true
2210 },
2211 {
2212 "type": "sequence_expression",
2213 "named": true
2214 }
2215 ]
2216 },
2217 "update": {
2218 "multiple": false,
2219 "required": false,
2220 "types": [
2221 {
2222 "type": "expression",
2223 "named": true
2224 },
2225 {
2226 "type": "sequence_expression",
2227 "named": true
2228 }
2229 ]
2230 }
2231 }
2232 },
2233 {
2234 "type": "foreach_statement",
2235 "named": true,
2236 "fields": {
2237 "body": {
2238 "multiple": false,
2239 "required": false,
2240 "types": [
2241 {
2242 "type": "colon_block",
2243 "named": true
2244 },
2245 {
2246 "type": "statement",
2247 "named": true
2248 }
2249 ]
2250 }
2251 },
2252 "children": {
2253 "multiple": true,
2254 "required": true,
2255 "types": [
2256 {
2257 "type": "by_ref",
2258 "named": true
2259 },
2260 {
2261 "type": "expression",
2262 "named": true
2263 },
2264 {
2265 "type": "list_literal",
2266 "named": true
2267 },
2268 {
2269 "type": "pair",
2270 "named": true
2271 }
2272 ]
2273 }
2274 },
2275 {
2276 "type": "formal_parameters",
2277 "named": true,
2278 "fields": {},
2279 "children": {
2280 "multiple": true,
2281 "required": false,
2282 "types": [
2283 {
2284 "type": "property_promotion_parameter",
2285 "named": true
2286 },
2287 {
2288 "type": "simple_parameter",
2289 "named": true
2290 },
2291 {
2292 "type": "variadic_parameter",
2293 "named": true
2294 }
2295 ]
2296 }
2297 },
2298 {
2299 "type": "function_call_expression",
2300 "named": true,
2301 "fields": {
2302 "arguments": {
2303 "multiple": false,
2304 "required": true,
2305 "types": [
2306 {
2307 "type": "arguments",
2308 "named": true
2309 }
2310 ]
2311 },
2312 "function": {
2313 "multiple": false,
2314 "required": true,
2315 "types": [
2316 {
2317 "type": "array_creation_expression",
2318 "named": true
2319 },
2320 {
2321 "type": "dynamic_variable_name",
2322 "named": true
2323 },
2324 {
2325 "type": "encapsed_string",
2326 "named": true
2327 },
2328 {
2329 "type": "function_call_expression",
2330 "named": true
2331 },
2332 {
2333 "type": "heredoc",
2334 "named": true
2335 },
2336 {
2337 "type": "member_call_expression",
2338 "named": true
2339 },
2340 {
2341 "type": "name",
2342 "named": true
2343 },
2344 {
2345 "type": "nowdoc",
2346 "named": true
2347 },
2348 {
2349 "type": "nullsafe_member_call_expression",
2350 "named": true
2351 },
2352 {
2353 "type": "object_creation_expression",
2354 "named": true
2355 },
2356 {
2357 "type": "parenthesized_expression",
2358 "named": true
2359 },
2360 {
2361 "type": "qualified_name",
2362 "named": true
2363 },
2364 {
2365 "type": "scoped_call_expression",
2366 "named": true
2367 },
2368 {
2369 "type": "string",
2370 "named": true
2371 },
2372 {
2373 "type": "subscript_expression",
2374 "named": true
2375 },
2376 {
2377 "type": "variable_name",
2378 "named": true
2379 }
2380 ]
2381 }
2382 }
2383 },
2384 {
2385 "type": "function_definition",
2386 "named": true,
2387 "fields": {
2388 "attributes": {
2389 "multiple": false,
2390 "required": false,
2391 "types": [
2392 {
2393 "type": "attribute_list",
2394 "named": true
2395 }
2396 ]
2397 },
2398 "body": {
2399 "multiple": false,
2400 "required": true,
2401 "types": [
2402 {
2403 "type": "compound_statement",
2404 "named": true
2405 }
2406 ]
2407 },
2408 "name": {
2409 "multiple": false,
2410 "required": true,
2411 "types": [
2412 {
2413 "type": "name",
2414 "named": true
2415 }
2416 ]
2417 },
2418 "parameters": {
2419 "multiple": false,
2420 "required": true,
2421 "types": [
2422 {
2423 "type": "formal_parameters",
2424 "named": true
2425 }
2426 ]
2427 },
2428 "return_type": {
2429 "multiple": false,
2430 "required": false,
2431 "types": [
2432 {
2433 "type": "bottom_type",
2434 "named": true
2435 },
2436 {
2437 "type": "type",
2438 "named": true
2439 }
2440 ]
2441 }
2442 },
2443 "children": {
2444 "multiple": false,
2445 "required": false,
2446 "types": [
2447 {
2448 "type": "reference_modifier",
2449 "named": true
2450 }
2451 ]
2452 }
2453 },
2454 {
2455 "type": "function_static_declaration",
2456 "named": true,
2457 "fields": {},
2458 "children": {
2459 "multiple": true,
2460 "required": true,
2461 "types": [
2462 {
2463 "type": "static_variable_declaration",
2464 "named": true
2465 }
2466 ]
2467 }
2468 },
2469 {
2470 "type": "global_declaration",
2471 "named": true,
2472 "fields": {},
2473 "children": {
2474 "multiple": true,
2475 "required": true,
2476 "types": [
2477 {
2478 "type": "dynamic_variable_name",
2479 "named": true
2480 },
2481 {
2482 "type": "variable_name",
2483 "named": true
2484 }
2485 ]
2486 }
2487 },
2488 {
2489 "type": "goto_statement",
2490 "named": true,
2491 "fields": {},
2492 "children": {
2493 "multiple": false,
2494 "required": true,
2495 "types": [
2496 {
2497 "type": "name",
2498 "named": true
2499 }
2500 ]
2501 }
2502 },
2503 {
2504 "type": "heredoc",
2505 "named": true,
2506 "fields": {
2507 "end_tag": {
2508 "multiple": false,
2509 "required": true,
2510 "types": [
2511 {
2512 "type": "heredoc_end",
2513 "named": true
2514 }
2515 ]
2516 },
2517 "identifier": {
2518 "multiple": false,
2519 "required": true,
2520 "types": [
2521 {
2522 "type": "heredoc_start",
2523 "named": true
2524 }
2525 ]
2526 },
2527 "value": {
2528 "multiple": false,
2529 "required": false,
2530 "types": [
2531 {
2532 "type": "heredoc_body",
2533 "named": true
2534 }
2535 ]
2536 }
2537 }
2538 },
2539 {
2540 "type": "heredoc_body",
2541 "named": true,
2542 "fields": {},
2543 "children": {
2544 "multiple": true,
2545 "required": true,
2546 "types": [
2547 {
2548 "type": "dynamic_variable_name",
2549 "named": true
2550 },
2551 {
2552 "type": "escape_sequence",
2553 "named": true
2554 },
2555 {
2556 "type": "expression",
2557 "named": true
2558 },
2559 {
2560 "type": "member_access_expression",
2561 "named": true
2562 },
2563 {
2564 "type": "string_content",
2565 "named": true
2566 },
2567 {
2568 "type": "subscript_expression",
2569 "named": true
2570 },
2571 {
2572 "type": "variable_name",
2573 "named": true
2574 }
2575 ]
2576 }
2577 },
2578 {
2579 "type": "if_statement",
2580 "named": true,
2581 "fields": {
2582 "alternative": {
2583 "multiple": true,
2584 "required": false,
2585 "types": [
2586 {
2587 "type": "else_clause",
2588 "named": true
2589 },
2590 {
2591 "type": "else_if_clause",
2592 "named": true
2593 }
2594 ]
2595 },
2596 "body": {
2597 "multiple": false,
2598 "required": true,
2599 "types": [
2600 {
2601 "type": "colon_block",
2602 "named": true
2603 },
2604 {
2605 "type": "statement",
2606 "named": true
2607 }
2608 ]
2609 },
2610 "condition": {
2611 "multiple": false,
2612 "required": true,
2613 "types": [
2614 {
2615 "type": "parenthesized_expression",
2616 "named": true
2617 }
2618 ]
2619 }
2620 }
2621 },
2622 {
2623 "type": "include_expression",
2624 "named": true,
2625 "fields": {},
2626 "children": {
2627 "multiple": false,
2628 "required": true,
2629 "types": [
2630 {
2631 "type": "expression",
2632 "named": true
2633 }
2634 ]
2635 }
2636 },
2637 {
2638 "type": "include_once_expression",
2639 "named": true,
2640 "fields": {},
2641 "children": {
2642 "multiple": false,
2643 "required": true,
2644 "types": [
2645 {
2646 "type": "expression",
2647 "named": true
2648 }
2649 ]
2650 }
2651 },
2652 {
2653 "type": "interface_declaration",
2654 "named": true,
2655 "fields": {
2656 "attributes": {
2657 "multiple": false,
2658 "required": false,
2659 "types": [
2660 {
2661 "type": "attribute_list",
2662 "named": true
2663 }
2664 ]
2665 },
2666 "body": {
2667 "multiple": false,
2668 "required": true,
2669 "types": [
2670 {
2671 "type": "declaration_list",
2672 "named": true
2673 }
2674 ]
2675 },
2676 "name": {
2677 "multiple": false,
2678 "required": true,
2679 "types": [
2680 {
2681 "type": "name",
2682 "named": true
2683 }
2684 ]
2685 }
2686 },
2687 "children": {
2688 "multiple": false,
2689 "required": false,
2690 "types": [
2691 {
2692 "type": "base_clause",
2693 "named": true
2694 }
2695 ]
2696 }
2697 },
2698 {
2699 "type": "intersection_type",
2700 "named": true,
2701 "fields": {},
2702 "children": {
2703 "multiple": true,
2704 "required": true,
2705 "types": [
2706 {
2707 "type": "named_type",
2708 "named": true
2709 },
2710 {
2711 "type": "optional_type",
2712 "named": true
2713 },
2714 {
2715 "type": "primitive_type",
2716 "named": true
2717 }
2718 ]
2719 }
2720 },
2721 {
2722 "type": "list_literal",
2723 "named": true,
2724 "fields": {},
2725 "children": {
2726 "multiple": true,
2727 "required": false,
2728 "types": [
2729 {
2730 "type": "by_ref",
2731 "named": true
2732 },
2733 {
2734 "type": "dynamic_variable_name",
2735 "named": true
2736 },
2737 {
2738 "type": "expression",
2739 "named": true
2740 },
2741 {
2742 "type": "function_call_expression",
2743 "named": true
2744 },
2745 {
2746 "type": "list_literal",
2747 "named": true
2748 },
2749 {
2750 "type": "member_access_expression",
2751 "named": true
2752 },
2753 {
2754 "type": "member_call_expression",
2755 "named": true
2756 },
2757 {
2758 "type": "nullsafe_member_access_expression",
2759 "named": true
2760 },
2761 {
2762 "type": "nullsafe_member_call_expression",
2763 "named": true
2764 },
2765 {
2766 "type": "scoped_call_expression",
2767 "named": true
2768 },
2769 {
2770 "type": "scoped_property_access_expression",
2771 "named": true
2772 },
2773 {
2774 "type": "subscript_expression",
2775 "named": true
2776 },
2777 {
2778 "type": "variable_name",
2779 "named": true
2780 }
2781 ]
2782 }
2783 },
2784 {
2785 "type": "match_block",
2786 "named": true,
2787 "fields": {},
2788 "children": {
2789 "multiple": true,
2790 "required": false,
2791 "types": [
2792 {
2793 "type": "match_conditional_expression",
2794 "named": true
2795 },
2796 {
2797 "type": "match_default_expression",
2798 "named": true
2799 }
2800 ]
2801 }
2802 },
2803 {
2804 "type": "match_condition_list",
2805 "named": true,
2806 "fields": {},
2807 "children": {
2808 "multiple": true,
2809 "required": true,
2810 "types": [
2811 {
2812 "type": "expression",
2813 "named": true
2814 }
2815 ]
2816 }
2817 },
2818 {
2819 "type": "match_conditional_expression",
2820 "named": true,
2821 "fields": {
2822 "conditional_expressions": {
2823 "multiple": false,
2824 "required": true,
2825 "types": [
2826 {
2827 "type": "match_condition_list",
2828 "named": true
2829 }
2830 ]
2831 },
2832 "return_expression": {
2833 "multiple": false,
2834 "required": true,
2835 "types": [
2836 {
2837 "type": "expression",
2838 "named": true
2839 }
2840 ]
2841 }
2842 }
2843 },
2844 {
2845 "type": "match_default_expression",
2846 "named": true,
2847 "fields": {
2848 "return_expression": {
2849 "multiple": false,
2850 "required": true,
2851 "types": [
2852 {
2853 "type": "expression",
2854 "named": true
2855 }
2856 ]
2857 }
2858 }
2859 },
2860 {
2861 "type": "match_expression",
2862 "named": true,
2863 "fields": {
2864 "body": {
2865 "multiple": false,
2866 "required": true,
2867 "types": [
2868 {
2869 "type": "match_block",
2870 "named": true
2871 }
2872 ]
2873 },
2874 "condition": {
2875 "multiple": false,
2876 "required": true,
2877 "types": [
2878 {
2879 "type": "parenthesized_expression",
2880 "named": true
2881 }
2882 ]
2883 }
2884 }
2885 },
2886 {
2887 "type": "member_access_expression",
2888 "named": true,
2889 "fields": {
2890 "name": {
2891 "multiple": false,
2892 "required": true,
2893 "types": [
2894 {
2895 "type": "dynamic_variable_name",
2896 "named": true
2897 },
2898 {
2899 "type": "expression",
2900 "named": true
2901 },
2902 {
2903 "type": "name",
2904 "named": true
2905 },
2906 {
2907 "type": "variable_name",
2908 "named": true
2909 }
2910 ]
2911 },
2912 "object": {
2913 "multiple": false,
2914 "required": true,
2915 "types": [
2916 {
2917 "type": "array_creation_expression",
2918 "named": true
2919 },
2920 {
2921 "type": "cast_expression",
2922 "named": true
2923 },
2924 {
2925 "type": "class_constant_access_expression",
2926 "named": true
2927 },
2928 {
2929 "type": "dynamic_variable_name",
2930 "named": true
2931 },
2932 {
2933 "type": "encapsed_string",
2934 "named": true
2935 },
2936 {
2937 "type": "function_call_expression",
2938 "named": true
2939 },
2940 {
2941 "type": "heredoc",
2942 "named": true
2943 },
2944 {
2945 "type": "member_access_expression",
2946 "named": true
2947 },
2948 {
2949 "type": "member_call_expression",
2950 "named": true
2951 },
2952 {
2953 "type": "name",
2954 "named": true
2955 },
2956 {
2957 "type": "nowdoc",
2958 "named": true
2959 },
2960 {
2961 "type": "nullsafe_member_access_expression",
2962 "named": true
2963 },
2964 {
2965 "type": "nullsafe_member_call_expression",
2966 "named": true
2967 },
2968 {
2969 "type": "object_creation_expression",
2970 "named": true
2971 },
2972 {
2973 "type": "parenthesized_expression",
2974 "named": true
2975 },
2976 {
2977 "type": "qualified_name",
2978 "named": true
2979 },
2980 {
2981 "type": "scoped_call_expression",
2982 "named": true
2983 },
2984 {
2985 "type": "scoped_property_access_expression",
2986 "named": true
2987 },
2988 {
2989 "type": "string",
2990 "named": true
2991 },
2992 {
2993 "type": "subscript_expression",
2994 "named": true
2995 },
2996 {
2997 "type": "variable_name",
2998 "named": true
2999 }
3000 ]
3001 }
3002 }
3003 },
3004 {
3005 "type": "member_call_expression",
3006 "named": true,
3007 "fields": {
3008 "arguments": {
3009 "multiple": false,
3010 "required": true,
3011 "types": [
3012 {
3013 "type": "arguments",
3014 "named": true
3015 }
3016 ]
3017 },
3018 "name": {
3019 "multiple": false,
3020 "required": true,
3021 "types": [
3022 {
3023 "type": "dynamic_variable_name",
3024 "named": true
3025 },
3026 {
3027 "type": "expression",
3028 "named": true
3029 },
3030 {
3031 "type": "name",
3032 "named": true
3033 },
3034 {
3035 "type": "variable_name",
3036 "named": true
3037 }
3038 ]
3039 },
3040 "object": {
3041 "multiple": false,
3042 "required": true,
3043 "types": [
3044 {
3045 "type": "array_creation_expression",
3046 "named": true
3047 },
3048 {
3049 "type": "cast_expression",
3050 "named": true
3051 },
3052 {
3053 "type": "class_constant_access_expression",
3054 "named": true
3055 },
3056 {
3057 "type": "dynamic_variable_name",
3058 "named": true
3059 },
3060 {
3061 "type": "encapsed_string",
3062 "named": true
3063 },
3064 {
3065 "type": "function_call_expression",
3066 "named": true
3067 },
3068 {
3069 "type": "heredoc",
3070 "named": true
3071 },
3072 {
3073 "type": "member_access_expression",
3074 "named": true
3075 },
3076 {
3077 "type": "member_call_expression",
3078 "named": true
3079 },
3080 {
3081 "type": "name",
3082 "named": true
3083 },
3084 {
3085 "type": "nowdoc",
3086 "named": true
3087 },
3088 {
3089 "type": "nullsafe_member_access_expression",
3090 "named": true
3091 },
3092 {
3093 "type": "nullsafe_member_call_expression",
3094 "named": true
3095 },
3096 {
3097 "type": "object_creation_expression",
3098 "named": true
3099 },
3100 {
3101 "type": "parenthesized_expression",
3102 "named": true
3103 },
3104 {
3105 "type": "qualified_name",
3106 "named": true
3107 },
3108 {
3109 "type": "scoped_call_expression",
3110 "named": true
3111 },
3112 {
3113 "type": "scoped_property_access_expression",
3114 "named": true
3115 },
3116 {
3117 "type": "string",
3118 "named": true
3119 },
3120 {
3121 "type": "subscript_expression",
3122 "named": true
3123 },
3124 {
3125 "type": "variable_name",
3126 "named": true
3127 }
3128 ]
3129 }
3130 }
3131 },
3132 {
3133 "type": "method_declaration",
3134 "named": true,
3135 "fields": {
3136 "attributes": {
3137 "multiple": false,
3138 "required": false,
3139 "types": [
3140 {
3141 "type": "attribute_list",
3142 "named": true
3143 }
3144 ]
3145 },
3146 "body": {
3147 "multiple": false,
3148 "required": false,
3149 "types": [
3150 {
3151 "type": "compound_statement",
3152 "named": true
3153 }
3154 ]
3155 },
3156 "name": {
3157 "multiple": false,
3158 "required": true,
3159 "types": [
3160 {
3161 "type": "name",
3162 "named": true
3163 }
3164 ]
3165 },
3166 "parameters": {
3167 "multiple": false,
3168 "required": true,
3169 "types": [
3170 {
3171 "type": "formal_parameters",
3172 "named": true
3173 }
3174 ]
3175 },
3176 "return_type": {
3177 "multiple": false,
3178 "required": false,
3179 "types": [
3180 {
3181 "type": "bottom_type",
3182 "named": true
3183 },
3184 {
3185 "type": "type",
3186 "named": true
3187 }
3188 ]
3189 }
3190 },
3191 "children": {
3192 "multiple": true,
3193 "required": false,
3194 "types": [
3195 {
3196 "type": "abstract_modifier",
3197 "named": true
3198 },
3199 {
3200 "type": "final_modifier",
3201 "named": true
3202 },
3203 {
3204 "type": "readonly_modifier",
3205 "named": true
3206 },
3207 {
3208 "type": "reference_modifier",
3209 "named": true
3210 },
3211 {
3212 "type": "static_modifier",
3213 "named": true
3214 },
3215 {
3216 "type": "var_modifier",
3217 "named": true
3218 },
3219 {
3220 "type": "visibility_modifier",
3221 "named": true
3222 }
3223 ]
3224 }
3225 },
3226 {
3227 "type": "name",
3228 "named": true,
3229 "fields": {}
3230 },
3231 {
3232 "type": "named_label_statement",
3233 "named": true,
3234 "fields": {},
3235 "children": {
3236 "multiple": false,
3237 "required": true,
3238 "types": [
3239 {
3240 "type": "name",
3241 "named": true
3242 }
3243 ]
3244 }
3245 },
3246 {
3247 "type": "named_type",
3248 "named": true,
3249 "fields": {},
3250 "children": {
3251 "multiple": false,
3252 "required": true,
3253 "types": [
3254 {
3255 "type": "name",
3256 "named": true
3257 },
3258 {
3259 "type": "qualified_name",
3260 "named": true
3261 }
3262 ]
3263 }
3264 },
3265 {
3266 "type": "namespace_definition",
3267 "named": true,
3268 "fields": {
3269 "body": {
3270 "multiple": false,
3271 "required": false,
3272 "types": [
3273 {
3274 "type": "compound_statement",
3275 "named": true
3276 }
3277 ]
3278 },
3279 "name": {
3280 "multiple": false,
3281 "required": false,
3282 "types": [
3283 {
3284 "type": "namespace_name",
3285 "named": true
3286 }
3287 ]
3288 }
3289 }
3290 },
3291 {
3292 "type": "namespace_name",
3293 "named": true,
3294 "fields": {},
3295 "children": {
3296 "multiple": true,
3297 "required": true,
3298 "types": [
3299 {
3300 "type": "name",
3301 "named": true
3302 }
3303 ]
3304 }
3305 },
3306 {
3307 "type": "namespace_use_clause",
3308 "named": true,
3309 "fields": {
3310 "alias": {
3311 "multiple": false,
3312 "required": false,
3313 "types": [
3314 {
3315 "type": "name",
3316 "named": true
3317 }
3318 ]
3319 },
3320 "type": {
3321 "multiple": false,
3322 "required": false,
3323 "types": [
3324 {
3325 "type": "const",
3326 "named": false
3327 },
3328 {
3329 "type": "function",
3330 "named": false
3331 }
3332 ]
3333 }
3334 },
3335 "children": {
3336 "multiple": false,
3337 "required": true,
3338 "types": [
3339 {
3340 "type": "name",
3341 "named": true
3342 },
3343 {
3344 "type": "qualified_name",
3345 "named": true
3346 }
3347 ]
3348 }
3349 },
3350 {
3351 "type": "namespace_use_declaration",
3352 "named": true,
3353 "fields": {
3354 "body": {
3355 "multiple": false,
3356 "required": false,
3357 "types": [
3358 {
3359 "type": "namespace_use_group",
3360 "named": true
3361 }
3362 ]
3363 },
3364 "type": {
3365 "multiple": false,
3366 "required": false,
3367 "types": [
3368 {
3369 "type": "const",
3370 "named": false
3371 },
3372 {
3373 "type": "function",
3374 "named": false
3375 }
3376 ]
3377 }
3378 },
3379 "children": {
3380 "multiple": true,
3381 "required": true,
3382 "types": [
3383 {
3384 "type": "namespace_name",
3385 "named": true
3386 },
3387 {
3388 "type": "namespace_use_clause",
3389 "named": true
3390 }
3391 ]
3392 }
3393 },
3394 {
3395 "type": "namespace_use_group",
3396 "named": true,
3397 "fields": {},
3398 "children": {
3399 "multiple": true,
3400 "required": true,
3401 "types": [
3402 {
3403 "type": "namespace_use_clause",
3404 "named": true
3405 }
3406 ]
3407 }
3408 },
3409 {
3410 "type": "nowdoc",
3411 "named": true,
3412 "fields": {
3413 "end_tag": {
3414 "multiple": false,
3415 "required": true,
3416 "types": [
3417 {
3418 "type": "heredoc_end",
3419 "named": true
3420 }
3421 ]
3422 },
3423 "identifier": {
3424 "multiple": false,
3425 "required": true,
3426 "types": [
3427 {
3428 "type": "heredoc_start",
3429 "named": true
3430 }
3431 ]
3432 },
3433 "value": {
3434 "multiple": false,
3435 "required": false,
3436 "types": [
3437 {
3438 "type": "nowdoc_body",
3439 "named": true
3440 }
3441 ]
3442 }
3443 }
3444 },
3445 {
3446 "type": "nowdoc_body",
3447 "named": true,
3448 "fields": {},
3449 "children": {
3450 "multiple": true,
3451 "required": true,
3452 "types": [
3453 {
3454 "type": "nowdoc_string",
3455 "named": true
3456 }
3457 ]
3458 }
3459 },
3460 {
3461 "type": "null",
3462 "named": true,
3463 "fields": {}
3464 },
3465 {
3466 "type": "nullsafe_member_access_expression",
3467 "named": true,
3468 "fields": {
3469 "name": {
3470 "multiple": false,
3471 "required": true,
3472 "types": [
3473 {
3474 "type": "dynamic_variable_name",
3475 "named": true
3476 },
3477 {
3478 "type": "expression",
3479 "named": true
3480 },
3481 {
3482 "type": "name",
3483 "named": true
3484 },
3485 {
3486 "type": "variable_name",
3487 "named": true
3488 }
3489 ]
3490 },
3491 "object": {
3492 "multiple": false,
3493 "required": true,
3494 "types": [
3495 {
3496 "type": "array_creation_expression",
3497 "named": true
3498 },
3499 {
3500 "type": "cast_expression",
3501 "named": true
3502 },
3503 {
3504 "type": "class_constant_access_expression",
3505 "named": true
3506 },
3507 {
3508 "type": "dynamic_variable_name",
3509 "named": true
3510 },
3511 {
3512 "type": "encapsed_string",
3513 "named": true
3514 },
3515 {
3516 "type": "function_call_expression",
3517 "named": true
3518 },
3519 {
3520 "type": "heredoc",
3521 "named": true
3522 },
3523 {
3524 "type": "member_access_expression",
3525 "named": true
3526 },
3527 {
3528 "type": "member_call_expression",
3529 "named": true
3530 },
3531 {
3532 "type": "name",
3533 "named": true
3534 },
3535 {
3536 "type": "nowdoc",
3537 "named": true
3538 },
3539 {
3540 "type": "nullsafe_member_access_expression",
3541 "named": true
3542 },
3543 {
3544 "type": "nullsafe_member_call_expression",
3545 "named": true
3546 },
3547 {
3548 "type": "object_creation_expression",
3549 "named": true
3550 },
3551 {
3552 "type": "parenthesized_expression",
3553 "named": true
3554 },
3555 {
3556 "type": "qualified_name",
3557 "named": true
3558 },
3559 {
3560 "type": "scoped_call_expression",
3561 "named": true
3562 },
3563 {
3564 "type": "scoped_property_access_expression",
3565 "named": true
3566 },
3567 {
3568 "type": "string",
3569 "named": true
3570 },
3571 {
3572 "type": "subscript_expression",
3573 "named": true
3574 },
3575 {
3576 "type": "variable_name",
3577 "named": true
3578 }
3579 ]
3580 }
3581 }
3582 },
3583 {
3584 "type": "nullsafe_member_call_expression",
3585 "named": true,
3586 "fields": {
3587 "arguments": {
3588 "multiple": false,
3589 "required": true,
3590 "types": [
3591 {
3592 "type": "arguments",
3593 "named": true
3594 }
3595 ]
3596 },
3597 "name": {
3598 "multiple": false,
3599 "required": true,
3600 "types": [
3601 {
3602 "type": "dynamic_variable_name",
3603 "named": true
3604 },
3605 {
3606 "type": "expression",
3607 "named": true
3608 },
3609 {
3610 "type": "name",
3611 "named": true
3612 },
3613 {
3614 "type": "variable_name",
3615 "named": true
3616 }
3617 ]
3618 },
3619 "object": {
3620 "multiple": false,
3621 "required": true,
3622 "types": [
3623 {
3624 "type": "array_creation_expression",
3625 "named": true
3626 },
3627 {
3628 "type": "cast_expression",
3629 "named": true
3630 },
3631 {
3632 "type": "class_constant_access_expression",
3633 "named": true
3634 },
3635 {
3636 "type": "dynamic_variable_name",
3637 "named": true
3638 },
3639 {
3640 "type": "encapsed_string",
3641 "named": true
3642 },
3643 {
3644 "type": "function_call_expression",
3645 "named": true
3646 },
3647 {
3648 "type": "heredoc",
3649 "named": true
3650 },
3651 {
3652 "type": "member_access_expression",
3653 "named": true
3654 },
3655 {
3656 "type": "member_call_expression",
3657 "named": true
3658 },
3659 {
3660 "type": "name",
3661 "named": true
3662 },
3663 {
3664 "type": "nowdoc",
3665 "named": true
3666 },
3667 {
3668 "type": "nullsafe_member_access_expression",
3669 "named": true
3670 },
3671 {
3672 "type": "nullsafe_member_call_expression",
3673 "named": true
3674 },
3675 {
3676 "type": "object_creation_expression",
3677 "named": true
3678 },
3679 {
3680 "type": "parenthesized_expression",
3681 "named": true
3682 },
3683 {
3684 "type": "qualified_name",
3685 "named": true
3686 },
3687 {
3688 "type": "scoped_call_expression",
3689 "named": true
3690 },
3691 {
3692 "type": "scoped_property_access_expression",
3693 "named": true
3694 },
3695 {
3696 "type": "string",
3697 "named": true
3698 },
3699 {
3700 "type": "subscript_expression",
3701 "named": true
3702 },
3703 {
3704 "type": "variable_name",
3705 "named": true
3706 }
3707 ]
3708 }
3709 }
3710 },
3711 {
3712 "type": "object_creation_expression",
3713 "named": true,
3714 "fields": {},
3715 "children": {
3716 "multiple": true,
3717 "required": false,
3718 "types": [
3719 {
3720 "type": "anonymous_class",
3721 "named": true
3722 },
3723 {
3724 "type": "arguments",
3725 "named": true
3726 },
3727 {
3728 "type": "dynamic_variable_name",
3729 "named": true
3730 },
3731 {
3732 "type": "member_access_expression",
3733 "named": true
3734 },
3735 {
3736 "type": "name",
3737 "named": true
3738 },
3739 {
3740 "type": "nullsafe_member_access_expression",
3741 "named": true
3742 },
3743 {
3744 "type": "parenthesized_expression",
3745 "named": true
3746 },
3747 {
3748 "type": "qualified_name",
3749 "named": true
3750 },
3751 {
3752 "type": "scoped_property_access_expression",
3753 "named": true
3754 },
3755 {
3756 "type": "subscript_expression",
3757 "named": true
3758 },
3759 {
3760 "type": "variable_name",
3761 "named": true
3762 }
3763 ]
3764 }
3765 },
3766 {
3767 "type": "optional_type",
3768 "named": true,
3769 "fields": {},
3770 "children": {
3771 "multiple": false,
3772 "required": true,
3773 "types": [
3774 {
3775 "type": "named_type",
3776 "named": true
3777 },
3778 {
3779 "type": "primitive_type",
3780 "named": true
3781 }
3782 ]
3783 }
3784 },
3785 {
3786 "type": "pair",
3787 "named": true,
3788 "fields": {},
3789 "children": {
3790 "multiple": true,
3791 "required": true,
3792 "types": [
3793 {
3794 "type": "by_ref",
3795 "named": true
3796 },
3797 {
3798 "type": "expression",
3799 "named": true
3800 },
3801 {
3802 "type": "list_literal",
3803 "named": true
3804 }
3805 ]
3806 }
3807 },
3808 {
3809 "type": "parenthesized_expression",
3810 "named": true,
3811 "fields": {},
3812 "children": {
3813 "multiple": false,
3814 "required": true,
3815 "types": [
3816 {
3817 "type": "expression",
3818 "named": true
3819 }
3820 ]
3821 }
3822 },
3823 {
3824 "type": "primitive_type",
3825 "named": true,
3826 "fields": {}
3827 },
3828 {
3829 "type": "print_intrinsic",
3830 "named": true,
3831 "fields": {},
3832 "children": {
3833 "multiple": false,
3834 "required": true,
3835 "types": [
3836 {
3837 "type": "expression",
3838 "named": true
3839 }
3840 ]
3841 }
3842 },
3843 {
3844 "type": "program",
3845 "named": true,
3846 "fields": {},
3847 "children": {
3848 "multiple": true,
3849 "required": false,
3850 "types": [
3851 {
3852 "type": "php_tag",
3853 "named": true
3854 },
3855 {
3856 "type": "statement",
3857 "named": true
3858 },
3859 {
3860 "type": "text",
3861 "named": true
3862 }
3863 ]
3864 }
3865 },
3866 {
3867 "type": "property_declaration",
3868 "named": true,
3869 "fields": {
3870 "attributes": {
3871 "multiple": false,
3872 "required": false,
3873 "types": [
3874 {
3875 "type": "attribute_list",
3876 "named": true
3877 }
3878 ]
3879 },
3880 "type": {
3881 "multiple": false,
3882 "required": false,
3883 "types": [
3884 {
3885 "type": "type",
3886 "named": true
3887 }
3888 ]
3889 }
3890 },
3891 "children": {
3892 "multiple": true,
3893 "required": true,
3894 "types": [
3895 {
3896 "type": "abstract_modifier",
3897 "named": true
3898 },
3899 {
3900 "type": "final_modifier",
3901 "named": true
3902 },
3903 {
3904 "type": "property_element",
3905 "named": true
3906 },
3907 {
3908 "type": "property_hook_list",
3909 "named": true
3910 },
3911 {
3912 "type": "readonly_modifier",
3913 "named": true
3914 },
3915 {
3916 "type": "static_modifier",
3917 "named": true
3918 },
3919 {
3920 "type": "var_modifier",
3921 "named": true
3922 },
3923 {
3924 "type": "visibility_modifier",
3925 "named": true
3926 }
3927 ]
3928 }
3929 },
3930 {
3931 "type": "property_element",
3932 "named": true,
3933 "fields": {
3934 "default_value": {
3935 "multiple": false,
3936 "required": false,
3937 "types": [
3938 {
3939 "type": "expression",
3940 "named": true
3941 }
3942 ]
3943 },
3944 "name": {
3945 "multiple": false,
3946 "required": true,
3947 "types": [
3948 {
3949 "type": "variable_name",
3950 "named": true
3951 }
3952 ]
3953 }
3954 }
3955 },
3956 {
3957 "type": "property_hook",
3958 "named": true,
3959 "fields": {
3960 "attributes": {
3961 "multiple": false,
3962 "required": false,
3963 "types": [
3964 {
3965 "type": "attribute_list",
3966 "named": true
3967 }
3968 ]
3969 },
3970 "body": {
3971 "multiple": false,
3972 "required": false,
3973 "types": [
3974 {
3975 "type": "compound_statement",
3976 "named": true
3977 },
3978 {
3979 "type": "expression",
3980 "named": true
3981 }
3982 ]
3983 },
3984 "final": {
3985 "multiple": false,
3986 "required": false,
3987 "types": [
3988 {
3989 "type": "final_modifier",
3990 "named": true
3991 }
3992 ]
3993 },
3994 "parameters": {
3995 "multiple": false,
3996 "required": false,
3997 "types": [
3998 {
3999 "type": "formal_parameters",
4000 "named": true
4001 }
4002 ]
4003 },
4004 "reference_modifier": {
4005 "multiple": false,
4006 "required": false,
4007 "types": [
4008 {
4009 "type": "reference_modifier",
4010 "named": true
4011 }
4012 ]
4013 }
4014 },
4015 "children": {
4016 "multiple": false,
4017 "required": true,
4018 "types": [
4019 {
4020 "type": "name",
4021 "named": true
4022 }
4023 ]
4024 }
4025 },
4026 {
4027 "type": "property_hook_list",
4028 "named": true,
4029 "fields": {},
4030 "children": {
4031 "multiple": true,
4032 "required": false,
4033 "types": [
4034 {
4035 "type": "property_hook",
4036 "named": true
4037 }
4038 ]
4039 }
4040 },
4041 {
4042 "type": "property_promotion_parameter",
4043 "named": true,
4044 "fields": {
4045 "attributes": {
4046 "multiple": false,
4047 "required": false,
4048 "types": [
4049 {
4050 "type": "attribute_list",
4051 "named": true
4052 }
4053 ]
4054 },
4055 "default_value": {
4056 "multiple": false,
4057 "required": false,
4058 "types": [
4059 {
4060 "type": "expression",
4061 "named": true
4062 }
4063 ]
4064 },
4065 "name": {
4066 "multiple": false,
4067 "required": true,
4068 "types": [
4069 {
4070 "type": "by_ref",
4071 "named": true
4072 },
4073 {
4074 "type": "variable_name",
4075 "named": true
4076 }
4077 ]
4078 },
4079 "readonly": {
4080 "multiple": false,
4081 "required": false,
4082 "types": [
4083 {
4084 "type": "readonly_modifier",
4085 "named": true
4086 }
4087 ]
4088 },
4089 "type": {
4090 "multiple": false,
4091 "required": false,
4092 "types": [
4093 {
4094 "type": "type",
4095 "named": true
4096 }
4097 ]
4098 },
4099 "visibility": {
4100 "multiple": false,
4101 "required": true,
4102 "types": [
4103 {
4104 "type": "visibility_modifier",
4105 "named": true
4106 }
4107 ]
4108 }
4109 },
4110 "children": {
4111 "multiple": false,
4112 "required": false,
4113 "types": [
4114 {
4115 "type": "property_hook_list",
4116 "named": true
4117 }
4118 ]
4119 }
4120 },
4121 {
4122 "type": "qualified_name",
4123 "named": true,
4124 "fields": {
4125 "prefix": {
4126 "multiple": true,
4127 "required": true,
4128 "types": [
4129 {
4130 "type": "\\",
4131 "named": false
4132 },
4133 {
4134 "type": "namespace_name",
4135 "named": true
4136 }
4137 ]
4138 }
4139 },
4140 "children": {
4141 "multiple": false,
4142 "required": true,
4143 "types": [
4144 {
4145 "type": "name",
4146 "named": true
4147 }
4148 ]
4149 }
4150 },
4151 {
4152 "type": "readonly_modifier",
4153 "named": true,
4154 "fields": {}
4155 },
4156 {
4157 "type": "reference_assignment_expression",
4158 "named": true,
4159 "fields": {
4160 "left": {
4161 "multiple": false,
4162 "required": true,
4163 "types": [
4164 {
4165 "type": "cast_expression",
4166 "named": true
4167 },
4168 {
4169 "type": "dynamic_variable_name",
4170 "named": true
4171 },
4172 {
4173 "type": "function_call_expression",
4174 "named": true
4175 },
4176 {
4177 "type": "list_literal",
4178 "named": true
4179 },
4180 {
4181 "type": "member_access_expression",
4182 "named": true
4183 },
4184 {
4185 "type": "member_call_expression",
4186 "named": true
4187 },
4188 {
4189 "type": "nullsafe_member_access_expression",
4190 "named": true
4191 },
4192 {
4193 "type": "nullsafe_member_call_expression",
4194 "named": true
4195 },
4196 {
4197 "type": "scoped_call_expression",
4198 "named": true
4199 },
4200 {
4201 "type": "scoped_property_access_expression",
4202 "named": true
4203 },
4204 {
4205 "type": "subscript_expression",
4206 "named": true
4207 },
4208 {
4209 "type": "variable_name",
4210 "named": true
4211 }
4212 ]
4213 },
4214 "right": {
4215 "multiple": false,
4216 "required": true,
4217 "types": [
4218 {
4219 "type": "expression",
4220 "named": true
4221 }
4222 ]
4223 }
4224 }
4225 },
4226 {
4227 "type": "reference_modifier",
4228 "named": true,
4229 "fields": {}
4230 },
4231 {
4232 "type": "relative_scope",
4233 "named": true,
4234 "fields": {}
4235 },
4236 {
4237 "type": "require_expression",
4238 "named": true,
4239 "fields": {},
4240 "children": {
4241 "multiple": false,
4242 "required": true,
4243 "types": [
4244 {
4245 "type": "expression",
4246 "named": true
4247 }
4248 ]
4249 }
4250 },
4251 {
4252 "type": "require_once_expression",
4253 "named": true,
4254 "fields": {},
4255 "children": {
4256 "multiple": false,
4257 "required": true,
4258 "types": [
4259 {
4260 "type": "expression",
4261 "named": true
4262 }
4263 ]
4264 }
4265 },
4266 {
4267 "type": "return_statement",
4268 "named": true,
4269 "fields": {},
4270 "children": {
4271 "multiple": false,
4272 "required": false,
4273 "types": [
4274 {
4275 "type": "expression",
4276 "named": true
4277 }
4278 ]
4279 }
4280 },
4281 {
4282 "type": "scoped_call_expression",
4283 "named": true,
4284 "fields": {
4285 "arguments": {
4286 "multiple": false,
4287 "required": true,
4288 "types": [
4289 {
4290 "type": "arguments",
4291 "named": true
4292 }
4293 ]
4294 },
4295 "name": {
4296 "multiple": false,
4297 "required": true,
4298 "types": [
4299 {
4300 "type": "dynamic_variable_name",
4301 "named": true
4302 },
4303 {
4304 "type": "expression",
4305 "named": true
4306 },
4307 {
4308 "type": "name",
4309 "named": true
4310 },
4311 {
4312 "type": "variable_name",
4313 "named": true
4314 }
4315 ]
4316 },
4317 "scope": {
4318 "multiple": false,
4319 "required": true,
4320 "types": [
4321 {
4322 "type": "array_creation_expression",
4323 "named": true
4324 },
4325 {
4326 "type": "cast_expression",
4327 "named": true
4328 },
4329 {
4330 "type": "class_constant_access_expression",
4331 "named": true
4332 },
4333 {
4334 "type": "dynamic_variable_name",
4335 "named": true
4336 },
4337 {
4338 "type": "encapsed_string",
4339 "named": true
4340 },
4341 {
4342 "type": "function_call_expression",
4343 "named": true
4344 },
4345 {
4346 "type": "heredoc",
4347 "named": true
4348 },
4349 {
4350 "type": "member_access_expression",
4351 "named": true
4352 },
4353 {
4354 "type": "member_call_expression",
4355 "named": true
4356 },
4357 {
4358 "type": "name",
4359 "named": true
4360 },
4361 {
4362 "type": "nowdoc",
4363 "named": true
4364 },
4365 {
4366 "type": "nullsafe_member_access_expression",
4367 "named": true
4368 },
4369 {
4370 "type": "nullsafe_member_call_expression",
4371 "named": true
4372 },
4373 {
4374 "type": "object_creation_expression",
4375 "named": true
4376 },
4377 {
4378 "type": "parenthesized_expression",
4379 "named": true
4380 },
4381 {
4382 "type": "qualified_name",
4383 "named": true
4384 },
4385 {
4386 "type": "relative_scope",
4387 "named": true
4388 },
4389 {
4390 "type": "scoped_call_expression",
4391 "named": true
4392 },
4393 {
4394 "type": "scoped_property_access_expression",
4395 "named": true
4396 },
4397 {
4398 "type": "string",
4399 "named": true
4400 },
4401 {
4402 "type": "subscript_expression",
4403 "named": true
4404 },
4405 {
4406 "type": "variable_name",
4407 "named": true
4408 }
4409 ]
4410 }
4411 }
4412 },
4413 {
4414 "type": "scoped_property_access_expression",
4415 "named": true,
4416 "fields": {
4417 "name": {
4418 "multiple": false,
4419 "required": true,
4420 "types": [
4421 {
4422 "type": "dynamic_variable_name",
4423 "named": true
4424 },
4425 {
4426 "type": "variable_name",
4427 "named": true
4428 }
4429 ]
4430 },
4431 "scope": {
4432 "multiple": false,
4433 "required": true,
4434 "types": [
4435 {
4436 "type": "array_creation_expression",
4437 "named": true
4438 },
4439 {
4440 "type": "cast_expression",
4441 "named": true
4442 },
4443 {
4444 "type": "class_constant_access_expression",
4445 "named": true
4446 },
4447 {
4448 "type": "dynamic_variable_name",
4449 "named": true
4450 },
4451 {
4452 "type": "encapsed_string",
4453 "named": true
4454 },
4455 {
4456 "type": "function_call_expression",
4457 "named": true
4458 },
4459 {
4460 "type": "heredoc",
4461 "named": true
4462 },
4463 {
4464 "type": "member_access_expression",
4465 "named": true
4466 },
4467 {
4468 "type": "member_call_expression",
4469 "named": true
4470 },
4471 {
4472 "type": "name",
4473 "named": true
4474 },
4475 {
4476 "type": "nowdoc",
4477 "named": true
4478 },
4479 {
4480 "type": "nullsafe_member_access_expression",
4481 "named": true
4482 },
4483 {
4484 "type": "nullsafe_member_call_expression",
4485 "named": true
4486 },
4487 {
4488 "type": "object_creation_expression",
4489 "named": true
4490 },
4491 {
4492 "type": "parenthesized_expression",
4493 "named": true
4494 },
4495 {
4496 "type": "qualified_name",
4497 "named": true
4498 },
4499 {
4500 "type": "relative_scope",
4501 "named": true
4502 },
4503 {
4504 "type": "scoped_call_expression",
4505 "named": true
4506 },
4507 {
4508 "type": "scoped_property_access_expression",
4509 "named": true
4510 },
4511 {
4512 "type": "string",
4513 "named": true
4514 },
4515 {
4516 "type": "subscript_expression",
4517 "named": true
4518 },
4519 {
4520 "type": "variable_name",
4521 "named": true
4522 }
4523 ]
4524 }
4525 }
4526 },
4527 {
4528 "type": "sequence_expression",
4529 "named": true,
4530 "fields": {},
4531 "children": {
4532 "multiple": true,
4533 "required": true,
4534 "types": [
4535 {
4536 "type": "expression",
4537 "named": true
4538 },
4539 {
4540 "type": "sequence_expression",
4541 "named": true
4542 }
4543 ]
4544 }
4545 },
4546 {
4547 "type": "shell_command_expression",
4548 "named": true,
4549 "fields": {},
4550 "children": {
4551 "multiple": true,
4552 "required": false,
4553 "types": [
4554 {
4555 "type": "dynamic_variable_name",
4556 "named": true
4557 },
4558 {
4559 "type": "escape_sequence",
4560 "named": true
4561 },
4562 {
4563 "type": "expression",
4564 "named": true
4565 },
4566 {
4567 "type": "member_access_expression",
4568 "named": true
4569 },
4570 {
4571 "type": "string_content",
4572 "named": true
4573 },
4574 {
4575 "type": "subscript_expression",
4576 "named": true
4577 },
4578 {
4579 "type": "variable_name",
4580 "named": true
4581 }
4582 ]
4583 }
4584 },
4585 {
4586 "type": "simple_parameter",
4587 "named": true,
4588 "fields": {
4589 "attributes": {
4590 "multiple": false,
4591 "required": false,
4592 "types": [
4593 {
4594 "type": "attribute_list",
4595 "named": true
4596 }
4597 ]
4598 },
4599 "default_value": {
4600 "multiple": false,
4601 "required": false,
4602 "types": [
4603 {
4604 "type": "expression",
4605 "named": true
4606 }
4607 ]
4608 },
4609 "name": {
4610 "multiple": false,
4611 "required": true,
4612 "types": [
4613 {
4614 "type": "variable_name",
4615 "named": true
4616 }
4617 ]
4618 },
4619 "reference_modifier": {
4620 "multiple": false,
4621 "required": false,
4622 "types": [
4623 {
4624 "type": "reference_modifier",
4625 "named": true
4626 }
4627 ]
4628 },
4629 "type": {
4630 "multiple": false,
4631 "required": false,
4632 "types": [
4633 {
4634 "type": "type",
4635 "named": true
4636 }
4637 ]
4638 }
4639 }
4640 },
4641 {
4642 "type": "static_modifier",
4643 "named": true,
4644 "fields": {}
4645 },
4646 {
4647 "type": "static_variable_declaration",
4648 "named": true,
4649 "fields": {
4650 "name": {
4651 "multiple": false,
4652 "required": true,
4653 "types": [
4654 {
4655 "type": "variable_name",
4656 "named": true
4657 }
4658 ]
4659 },
4660 "value": {
4661 "multiple": false,
4662 "required": false,
4663 "types": [
4664 {
4665 "type": "expression",
4666 "named": true
4667 }
4668 ]
4669 }
4670 }
4671 },
4672 {
4673 "type": "string",
4674 "named": true,
4675 "fields": {},
4676 "children": {
4677 "multiple": true,
4678 "required": false,
4679 "types": [
4680 {
4681 "type": "escape_sequence",
4682 "named": true
4683 },
4684 {
4685 "type": "string_content",
4686 "named": true
4687 }
4688 ]
4689 }
4690 },
4691 {
4692 "type": "string_content",
4693 "named": true,
4694 "fields": {}
4695 },
4696 {
4697 "type": "subscript_expression",
4698 "named": true,
4699 "fields": {},
4700 "children": {
4701 "multiple": true,
4702 "required": true,
4703 "types": [
4704 {
4705 "type": "array_creation_expression",
4706 "named": true
4707 },
4708 {
4709 "type": "class_constant_access_expression",
4710 "named": true
4711 },
4712 {
4713 "type": "dynamic_variable_name",
4714 "named": true
4715 },
4716 {
4717 "type": "encapsed_string",
4718 "named": true
4719 },
4720 {
4721 "type": "expression",
4722 "named": true
4723 },
4724 {
4725 "type": "function_call_expression",
4726 "named": true
4727 },
4728 {
4729 "type": "heredoc",
4730 "named": true
4731 },
4732 {
4733 "type": "integer",
4734 "named": true
4735 },
4736 {
4737 "type": "member_access_expression",
4738 "named": true
4739 },
4740 {
4741 "type": "member_call_expression",
4742 "named": true
4743 },
4744 {
4745 "type": "name",
4746 "named": true
4747 },
4748 {
4749 "type": "nowdoc",
4750 "named": true
4751 },
4752 {
4753 "type": "nullsafe_member_access_expression",
4754 "named": true
4755 },
4756 {
4757 "type": "nullsafe_member_call_expression",
4758 "named": true
4759 },
4760 {
4761 "type": "object_creation_expression",
4762 "named": true
4763 },
4764 {
4765 "type": "parenthesized_expression",
4766 "named": true
4767 },
4768 {
4769 "type": "qualified_name",
4770 "named": true
4771 },
4772 {
4773 "type": "scoped_call_expression",
4774 "named": true
4775 },
4776 {
4777 "type": "scoped_property_access_expression",
4778 "named": true
4779 },
4780 {
4781 "type": "string",
4782 "named": true
4783 },
4784 {
4785 "type": "subscript_expression",
4786 "named": true
4787 },
4788 {
4789 "type": "variable_name",
4790 "named": true
4791 }
4792 ]
4793 }
4794 },
4795 {
4796 "type": "switch_block",
4797 "named": true,
4798 "fields": {},
4799 "children": {
4800 "multiple": true,
4801 "required": false,
4802 "types": [
4803 {
4804 "type": "case_statement",
4805 "named": true
4806 },
4807 {
4808 "type": "default_statement",
4809 "named": true
4810 }
4811 ]
4812 }
4813 },
4814 {
4815 "type": "switch_statement",
4816 "named": true,
4817 "fields": {
4818 "body": {
4819 "multiple": false,
4820 "required": true,
4821 "types": [
4822 {
4823 "type": "switch_block",
4824 "named": true
4825 }
4826 ]
4827 },
4828 "condition": {
4829 "multiple": false,
4830 "required": true,
4831 "types": [
4832 {
4833 "type": "parenthesized_expression",
4834 "named": true
4835 }
4836 ]
4837 }
4838 }
4839 },
4840 {
4841 "type": "text",
4842 "named": true,
4843 "fields": {}
4844 },
4845 {
4846 "type": "text_interpolation",
4847 "named": true,
4848 "fields": {},
4849 "children": {
4850 "multiple": true,
4851 "required": false,
4852 "types": [
4853 {
4854 "type": "php_tag",
4855 "named": true
4856 },
4857 {
4858 "type": "text",
4859 "named": true
4860 }
4861 ]
4862 }
4863 },
4864 {
4865 "type": "throw_expression",
4866 "named": true,
4867 "fields": {},
4868 "children": {
4869 "multiple": false,
4870 "required": true,
4871 "types": [
4872 {
4873 "type": "expression",
4874 "named": true
4875 }
4876 ]
4877 }
4878 },
4879 {
4880 "type": "trait_declaration",
4881 "named": true,
4882 "fields": {
4883 "attributes": {
4884 "multiple": false,
4885 "required": false,
4886 "types": [
4887 {
4888 "type": "attribute_list",
4889 "named": true
4890 }
4891 ]
4892 },
4893 "body": {
4894 "multiple": false,
4895 "required": true,
4896 "types": [
4897 {
4898 "type": "declaration_list",
4899 "named": true
4900 }
4901 ]
4902 },
4903 "name": {
4904 "multiple": false,
4905 "required": true,
4906 "types": [
4907 {
4908 "type": "name",
4909 "named": true
4910 }
4911 ]
4912 }
4913 }
4914 },
4915 {
4916 "type": "try_statement",
4917 "named": true,
4918 "fields": {
4919 "body": {
4920 "multiple": false,
4921 "required": true,
4922 "types": [
4923 {
4924 "type": "compound_statement",
4925 "named": true
4926 }
4927 ]
4928 }
4929 },
4930 "children": {
4931 "multiple": true,
4932 "required": true,
4933 "types": [
4934 {
4935 "type": "catch_clause",
4936 "named": true
4937 },
4938 {
4939 "type": "finally_clause",
4940 "named": true
4941 }
4942 ]
4943 }
4944 },
4945 {
4946 "type": "type_list",
4947 "named": true,
4948 "fields": {},
4949 "children": {
4950 "multiple": true,
4951 "required": true,
4952 "types": [
4953 {
4954 "type": "named_type",
4955 "named": true
4956 }
4957 ]
4958 }
4959 },
4960 {
4961 "type": "unary_op_expression",
4962 "named": true,
4963 "fields": {
4964 "argument": {
4965 "multiple": false,
4966 "required": false,
4967 "types": [
4968 {
4969 "type": "expression",
4970 "named": true
4971 }
4972 ]
4973 },
4974 "operator": {
4975 "multiple": false,
4976 "required": false,
4977 "types": [
4978 {
4979 "type": "!",
4980 "named": false
4981 },
4982 {
4983 "type": "+",
4984 "named": false
4985 },
4986 {
4987 "type": "-",
4988 "named": false
4989 },
4990 {
4991 "type": "~",
4992 "named": false
4993 }
4994 ]
4995 }
4996 },
4997 "children": {
4998 "multiple": false,
4999 "required": false,
5000 "types": [
5001 {
5002 "type": "integer",
5003 "named": true
5004 }
5005 ]
5006 }
5007 },
5008 {
5009 "type": "union_type",
5010 "named": true,
5011 "fields": {},
5012 "children": {
5013 "multiple": true,
5014 "required": true,
5015 "types": [
5016 {
5017 "type": "named_type",
5018 "named": true
5019 },
5020 {
5021 "type": "optional_type",
5022 "named": true
5023 },
5024 {
5025 "type": "primitive_type",
5026 "named": true
5027 }
5028 ]
5029 }
5030 },
5031 {
5032 "type": "unset_statement",
5033 "named": true,
5034 "fields": {},
5035 "children": {
5036 "multiple": true,
5037 "required": true,
5038 "types": [
5039 {
5040 "type": "cast_expression",
5041 "named": true
5042 },
5043 {
5044 "type": "dynamic_variable_name",
5045 "named": true
5046 },
5047 {
5048 "type": "function_call_expression",
5049 "named": true
5050 },
5051 {
5052 "type": "member_access_expression",
5053 "named": true
5054 },
5055 {
5056 "type": "member_call_expression",
5057 "named": true
5058 },
5059 {
5060 "type": "nullsafe_member_access_expression",
5061 "named": true
5062 },
5063 {
5064 "type": "nullsafe_member_call_expression",
5065 "named": true
5066 },
5067 {
5068 "type": "scoped_call_expression",
5069 "named": true
5070 },
5071 {
5072 "type": "scoped_property_access_expression",
5073 "named": true
5074 },
5075 {
5076 "type": "subscript_expression",
5077 "named": true
5078 },
5079 {
5080 "type": "variable_name",
5081 "named": true
5082 }
5083 ]
5084 }
5085 },
5086 {
5087 "type": "update_expression",
5088 "named": true,
5089 "fields": {
5090 "argument": {
5091 "multiple": false,
5092 "required": true,
5093 "types": [
5094 {
5095 "type": "cast_expression",
5096 "named": true
5097 },
5098 {
5099 "type": "dynamic_variable_name",
5100 "named": true
5101 },
5102 {
5103 "type": "function_call_expression",
5104 "named": true
5105 },
5106 {
5107 "type": "member_access_expression",
5108 "named": true
5109 },
5110 {
5111 "type": "member_call_expression",
5112 "named": true
5113 },
5114 {
5115 "type": "nullsafe_member_access_expression",
5116 "named": true
5117 },
5118 {
5119 "type": "nullsafe_member_call_expression",
5120 "named": true
5121 },
5122 {
5123 "type": "scoped_call_expression",
5124 "named": true
5125 },
5126 {
5127 "type": "scoped_property_access_expression",
5128 "named": true
5129 },
5130 {
5131 "type": "subscript_expression",
5132 "named": true
5133 },
5134 {
5135 "type": "variable_name",
5136 "named": true
5137 }
5138 ]
5139 },
5140 "operator": {
5141 "multiple": false,
5142 "required": true,
5143 "types": [
5144 {
5145 "type": "++",
5146 "named": false
5147 },
5148 {
5149 "type": "--",
5150 "named": false
5151 }
5152 ]
5153 }
5154 }
5155 },
5156 {
5157 "type": "use_as_clause",
5158 "named": true,
5159 "fields": {},
5160 "children": {
5161 "multiple": true,
5162 "required": true,
5163 "types": [
5164 {
5165 "type": "class_constant_access_expression",
5166 "named": true
5167 },
5168 {
5169 "type": "name",
5170 "named": true
5171 },
5172 {
5173 "type": "visibility_modifier",
5174 "named": true
5175 }
5176 ]
5177 }
5178 },
5179 {
5180 "type": "use_declaration",
5181 "named": true,
5182 "fields": {},
5183 "children": {
5184 "multiple": true,
5185 "required": true,
5186 "types": [
5187 {
5188 "type": "name",
5189 "named": true
5190 },
5191 {
5192 "type": "qualified_name",
5193 "named": true
5194 },
5195 {
5196 "type": "use_list",
5197 "named": true
5198 }
5199 ]
5200 }
5201 },
5202 {
5203 "type": "use_instead_of_clause",
5204 "named": true,
5205 "fields": {},
5206 "children": {
5207 "multiple": true,
5208 "required": true,
5209 "types": [
5210 {
5211 "type": "class_constant_access_expression",
5212 "named": true
5213 },
5214 {
5215 "type": "name",
5216 "named": true
5217 }
5218 ]
5219 }
5220 },
5221 {
5222 "type": "use_list",
5223 "named": true,
5224 "fields": {},
5225 "children": {
5226 "multiple": true,
5227 "required": false,
5228 "types": [
5229 {
5230 "type": "use_as_clause",
5231 "named": true
5232 },
5233 {
5234 "type": "use_instead_of_clause",
5235 "named": true
5236 }
5237 ]
5238 }
5239 },
5240 {
5241 "type": "variable_name",
5242 "named": true,
5243 "fields": {},
5244 "children": {
5245 "multiple": false,
5246 "required": true,
5247 "types": [
5248 {
5249 "type": "name",
5250 "named": true
5251 }
5252 ]
5253 }
5254 },
5255 {
5256 "type": "variadic_parameter",
5257 "named": true,
5258 "fields": {
5259 "attributes": {
5260 "multiple": false,
5261 "required": false,
5262 "types": [
5263 {
5264 "type": "attribute_list",
5265 "named": true
5266 }
5267 ]
5268 },
5269 "name": {
5270 "multiple": false,
5271 "required": true,
5272 "types": [
5273 {
5274 "type": "variable_name",
5275 "named": true
5276 }
5277 ]
5278 },
5279 "reference_modifier": {
5280 "multiple": false,
5281 "required": false,
5282 "types": [
5283 {
5284 "type": "reference_modifier",
5285 "named": true
5286 }
5287 ]
5288 },
5289 "type": {
5290 "multiple": false,
5291 "required": false,
5292 "types": [
5293 {
5294 "type": "type",
5295 "named": true
5296 }
5297 ]
5298 }
5299 }
5300 },
5301 {
5302 "type": "variadic_placeholder",
5303 "named": true,
5304 "fields": {}
5305 },
5306 {
5307 "type": "variadic_unpacking",
5308 "named": true,
5309 "fields": {},
5310 "children": {
5311 "multiple": false,
5312 "required": true,
5313 "types": [
5314 {
5315 "type": "expression",
5316 "named": true
5317 }
5318 ]
5319 }
5320 },
5321 {
5322 "type": "visibility_modifier",
5323 "named": true,
5324 "fields": {}
5325 },
5326 {
5327 "type": "while_statement",
5328 "named": true,
5329 "fields": {
5330 "body": {
5331 "multiple": false,
5332 "required": true,
5333 "types": [
5334 {
5335 "type": "colon_block",
5336 "named": true
5337 },
5338 {
5339 "type": "statement",
5340 "named": true
5341 }
5342 ]
5343 },
5344 "condition": {
5345 "multiple": false,
5346 "required": true,
5347 "types": [
5348 {
5349 "type": "parenthesized_expression",
5350 "named": true
5351 }
5352 ]
5353 }
5354 }
5355 },
5356 {
5357 "type": "yield_expression",
5358 "named": true,
5359 "fields": {},
5360 "children": {
5361 "multiple": false,
5362 "required": false,
5363 "types": [
5364 {
5365 "type": "array_element_initializer",
5366 "named": true
5367 },
5368 {
5369 "type": "expression",
5370 "named": true
5371 }
5372 ]
5373 }
5374 },
5375 {
5376 "type": "!",
5377 "named": false
5378 },
5379 {
5380 "type": "!=",
5381 "named": false
5382 },
5383 {
5384 "type": "!==",
5385 "named": false
5386 },
5387 {
5388 "type": "\"",
5389 "named": false
5390 },
5391 {
5392 "type": "#[",
5393 "named": false
5394 },
5395 {
5396 "type": "$",
5397 "named": false
5398 },
5399 {
5400 "type": "%",
5401 "named": false
5402 },
5403 {
5404 "type": "%=",
5405 "named": false
5406 },
5407 {
5408 "type": "&",
5409 "named": false
5410 },
5411 {
5412 "type": "&&",
5413 "named": false
5414 },
5415 {
5416 "type": "&=",
5417 "named": false
5418 },
5419 {
5420 "type": "'",
5421 "named": false
5422 },
5423 {
5424 "type": "(",
5425 "named": false
5426 },
5427 {
5428 "type": ")",
5429 "named": false
5430 },
5431 {
5432 "type": "*",
5433 "named": false
5434 },
5435 {
5436 "type": "**",
5437 "named": false
5438 },
5439 {
5440 "type": "**=",
5441 "named": false
5442 },
5443 {
5444 "type": "*=",
5445 "named": false
5446 },
5447 {
5448 "type": "+",
5449 "named": false
5450 },
5451 {
5452 "type": "++",
5453 "named": false
5454 },
5455 {
5456 "type": "+=",
5457 "named": false
5458 },
5459 {
5460 "type": ",",
5461 "named": false
5462 },
5463 {
5464 "type": "-",
5465 "named": false
5466 },
5467 {
5468 "type": "--",
5469 "named": false
5470 },
5471 {
5472 "type": "-=",
5473 "named": false
5474 },
5475 {
5476 "type": "->",
5477 "named": false
5478 },
5479 {
5480 "type": ".",
5481 "named": false
5482 },
5483 {
5484 "type": "...",
5485 "named": false
5486 },
5487 {
5488 "type": ".=",
5489 "named": false
5490 },
5491 {
5492 "type": "/",
5493 "named": false
5494 },
5495 {
5496 "type": "/=",
5497 "named": false
5498 },
5499 {
5500 "type": ":",
5501 "named": false
5502 },
5503 {
5504 "type": "::",
5505 "named": false
5506 },
5507 {
5508 "type": ";",
5509 "named": false
5510 },
5511 {
5512 "type": "<",
5513 "named": false
5514 },
5515 {
5516 "type": "<<",
5517 "named": false
5518 },
5519 {
5520 "type": "<<<",
5521 "named": false
5522 },
5523 {
5524 "type": "<<=",
5525 "named": false
5526 },
5527 {
5528 "type": "<=",
5529 "named": false
5530 },
5531 {
5532 "type": "<=>",
5533 "named": false
5534 },
5535 {
5536 "type": "<>",
5537 "named": false
5538 },
5539 {
5540 "type": "=",
5541 "named": false
5542 },
5543 {
5544 "type": "==",
5545 "named": false
5546 },
5547 {
5548 "type": "===",
5549 "named": false
5550 },
5551 {
5552 "type": "=>",
5553 "named": false
5554 },
5555 {
5556 "type": ">",
5557 "named": false
5558 },
5559 {
5560 "type": ">=",
5561 "named": false
5562 },
5563 {
5564 "type": ">>",
5565 "named": false
5566 },
5567 {
5568 "type": ">>=",
5569 "named": false
5570 },
5571 {
5572 "type": "?",
5573 "named": false
5574 },
5575 {
5576 "type": "?->",
5577 "named": false
5578 },
5579 {
5580 "type": "?>",
5581 "named": false
5582 },
5583 {
5584 "type": "??",
5585 "named": false
5586 },
5587 {
5588 "type": "??=",
5589 "named": false
5590 },
5591 {
5592 "type": "@",
5593 "named": false
5594 },
5595 {
5596 "type": "[",
5597 "named": false
5598 },
5599 {
5600 "type": "\\",
5601 "named": false
5602 },
5603 {
5604 "type": "]",
5605 "named": false
5606 },
5607 {
5608 "type": "^",
5609 "named": false
5610 },
5611 {
5612 "type": "^=",
5613 "named": false
5614 },
5615 {
5616 "type": "`",
5617 "named": false
5618 },
5619 {
5620 "type": "abstract",
5621 "named": false
5622 },
5623 {
5624 "type": "and",
5625 "named": false
5626 },
5627 {
5628 "type": "array",
5629 "named": false
5630 },
5631 {
5632 "type": "as",
5633 "named": false
5634 },
5635 {
5636 "type": "bool",
5637 "named": false
5638 },
5639 {
5640 "type": "bottom_type",
5641 "named": true
5642 },
5643 {
5644 "type": "break",
5645 "named": false
5646 },
5647 {
5648 "type": "callable",
5649 "named": false
5650 },
5651 {
5652 "type": "case",
5653 "named": false
5654 },
5655 {
5656 "type": "catch",
5657 "named": false
5658 },
5659 {
5660 "type": "class",
5661 "named": false
5662 },
5663 {
5664 "type": "clone",
5665 "named": false
5666 },
5667 {
5668 "type": "comment",
5669 "named": true
5670 },
5671 {
5672 "type": "const",
5673 "named": false
5674 },
5675 {
5676 "type": "continue",
5677 "named": false
5678 },
5679 {
5680 "type": "declare",
5681 "named": false
5682 },
5683 {
5684 "type": "default",
5685 "named": false
5686 },
5687 {
5688 "type": "do",
5689 "named": false
5690 },
5691 {
5692 "type": "echo",
5693 "named": false
5694 },
5695 {
5696 "type": "else",
5697 "named": false
5698 },
5699 {
5700 "type": "elseif",
5701 "named": false
5702 },
5703 {
5704 "type": "encoding",
5705 "named": false
5706 },
5707 {
5708 "type": "enddeclare",
5709 "named": false
5710 },
5711 {
5712 "type": "endfor",
5713 "named": false
5714 },
5715 {
5716 "type": "endforeach",
5717 "named": false
5718 },
5719 {
5720 "type": "endif",
5721 "named": false
5722 },
5723 {
5724 "type": "endswitch",
5725 "named": false
5726 },
5727 {
5728 "type": "endwhile",
5729 "named": false
5730 },
5731 {
5732 "type": "enum",
5733 "named": false
5734 },
5735 {
5736 "type": "escape_sequence",
5737 "named": true
5738 },
5739 {
5740 "type": "exit",
5741 "named": false
5742 },
5743 {
5744 "type": "extends",
5745 "named": false
5746 },
5747 {
5748 "type": "false",
5749 "named": false
5750 },
5751 {
5752 "type": "final",
5753 "named": false
5754 },
5755 {
5756 "type": "finally",
5757 "named": false
5758 },
5759 {
5760 "type": "float",
5761 "named": false
5762 },
5763 {
5764 "type": "float",
5765 "named": true
5766 },
5767 {
5768 "type": "fn",
5769 "named": false
5770 },
5771 {
5772 "type": "for",
5773 "named": false
5774 },
5775 {
5776 "type": "foreach",
5777 "named": false
5778 },
5779 {
5780 "type": "from",
5781 "named": false
5782 },
5783 {
5784 "type": "function",
5785 "named": false
5786 },
5787 {
5788 "type": "global",
5789 "named": false
5790 },
5791 {
5792 "type": "goto",
5793 "named": false
5794 },
5795 {
5796 "type": "heredoc_end",
5797 "named": true
5798 },
5799 {
5800 "type": "heredoc_start",
5801 "named": true
5802 },
5803 {
5804 "type": "if",
5805 "named": false
5806 },
5807 {
5808 "type": "implements",
5809 "named": false
5810 },
5811 {
5812 "type": "include",
5813 "named": false
5814 },
5815 {
5816 "type": "include_once",
5817 "named": false
5818 },
5819 {
5820 "type": "instanceof",
5821 "named": false
5822 },
5823 {
5824 "type": "insteadof",
5825 "named": false
5826 },
5827 {
5828 "type": "int",
5829 "named": false
5830 },
5831 {
5832 "type": "integer",
5833 "named": true
5834 },
5835 {
5836 "type": "interface",
5837 "named": false
5838 },
5839 {
5840 "type": "iterable",
5841 "named": false
5842 },
5843 {
5844 "type": "list",
5845 "named": false
5846 },
5847 {
5848 "type": "match",
5849 "named": false
5850 },
5851 {
5852 "type": "mixed",
5853 "named": false
5854 },
5855 {
5856 "type": "namespace",
5857 "named": false
5858 },
5859 {
5860 "type": "new",
5861 "named": false
5862 },
5863 {
5864 "type": "nowdoc_string",
5865 "named": true
5866 },
5867 {
5868 "type": "null",
5869 "named": false
5870 },
5871 {
5872 "type": "or",
5873 "named": false
5874 },
5875 {
5876 "type": "parent",
5877 "named": false
5878 },
5879 {
5880 "type": "php_tag",
5881 "named": true
5882 },
5883 {
5884 "type": "print",
5885 "named": false
5886 },
5887 {
5888 "type": "private",
5889 "named": false
5890 },
5891 {
5892 "type": "protected",
5893 "named": false
5894 },
5895 {
5896 "type": "public",
5897 "named": false
5898 },
5899 {
5900 "type": "readonly",
5901 "named": false
5902 },
5903 {
5904 "type": "require",
5905 "named": false
5906 },
5907 {
5908 "type": "require_once",
5909 "named": false
5910 },
5911 {
5912 "type": "return",
5913 "named": false
5914 },
5915 {
5916 "type": "self",
5917 "named": false
5918 },
5919 {
5920 "type": "static",
5921 "named": false
5922 },
5923 {
5924 "type": "strict_types",
5925 "named": false
5926 },
5927 {
5928 "type": "string",
5929 "named": false
5930 },
5931 {
5932 "type": "switch",
5933 "named": false
5934 },
5935 {
5936 "type": "throw",
5937 "named": false
5938 },
5939 {
5940 "type": "ticks",
5941 "named": false
5942 },
5943 {
5944 "type": "trait",
5945 "named": false
5946 },
5947 {
5948 "type": "true",
5949 "named": false
5950 },
5951 {
5952 "type": "try",
5953 "named": false
5954 },
5955 {
5956 "type": "unset",
5957 "named": false
5958 },
5959 {
5960 "type": "use",
5961 "named": false
5962 },
5963 {
5964 "type": "var_modifier",
5965 "named": true
5966 },
5967 {
5968 "type": "void",
5969 "named": false
5970 },
5971 {
5972 "type": "while",
5973 "named": false
5974 },
5975 {
5976 "type": "xor",
5977 "named": false
5978 },
5979 {
5980 "type": "yield",
5981 "named": false
5982 },
5983 {
5984 "type": "{",
5985 "named": false
5986 },
5987 {
5988 "type": "|",
5989 "named": false
5990 },
5991 {
5992 "type": "|=",
5993 "named": false
5994 },
5995 {
5996 "type": "||",
5997 "named": false
5998 },
5999 {
6000 "type": "}",
6001 "named": false
6002 },
6003 {
6004 "type": "~",
6005 "named": false
6006 }
6007]