1[
2 {
3 "type": "_abstract_declarator",
4 "named": true,
5 "subtypes": [
6 {
7 "type": "abstract_array_declarator",
8 "named": true
9 },
10 {
11 "type": "abstract_function_declarator",
12 "named": true
13 },
14 {
15 "type": "abstract_parenthesized_declarator",
16 "named": true
17 },
18 {
19 "type": "abstract_pointer_declarator",
20 "named": true
21 },
22 {
23 "type": "abstract_reference_declarator",
24 "named": true
25 }
26 ]
27 },
28 {
29 "type": "_declarator",
30 "named": true,
31 "subtypes": [
32 {
33 "type": "array_declarator",
34 "named": true
35 },
36 {
37 "type": "attributed_declarator",
38 "named": true
39 },
40 {
41 "type": "destructor_name",
42 "named": true
43 },
44 {
45 "type": "function_declarator",
46 "named": true
47 },
48 {
49 "type": "identifier",
50 "named": true
51 },
52 {
53 "type": "operator_name",
54 "named": true
55 },
56 {
57 "type": "parenthesized_declarator",
58 "named": true
59 },
60 {
61 "type": "pointer_declarator",
62 "named": true
63 },
64 {
65 "type": "qualified_identifier",
66 "named": true
67 },
68 {
69 "type": "reference_declarator",
70 "named": true
71 },
72 {
73 "type": "structured_binding_declarator",
74 "named": true
75 },
76 {
77 "type": "template_function",
78 "named": true
79 }
80 ]
81 },
82 {
83 "type": "_expression",
84 "named": true,
85 "subtypes": [
86 {
87 "type": "alignof_expression",
88 "named": true
89 },
90 {
91 "type": "assignment_expression",
92 "named": true
93 },
94 {
95 "type": "binary_expression",
96 "named": true
97 },
98 {
99 "type": "call_expression",
100 "named": true
101 },
102 {
103 "type": "cast_expression",
104 "named": true
105 },
106 {
107 "type": "char_literal",
108 "named": true
109 },
110 {
111 "type": "co_await_expression",
112 "named": true
113 },
114 {
115 "type": "compound_literal_expression",
116 "named": true
117 },
118 {
119 "type": "concatenated_string",
120 "named": true
121 },
122 {
123 "type": "conditional_expression",
124 "named": true
125 },
126 {
127 "type": "delete_expression",
128 "named": true
129 },
130 {
131 "type": "false",
132 "named": true
133 },
134 {
135 "type": "field_expression",
136 "named": true
137 },
138 {
139 "type": "fold_expression",
140 "named": true
141 },
142 {
143 "type": "generic_expression",
144 "named": true
145 },
146 {
147 "type": "gnu_asm_expression",
148 "named": true
149 },
150 {
151 "type": "identifier",
152 "named": true
153 },
154 {
155 "type": "lambda_expression",
156 "named": true
157 },
158 {
159 "type": "new_expression",
160 "named": true
161 },
162 {
163 "type": "null",
164 "named": true
165 },
166 {
167 "type": "number_literal",
168 "named": true
169 },
170 {
171 "type": "offsetof_expression",
172 "named": true
173 },
174 {
175 "type": "parameter_pack_expansion",
176 "named": true
177 },
178 {
179 "type": "parenthesized_expression",
180 "named": true
181 },
182 {
183 "type": "pointer_expression",
184 "named": true
185 },
186 {
187 "type": "qualified_identifier",
188 "named": true
189 },
190 {
191 "type": "raw_string_literal",
192 "named": true
193 },
194 {
195 "type": "requires_clause",
196 "named": true
197 },
198 {
199 "type": "requires_expression",
200 "named": true
201 },
202 {
203 "type": "sizeof_expression",
204 "named": true
205 },
206 {
207 "type": "string_literal",
208 "named": true
209 },
210 {
211 "type": "subscript_expression",
212 "named": true
213 },
214 {
215 "type": "template_function",
216 "named": true
217 },
218 {
219 "type": "this",
220 "named": true
221 },
222 {
223 "type": "true",
224 "named": true
225 },
226 {
227 "type": "unary_expression",
228 "named": true
229 },
230 {
231 "type": "update_expression",
232 "named": true
233 },
234 {
235 "type": "user_defined_literal",
236 "named": true
237 }
238 ]
239 },
240 {
241 "type": "_field_declarator",
242 "named": true,
243 "subtypes": [
244 {
245 "type": "array_declarator",
246 "named": true
247 },
248 {
249 "type": "attributed_declarator",
250 "named": true
251 },
252 {
253 "type": "field_identifier",
254 "named": true
255 },
256 {
257 "type": "function_declarator",
258 "named": true
259 },
260 {
261 "type": "operator_name",
262 "named": true
263 },
264 {
265 "type": "parenthesized_declarator",
266 "named": true
267 },
268 {
269 "type": "pointer_declarator",
270 "named": true
271 },
272 {
273 "type": "reference_declarator",
274 "named": true
275 },
276 {
277 "type": "template_method",
278 "named": true
279 }
280 ]
281 },
282 {
283 "type": "_statement",
284 "named": true,
285 "subtypes": [
286 {
287 "type": "attributed_statement",
288 "named": true
289 },
290 {
291 "type": "break_statement",
292 "named": true
293 },
294 {
295 "type": "case_statement",
296 "named": true
297 },
298 {
299 "type": "co_return_statement",
300 "named": true
301 },
302 {
303 "type": "co_yield_statement",
304 "named": true
305 },
306 {
307 "type": "compound_statement",
308 "named": true
309 },
310 {
311 "type": "continue_statement",
312 "named": true
313 },
314 {
315 "type": "do_statement",
316 "named": true
317 },
318 {
319 "type": "expression_statement",
320 "named": true
321 },
322 {
323 "type": "for_range_loop",
324 "named": true
325 },
326 {
327 "type": "for_statement",
328 "named": true
329 },
330 {
331 "type": "goto_statement",
332 "named": true
333 },
334 {
335 "type": "if_statement",
336 "named": true
337 },
338 {
339 "type": "labeled_statement",
340 "named": true
341 },
342 {
343 "type": "return_statement",
344 "named": true
345 },
346 {
347 "type": "seh_leave_statement",
348 "named": true
349 },
350 {
351 "type": "seh_try_statement",
352 "named": true
353 },
354 {
355 "type": "switch_statement",
356 "named": true
357 },
358 {
359 "type": "throw_statement",
360 "named": true
361 },
362 {
363 "type": "try_statement",
364 "named": true
365 },
366 {
367 "type": "while_statement",
368 "named": true
369 }
370 ]
371 },
372 {
373 "type": "_type_declarator",
374 "named": true,
375 "subtypes": [
376 {
377 "type": "array_declarator",
378 "named": true
379 },
380 {
381 "type": "attributed_declarator",
382 "named": true
383 },
384 {
385 "type": "function_declarator",
386 "named": true
387 },
388 {
389 "type": "parenthesized_declarator",
390 "named": true
391 },
392 {
393 "type": "pointer_declarator",
394 "named": true
395 },
396 {
397 "type": "primitive_type",
398 "named": true
399 },
400 {
401 "type": "reference_declarator",
402 "named": true
403 },
404 {
405 "type": "type_identifier",
406 "named": true
407 }
408 ]
409 },
410 {
411 "type": "_type_specifier",
412 "named": true,
413 "subtypes": [
414 {
415 "type": "class_specifier",
416 "named": true
417 },
418 {
419 "type": "decltype",
420 "named": true
421 },
422 {
423 "type": "dependent_type",
424 "named": true
425 },
426 {
427 "type": "enum_specifier",
428 "named": true
429 },
430 {
431 "type": "placeholder_type_specifier",
432 "named": true
433 },
434 {
435 "type": "primitive_type",
436 "named": true
437 },
438 {
439 "type": "qualified_identifier",
440 "named": true
441 },
442 {
443 "type": "sized_type_specifier",
444 "named": true
445 },
446 {
447 "type": "struct_specifier",
448 "named": true
449 },
450 {
451 "type": "template_type",
452 "named": true
453 },
454 {
455 "type": "type_identifier",
456 "named": true
457 },
458 {
459 "type": "union_specifier",
460 "named": true
461 }
462 ]
463 },
464 {
465 "type": "abstract_array_declarator",
466 "named": true,
467 "fields": {
468 "declarator": {
469 "multiple": false,
470 "required": false,
471 "types": [
472 {
473 "type": "_abstract_declarator",
474 "named": true
475 }
476 ]
477 },
478 "size": {
479 "multiple": false,
480 "required": false,
481 "types": [
482 {
483 "type": "*",
484 "named": false
485 },
486 {
487 "type": "_expression",
488 "named": true
489 }
490 ]
491 }
492 },
493 "children": {
494 "multiple": true,
495 "required": false,
496 "types": [
497 {
498 "type": "type_qualifier",
499 "named": true
500 }
501 ]
502 }
503 },
504 {
505 "type": "abstract_function_declarator",
506 "named": true,
507 "fields": {
508 "declarator": {
509 "multiple": false,
510 "required": false,
511 "types": [
512 {
513 "type": "_abstract_declarator",
514 "named": true
515 }
516 ]
517 },
518 "parameters": {
519 "multiple": false,
520 "required": true,
521 "types": [
522 {
523 "type": "parameter_list",
524 "named": true
525 }
526 ]
527 }
528 },
529 "children": {
530 "multiple": true,
531 "required": false,
532 "types": [
533 {
534 "type": "attribute_declaration",
535 "named": true
536 },
537 {
538 "type": "attribute_specifier",
539 "named": true
540 },
541 {
542 "type": "gnu_asm_expression",
543 "named": true
544 },
545 {
546 "type": "noexcept",
547 "named": true
548 },
549 {
550 "type": "ref_qualifier",
551 "named": true
552 },
553 {
554 "type": "requires_clause",
555 "named": true
556 },
557 {
558 "type": "throw_specifier",
559 "named": true
560 },
561 {
562 "type": "trailing_return_type",
563 "named": true
564 },
565 {
566 "type": "type_qualifier",
567 "named": true
568 },
569 {
570 "type": "virtual_specifier",
571 "named": true
572 }
573 ]
574 }
575 },
576 {
577 "type": "abstract_parenthesized_declarator",
578 "named": true,
579 "fields": {},
580 "children": {
581 "multiple": true,
582 "required": true,
583 "types": [
584 {
585 "type": "_abstract_declarator",
586 "named": true
587 },
588 {
589 "type": "ms_call_modifier",
590 "named": true
591 }
592 ]
593 }
594 },
595 {
596 "type": "abstract_pointer_declarator",
597 "named": true,
598 "fields": {
599 "declarator": {
600 "multiple": false,
601 "required": false,
602 "types": [
603 {
604 "type": "_abstract_declarator",
605 "named": true
606 }
607 ]
608 }
609 },
610 "children": {
611 "multiple": true,
612 "required": false,
613 "types": [
614 {
615 "type": "ms_pointer_modifier",
616 "named": true
617 },
618 {
619 "type": "type_qualifier",
620 "named": true
621 }
622 ]
623 }
624 },
625 {
626 "type": "abstract_reference_declarator",
627 "named": true,
628 "fields": {},
629 "children": {
630 "multiple": false,
631 "required": false,
632 "types": [
633 {
634 "type": "_abstract_declarator",
635 "named": true
636 }
637 ]
638 }
639 },
640 {
641 "type": "access_specifier",
642 "named": true,
643 "fields": {}
644 },
645 {
646 "type": "alias_declaration",
647 "named": true,
648 "fields": {
649 "name": {
650 "multiple": false,
651 "required": true,
652 "types": [
653 {
654 "type": "type_identifier",
655 "named": true
656 }
657 ]
658 },
659 "type": {
660 "multiple": false,
661 "required": true,
662 "types": [
663 {
664 "type": "type_descriptor",
665 "named": true
666 }
667 ]
668 }
669 },
670 "children": {
671 "multiple": true,
672 "required": false,
673 "types": [
674 {
675 "type": "attribute_declaration",
676 "named": true
677 }
678 ]
679 }
680 },
681 {
682 "type": "alignas_specifier",
683 "named": true,
684 "fields": {},
685 "children": {
686 "multiple": false,
687 "required": true,
688 "types": [
689 {
690 "type": "_expression",
691 "named": true
692 },
693 {
694 "type": "primitive_type",
695 "named": true
696 }
697 ]
698 }
699 },
700 {
701 "type": "alignof_expression",
702 "named": true,
703 "fields": {
704 "type": {
705 "multiple": false,
706 "required": true,
707 "types": [
708 {
709 "type": "type_descriptor",
710 "named": true
711 }
712 ]
713 }
714 }
715 },
716 {
717 "type": "argument_list",
718 "named": true,
719 "fields": {},
720 "children": {
721 "multiple": true,
722 "required": false,
723 "types": [
724 {
725 "type": "_expression",
726 "named": true
727 },
728 {
729 "type": "compound_statement",
730 "named": true
731 },
732 {
733 "type": "initializer_list",
734 "named": true
735 },
736 {
737 "type": "preproc_defined",
738 "named": true
739 }
740 ]
741 }
742 },
743 {
744 "type": "array_declarator",
745 "named": true,
746 "fields": {
747 "declarator": {
748 "multiple": false,
749 "required": true,
750 "types": [
751 {
752 "type": "_declarator",
753 "named": true
754 },
755 {
756 "type": "_field_declarator",
757 "named": true
758 },
759 {
760 "type": "_type_declarator",
761 "named": true
762 }
763 ]
764 },
765 "size": {
766 "multiple": false,
767 "required": false,
768 "types": [
769 {
770 "type": "*",
771 "named": false
772 },
773 {
774 "type": "_expression",
775 "named": true
776 }
777 ]
778 }
779 },
780 "children": {
781 "multiple": true,
782 "required": false,
783 "types": [
784 {
785 "type": "type_qualifier",
786 "named": true
787 }
788 ]
789 }
790 },
791 {
792 "type": "assignment_expression",
793 "named": true,
794 "fields": {
795 "left": {
796 "multiple": false,
797 "required": true,
798 "types": [
799 {
800 "type": "_expression",
801 "named": true
802 }
803 ]
804 },
805 "operator": {
806 "multiple": false,
807 "required": true,
808 "types": [
809 {
810 "type": "%=",
811 "named": false
812 },
813 {
814 "type": "&=",
815 "named": false
816 },
817 {
818 "type": "*=",
819 "named": false
820 },
821 {
822 "type": "+=",
823 "named": false
824 },
825 {
826 "type": "-=",
827 "named": false
828 },
829 {
830 "type": "/=",
831 "named": false
832 },
833 {
834 "type": "<<=",
835 "named": false
836 },
837 {
838 "type": "=",
839 "named": false
840 },
841 {
842 "type": ">>=",
843 "named": false
844 },
845 {
846 "type": "^=",
847 "named": false
848 },
849 {
850 "type": "and_eq",
851 "named": false
852 },
853 {
854 "type": "or_eq",
855 "named": false
856 },
857 {
858 "type": "xor_eq",
859 "named": false
860 },
861 {
862 "type": "|=",
863 "named": false
864 }
865 ]
866 },
867 "right": {
868 "multiple": false,
869 "required": true,
870 "types": [
871 {
872 "type": "_expression",
873 "named": true
874 },
875 {
876 "type": "initializer_list",
877 "named": true
878 }
879 ]
880 }
881 }
882 },
883 {
884 "type": "attribute",
885 "named": true,
886 "fields": {
887 "name": {
888 "multiple": false,
889 "required": true,
890 "types": [
891 {
892 "type": "identifier",
893 "named": true
894 }
895 ]
896 },
897 "prefix": {
898 "multiple": false,
899 "required": false,
900 "types": [
901 {
902 "type": "identifier",
903 "named": true
904 }
905 ]
906 }
907 },
908 "children": {
909 "multiple": false,
910 "required": false,
911 "types": [
912 {
913 "type": "argument_list",
914 "named": true
915 }
916 ]
917 }
918 },
919 {
920 "type": "attribute_declaration",
921 "named": true,
922 "fields": {},
923 "children": {
924 "multiple": true,
925 "required": true,
926 "types": [
927 {
928 "type": "attribute",
929 "named": true
930 }
931 ]
932 }
933 },
934 {
935 "type": "attribute_specifier",
936 "named": true,
937 "fields": {},
938 "children": {
939 "multiple": false,
940 "required": true,
941 "types": [
942 {
943 "type": "argument_list",
944 "named": true
945 }
946 ]
947 }
948 },
949 {
950 "type": "attributed_declarator",
951 "named": true,
952 "fields": {},
953 "children": {
954 "multiple": true,
955 "required": true,
956 "types": [
957 {
958 "type": "_declarator",
959 "named": true
960 },
961 {
962 "type": "_field_declarator",
963 "named": true
964 },
965 {
966 "type": "_type_declarator",
967 "named": true
968 },
969 {
970 "type": "attribute_declaration",
971 "named": true
972 }
973 ]
974 }
975 },
976 {
977 "type": "attributed_statement",
978 "named": true,
979 "fields": {},
980 "children": {
981 "multiple": true,
982 "required": true,
983 "types": [
984 {
985 "type": "_statement",
986 "named": true
987 },
988 {
989 "type": "attribute_declaration",
990 "named": true
991 }
992 ]
993 }
994 },
995 {
996 "type": "base_class_clause",
997 "named": true,
998 "fields": {},
999 "children": {
1000 "multiple": true,
1001 "required": true,
1002 "types": [
1003 {
1004 "type": "access_specifier",
1005 "named": true
1006 },
1007 {
1008 "type": "attribute_declaration",
1009 "named": true
1010 },
1011 {
1012 "type": "qualified_identifier",
1013 "named": true
1014 },
1015 {
1016 "type": "template_type",
1017 "named": true
1018 },
1019 {
1020 "type": "type_identifier",
1021 "named": true
1022 },
1023 {
1024 "type": "virtual",
1025 "named": true
1026 }
1027 ]
1028 }
1029 },
1030 {
1031 "type": "binary_expression",
1032 "named": true,
1033 "fields": {
1034 "left": {
1035 "multiple": false,
1036 "required": true,
1037 "types": [
1038 {
1039 "type": "_expression",
1040 "named": true
1041 },
1042 {
1043 "type": "preproc_defined",
1044 "named": true
1045 }
1046 ]
1047 },
1048 "operator": {
1049 "multiple": false,
1050 "required": true,
1051 "types": [
1052 {
1053 "type": "!=",
1054 "named": false
1055 },
1056 {
1057 "type": "%",
1058 "named": false
1059 },
1060 {
1061 "type": "&",
1062 "named": false
1063 },
1064 {
1065 "type": "&&",
1066 "named": false
1067 },
1068 {
1069 "type": "*",
1070 "named": false
1071 },
1072 {
1073 "type": "+",
1074 "named": false
1075 },
1076 {
1077 "type": "-",
1078 "named": false
1079 },
1080 {
1081 "type": "/",
1082 "named": false
1083 },
1084 {
1085 "type": "<",
1086 "named": false
1087 },
1088 {
1089 "type": "<<",
1090 "named": false
1091 },
1092 {
1093 "type": "<=",
1094 "named": false
1095 },
1096 {
1097 "type": "<=>",
1098 "named": false
1099 },
1100 {
1101 "type": "==",
1102 "named": false
1103 },
1104 {
1105 "type": ">",
1106 "named": false
1107 },
1108 {
1109 "type": ">=",
1110 "named": false
1111 },
1112 {
1113 "type": ">>",
1114 "named": false
1115 },
1116 {
1117 "type": "^",
1118 "named": false
1119 },
1120 {
1121 "type": "and",
1122 "named": false
1123 },
1124 {
1125 "type": "bitand",
1126 "named": false
1127 },
1128 {
1129 "type": "bitor",
1130 "named": false
1131 },
1132 {
1133 "type": "not_eq",
1134 "named": false
1135 },
1136 {
1137 "type": "or",
1138 "named": false
1139 },
1140 {
1141 "type": "xor",
1142 "named": false
1143 },
1144 {
1145 "type": "|",
1146 "named": false
1147 },
1148 {
1149 "type": "||",
1150 "named": false
1151 }
1152 ]
1153 },
1154 "right": {
1155 "multiple": false,
1156 "required": true,
1157 "types": [
1158 {
1159 "type": "_expression",
1160 "named": true
1161 },
1162 {
1163 "type": "preproc_defined",
1164 "named": true
1165 }
1166 ]
1167 }
1168 }
1169 },
1170 {
1171 "type": "bitfield_clause",
1172 "named": true,
1173 "fields": {},
1174 "children": {
1175 "multiple": false,
1176 "required": true,
1177 "types": [
1178 {
1179 "type": "_expression",
1180 "named": true
1181 }
1182 ]
1183 }
1184 },
1185 {
1186 "type": "break_statement",
1187 "named": true,
1188 "fields": {}
1189 },
1190 {
1191 "type": "call_expression",
1192 "named": true,
1193 "fields": {
1194 "arguments": {
1195 "multiple": false,
1196 "required": true,
1197 "types": [
1198 {
1199 "type": "argument_list",
1200 "named": true
1201 }
1202 ]
1203 },
1204 "function": {
1205 "multiple": false,
1206 "required": true,
1207 "types": [
1208 {
1209 "type": "_expression",
1210 "named": true
1211 },
1212 {
1213 "type": "primitive_type",
1214 "named": true
1215 }
1216 ]
1217 }
1218 }
1219 },
1220 {
1221 "type": "case_statement",
1222 "named": true,
1223 "fields": {
1224 "value": {
1225 "multiple": false,
1226 "required": false,
1227 "types": [
1228 {
1229 "type": "_expression",
1230 "named": true
1231 }
1232 ]
1233 }
1234 },
1235 "children": {
1236 "multiple": true,
1237 "required": false,
1238 "types": [
1239 {
1240 "type": "attributed_statement",
1241 "named": true
1242 },
1243 {
1244 "type": "break_statement",
1245 "named": true
1246 },
1247 {
1248 "type": "co_return_statement",
1249 "named": true
1250 },
1251 {
1252 "type": "co_yield_statement",
1253 "named": true
1254 },
1255 {
1256 "type": "compound_statement",
1257 "named": true
1258 },
1259 {
1260 "type": "continue_statement",
1261 "named": true
1262 },
1263 {
1264 "type": "declaration",
1265 "named": true
1266 },
1267 {
1268 "type": "do_statement",
1269 "named": true
1270 },
1271 {
1272 "type": "expression_statement",
1273 "named": true
1274 },
1275 {
1276 "type": "for_range_loop",
1277 "named": true
1278 },
1279 {
1280 "type": "for_statement",
1281 "named": true
1282 },
1283 {
1284 "type": "goto_statement",
1285 "named": true
1286 },
1287 {
1288 "type": "if_statement",
1289 "named": true
1290 },
1291 {
1292 "type": "labeled_statement",
1293 "named": true
1294 },
1295 {
1296 "type": "return_statement",
1297 "named": true
1298 },
1299 {
1300 "type": "seh_leave_statement",
1301 "named": true
1302 },
1303 {
1304 "type": "seh_try_statement",
1305 "named": true
1306 },
1307 {
1308 "type": "switch_statement",
1309 "named": true
1310 },
1311 {
1312 "type": "throw_statement",
1313 "named": true
1314 },
1315 {
1316 "type": "try_statement",
1317 "named": true
1318 },
1319 {
1320 "type": "type_definition",
1321 "named": true
1322 },
1323 {
1324 "type": "while_statement",
1325 "named": true
1326 }
1327 ]
1328 }
1329 },
1330 {
1331 "type": "cast_expression",
1332 "named": true,
1333 "fields": {
1334 "type": {
1335 "multiple": false,
1336 "required": true,
1337 "types": [
1338 {
1339 "type": "type_descriptor",
1340 "named": true
1341 }
1342 ]
1343 },
1344 "value": {
1345 "multiple": false,
1346 "required": true,
1347 "types": [
1348 {
1349 "type": "_expression",
1350 "named": true
1351 }
1352 ]
1353 }
1354 }
1355 },
1356 {
1357 "type": "catch_clause",
1358 "named": true,
1359 "fields": {
1360 "body": {
1361 "multiple": false,
1362 "required": true,
1363 "types": [
1364 {
1365 "type": "compound_statement",
1366 "named": true
1367 }
1368 ]
1369 },
1370 "parameters": {
1371 "multiple": false,
1372 "required": true,
1373 "types": [
1374 {
1375 "type": "parameter_list",
1376 "named": true
1377 }
1378 ]
1379 }
1380 }
1381 },
1382 {
1383 "type": "char_literal",
1384 "named": true,
1385 "fields": {},
1386 "children": {
1387 "multiple": true,
1388 "required": true,
1389 "types": [
1390 {
1391 "type": "character",
1392 "named": true
1393 },
1394 {
1395 "type": "escape_sequence",
1396 "named": true
1397 }
1398 ]
1399 }
1400 },
1401 {
1402 "type": "class_specifier",
1403 "named": true,
1404 "fields": {
1405 "body": {
1406 "multiple": false,
1407 "required": false,
1408 "types": [
1409 {
1410 "type": "field_declaration_list",
1411 "named": true
1412 }
1413 ]
1414 },
1415 "name": {
1416 "multiple": false,
1417 "required": false,
1418 "types": [
1419 {
1420 "type": "qualified_identifier",
1421 "named": true
1422 },
1423 {
1424 "type": "template_type",
1425 "named": true
1426 },
1427 {
1428 "type": "type_identifier",
1429 "named": true
1430 }
1431 ]
1432 }
1433 },
1434 "children": {
1435 "multiple": true,
1436 "required": false,
1437 "types": [
1438 {
1439 "type": "alignas_specifier",
1440 "named": true
1441 },
1442 {
1443 "type": "attribute_declaration",
1444 "named": true
1445 },
1446 {
1447 "type": "attribute_specifier",
1448 "named": true
1449 },
1450 {
1451 "type": "base_class_clause",
1452 "named": true
1453 },
1454 {
1455 "type": "ms_declspec_modifier",
1456 "named": true
1457 },
1458 {
1459 "type": "virtual_specifier",
1460 "named": true
1461 }
1462 ]
1463 }
1464 },
1465 {
1466 "type": "co_await_expression",
1467 "named": true,
1468 "fields": {
1469 "argument": {
1470 "multiple": false,
1471 "required": true,
1472 "types": [
1473 {
1474 "type": "_expression",
1475 "named": true
1476 }
1477 ]
1478 },
1479 "operator": {
1480 "multiple": false,
1481 "required": true,
1482 "types": [
1483 {
1484 "type": "co_await",
1485 "named": false
1486 }
1487 ]
1488 }
1489 }
1490 },
1491 {
1492 "type": "co_return_statement",
1493 "named": true,
1494 "fields": {},
1495 "children": {
1496 "multiple": false,
1497 "required": false,
1498 "types": [
1499 {
1500 "type": "_expression",
1501 "named": true
1502 }
1503 ]
1504 }
1505 },
1506 {
1507 "type": "co_yield_statement",
1508 "named": true,
1509 "fields": {},
1510 "children": {
1511 "multiple": false,
1512 "required": true,
1513 "types": [
1514 {
1515 "type": "_expression",
1516 "named": true
1517 }
1518 ]
1519 }
1520 },
1521 {
1522 "type": "comma_expression",
1523 "named": true,
1524 "fields": {
1525 "left": {
1526 "multiple": false,
1527 "required": true,
1528 "types": [
1529 {
1530 "type": "_expression",
1531 "named": true
1532 }
1533 ]
1534 },
1535 "right": {
1536 "multiple": false,
1537 "required": true,
1538 "types": [
1539 {
1540 "type": "_expression",
1541 "named": true
1542 },
1543 {
1544 "type": "comma_expression",
1545 "named": true
1546 }
1547 ]
1548 }
1549 }
1550 },
1551 {
1552 "type": "compound_literal_expression",
1553 "named": true,
1554 "fields": {
1555 "type": {
1556 "multiple": false,
1557 "required": true,
1558 "types": [
1559 {
1560 "type": "primitive_type",
1561 "named": true
1562 },
1563 {
1564 "type": "qualified_identifier",
1565 "named": true
1566 },
1567 {
1568 "type": "template_type",
1569 "named": true
1570 },
1571 {
1572 "type": "type_descriptor",
1573 "named": true
1574 },
1575 {
1576 "type": "type_identifier",
1577 "named": true
1578 }
1579 ]
1580 },
1581 "value": {
1582 "multiple": false,
1583 "required": true,
1584 "types": [
1585 {
1586 "type": "initializer_list",
1587 "named": true
1588 }
1589 ]
1590 }
1591 }
1592 },
1593 {
1594 "type": "compound_requirement",
1595 "named": true,
1596 "fields": {},
1597 "children": {
1598 "multiple": true,
1599 "required": true,
1600 "types": [
1601 {
1602 "type": "_expression",
1603 "named": true
1604 },
1605 {
1606 "type": "trailing_return_type",
1607 "named": true
1608 }
1609 ]
1610 }
1611 },
1612 {
1613 "type": "compound_statement",
1614 "named": true,
1615 "fields": {},
1616 "children": {
1617 "multiple": true,
1618 "required": false,
1619 "types": [
1620 {
1621 "type": "_statement",
1622 "named": true
1623 },
1624 {
1625 "type": "_type_specifier",
1626 "named": true
1627 },
1628 {
1629 "type": "alias_declaration",
1630 "named": true
1631 },
1632 {
1633 "type": "concept_definition",
1634 "named": true
1635 },
1636 {
1637 "type": "declaration",
1638 "named": true
1639 },
1640 {
1641 "type": "function_definition",
1642 "named": true
1643 },
1644 {
1645 "type": "linkage_specification",
1646 "named": true
1647 },
1648 {
1649 "type": "namespace_alias_definition",
1650 "named": true
1651 },
1652 {
1653 "type": "namespace_definition",
1654 "named": true
1655 },
1656 {
1657 "type": "preproc_call",
1658 "named": true
1659 },
1660 {
1661 "type": "preproc_def",
1662 "named": true
1663 },
1664 {
1665 "type": "preproc_function_def",
1666 "named": true
1667 },
1668 {
1669 "type": "preproc_if",
1670 "named": true
1671 },
1672 {
1673 "type": "preproc_ifdef",
1674 "named": true
1675 },
1676 {
1677 "type": "preproc_include",
1678 "named": true
1679 },
1680 {
1681 "type": "static_assert_declaration",
1682 "named": true
1683 },
1684 {
1685 "type": "template_declaration",
1686 "named": true
1687 },
1688 {
1689 "type": "template_instantiation",
1690 "named": true
1691 },
1692 {
1693 "type": "type_definition",
1694 "named": true
1695 },
1696 {
1697 "type": "using_declaration",
1698 "named": true
1699 }
1700 ]
1701 }
1702 },
1703 {
1704 "type": "concatenated_string",
1705 "named": true,
1706 "fields": {},
1707 "children": {
1708 "multiple": true,
1709 "required": true,
1710 "types": [
1711 {
1712 "type": "identifier",
1713 "named": true
1714 },
1715 {
1716 "type": "raw_string_literal",
1717 "named": true
1718 },
1719 {
1720 "type": "string_literal",
1721 "named": true
1722 }
1723 ]
1724 }
1725 },
1726 {
1727 "type": "concept_definition",
1728 "named": true,
1729 "fields": {
1730 "name": {
1731 "multiple": false,
1732 "required": true,
1733 "types": [
1734 {
1735 "type": "identifier",
1736 "named": true
1737 }
1738 ]
1739 }
1740 },
1741 "children": {
1742 "multiple": false,
1743 "required": true,
1744 "types": [
1745 {
1746 "type": "_expression",
1747 "named": true
1748 }
1749 ]
1750 }
1751 },
1752 {
1753 "type": "condition_clause",
1754 "named": true,
1755 "fields": {
1756 "initializer": {
1757 "multiple": false,
1758 "required": false,
1759 "types": [
1760 {
1761 "type": "init_statement",
1762 "named": true
1763 }
1764 ]
1765 },
1766 "value": {
1767 "multiple": false,
1768 "required": true,
1769 "types": [
1770 {
1771 "type": "_expression",
1772 "named": true
1773 },
1774 {
1775 "type": "comma_expression",
1776 "named": true
1777 },
1778 {
1779 "type": "declaration",
1780 "named": true
1781 }
1782 ]
1783 }
1784 }
1785 },
1786 {
1787 "type": "conditional_expression",
1788 "named": true,
1789 "fields": {
1790 "alternative": {
1791 "multiple": false,
1792 "required": true,
1793 "types": [
1794 {
1795 "type": "_expression",
1796 "named": true
1797 }
1798 ]
1799 },
1800 "condition": {
1801 "multiple": false,
1802 "required": true,
1803 "types": [
1804 {
1805 "type": "_expression",
1806 "named": true
1807 }
1808 ]
1809 },
1810 "consequence": {
1811 "multiple": false,
1812 "required": false,
1813 "types": [
1814 {
1815 "type": "_expression",
1816 "named": true
1817 },
1818 {
1819 "type": "comma_expression",
1820 "named": true
1821 }
1822 ]
1823 }
1824 }
1825 },
1826 {
1827 "type": "constraint_conjunction",
1828 "named": true,
1829 "fields": {
1830 "left": {
1831 "multiple": true,
1832 "required": true,
1833 "types": [
1834 {
1835 "type": "(",
1836 "named": false
1837 },
1838 {
1839 "type": ")",
1840 "named": false
1841 },
1842 {
1843 "type": "_expression",
1844 "named": true
1845 },
1846 {
1847 "type": "constraint_conjunction",
1848 "named": true
1849 },
1850 {
1851 "type": "constraint_disjunction",
1852 "named": true
1853 },
1854 {
1855 "type": "template_type",
1856 "named": true
1857 },
1858 {
1859 "type": "type_identifier",
1860 "named": true
1861 }
1862 ]
1863 },
1864 "operator": {
1865 "multiple": false,
1866 "required": true,
1867 "types": [
1868 {
1869 "type": "&&",
1870 "named": false
1871 },
1872 {
1873 "type": "and",
1874 "named": false
1875 }
1876 ]
1877 },
1878 "right": {
1879 "multiple": true,
1880 "required": true,
1881 "types": [
1882 {
1883 "type": "(",
1884 "named": false
1885 },
1886 {
1887 "type": ")",
1888 "named": false
1889 },
1890 {
1891 "type": "_expression",
1892 "named": true
1893 },
1894 {
1895 "type": "constraint_conjunction",
1896 "named": true
1897 },
1898 {
1899 "type": "constraint_disjunction",
1900 "named": true
1901 },
1902 {
1903 "type": "template_type",
1904 "named": true
1905 },
1906 {
1907 "type": "type_identifier",
1908 "named": true
1909 }
1910 ]
1911 }
1912 }
1913 },
1914 {
1915 "type": "constraint_disjunction",
1916 "named": true,
1917 "fields": {
1918 "left": {
1919 "multiple": true,
1920 "required": true,
1921 "types": [
1922 {
1923 "type": "(",
1924 "named": false
1925 },
1926 {
1927 "type": ")",
1928 "named": false
1929 },
1930 {
1931 "type": "_expression",
1932 "named": true
1933 },
1934 {
1935 "type": "constraint_conjunction",
1936 "named": true
1937 },
1938 {
1939 "type": "constraint_disjunction",
1940 "named": true
1941 },
1942 {
1943 "type": "template_type",
1944 "named": true
1945 },
1946 {
1947 "type": "type_identifier",
1948 "named": true
1949 }
1950 ]
1951 },
1952 "operator": {
1953 "multiple": false,
1954 "required": true,
1955 "types": [
1956 {
1957 "type": "or",
1958 "named": false
1959 },
1960 {
1961 "type": "||",
1962 "named": false
1963 }
1964 ]
1965 },
1966 "right": {
1967 "multiple": true,
1968 "required": true,
1969 "types": [
1970 {
1971 "type": "(",
1972 "named": false
1973 },
1974 {
1975 "type": ")",
1976 "named": false
1977 },
1978 {
1979 "type": "_expression",
1980 "named": true
1981 },
1982 {
1983 "type": "constraint_conjunction",
1984 "named": true
1985 },
1986 {
1987 "type": "constraint_disjunction",
1988 "named": true
1989 },
1990 {
1991 "type": "template_type",
1992 "named": true
1993 },
1994 {
1995 "type": "type_identifier",
1996 "named": true
1997 }
1998 ]
1999 }
2000 }
2001 },
2002 {
2003 "type": "continue_statement",
2004 "named": true,
2005 "fields": {}
2006 },
2007 {
2008 "type": "declaration",
2009 "named": true,
2010 "fields": {
2011 "declarator": {
2012 "multiple": true,
2013 "required": true,
2014 "types": [
2015 {
2016 "type": "_declarator",
2017 "named": true
2018 },
2019 {
2020 "type": "gnu_asm_expression",
2021 "named": true
2022 },
2023 {
2024 "type": "init_declarator",
2025 "named": true
2026 },
2027 {
2028 "type": "operator_cast",
2029 "named": true
2030 }
2031 ]
2032 },
2033 "default_value": {
2034 "multiple": false,
2035 "required": false,
2036 "types": [
2037 {
2038 "type": "_expression",
2039 "named": true
2040 }
2041 ]
2042 },
2043 "type": {
2044 "multiple": false,
2045 "required": false,
2046 "types": [
2047 {
2048 "type": "_type_specifier",
2049 "named": true
2050 }
2051 ]
2052 },
2053 "value": {
2054 "multiple": false,
2055 "required": false,
2056 "types": [
2057 {
2058 "type": "_expression",
2059 "named": true
2060 },
2061 {
2062 "type": "initializer_list",
2063 "named": true
2064 }
2065 ]
2066 }
2067 },
2068 "children": {
2069 "multiple": true,
2070 "required": false,
2071 "types": [
2072 {
2073 "type": "alignas_specifier",
2074 "named": true
2075 },
2076 {
2077 "type": "attribute_declaration",
2078 "named": true
2079 },
2080 {
2081 "type": "attribute_specifier",
2082 "named": true
2083 },
2084 {
2085 "type": "explicit_function_specifier",
2086 "named": true
2087 },
2088 {
2089 "type": "ms_declspec_modifier",
2090 "named": true
2091 },
2092 {
2093 "type": "storage_class_specifier",
2094 "named": true
2095 },
2096 {
2097 "type": "type_qualifier",
2098 "named": true
2099 },
2100 {
2101 "type": "virtual",
2102 "named": true
2103 }
2104 ]
2105 }
2106 },
2107 {
2108 "type": "declaration_list",
2109 "named": true,
2110 "fields": {},
2111 "children": {
2112 "multiple": true,
2113 "required": false,
2114 "types": [
2115 {
2116 "type": "_statement",
2117 "named": true
2118 },
2119 {
2120 "type": "_type_specifier",
2121 "named": true
2122 },
2123 {
2124 "type": "alias_declaration",
2125 "named": true
2126 },
2127 {
2128 "type": "concept_definition",
2129 "named": true
2130 },
2131 {
2132 "type": "declaration",
2133 "named": true
2134 },
2135 {
2136 "type": "function_definition",
2137 "named": true
2138 },
2139 {
2140 "type": "linkage_specification",
2141 "named": true
2142 },
2143 {
2144 "type": "namespace_alias_definition",
2145 "named": true
2146 },
2147 {
2148 "type": "namespace_definition",
2149 "named": true
2150 },
2151 {
2152 "type": "preproc_call",
2153 "named": true
2154 },
2155 {
2156 "type": "preproc_def",
2157 "named": true
2158 },
2159 {
2160 "type": "preproc_function_def",
2161 "named": true
2162 },
2163 {
2164 "type": "preproc_if",
2165 "named": true
2166 },
2167 {
2168 "type": "preproc_ifdef",
2169 "named": true
2170 },
2171 {
2172 "type": "preproc_include",
2173 "named": true
2174 },
2175 {
2176 "type": "static_assert_declaration",
2177 "named": true
2178 },
2179 {
2180 "type": "template_declaration",
2181 "named": true
2182 },
2183 {
2184 "type": "template_instantiation",
2185 "named": true
2186 },
2187 {
2188 "type": "type_definition",
2189 "named": true
2190 },
2191 {
2192 "type": "using_declaration",
2193 "named": true
2194 }
2195 ]
2196 }
2197 },
2198 {
2199 "type": "decltype",
2200 "named": true,
2201 "fields": {},
2202 "children": {
2203 "multiple": false,
2204 "required": true,
2205 "types": [
2206 {
2207 "type": "_expression",
2208 "named": true
2209 },
2210 {
2211 "type": "auto",
2212 "named": true
2213 }
2214 ]
2215 }
2216 },
2217 {
2218 "type": "default_method_clause",
2219 "named": true,
2220 "fields": {}
2221 },
2222 {
2223 "type": "delete_expression",
2224 "named": true,
2225 "fields": {},
2226 "children": {
2227 "multiple": false,
2228 "required": true,
2229 "types": [
2230 {
2231 "type": "_expression",
2232 "named": true
2233 }
2234 ]
2235 }
2236 },
2237 {
2238 "type": "delete_method_clause",
2239 "named": true,
2240 "fields": {}
2241 },
2242 {
2243 "type": "dependent_name",
2244 "named": true,
2245 "fields": {},
2246 "children": {
2247 "multiple": false,
2248 "required": true,
2249 "types": [
2250 {
2251 "type": "template_function",
2252 "named": true
2253 },
2254 {
2255 "type": "template_method",
2256 "named": true
2257 },
2258 {
2259 "type": "template_type",
2260 "named": true
2261 }
2262 ]
2263 }
2264 },
2265 {
2266 "type": "dependent_type",
2267 "named": true,
2268 "fields": {},
2269 "children": {
2270 "multiple": false,
2271 "required": true,
2272 "types": [
2273 {
2274 "type": "_type_specifier",
2275 "named": true
2276 }
2277 ]
2278 }
2279 },
2280 {
2281 "type": "destructor_name",
2282 "named": true,
2283 "fields": {},
2284 "children": {
2285 "multiple": false,
2286 "required": true,
2287 "types": [
2288 {
2289 "type": "identifier",
2290 "named": true
2291 }
2292 ]
2293 }
2294 },
2295 {
2296 "type": "do_statement",
2297 "named": true,
2298 "fields": {
2299 "body": {
2300 "multiple": false,
2301 "required": true,
2302 "types": [
2303 {
2304 "type": "_statement",
2305 "named": true
2306 }
2307 ]
2308 },
2309 "condition": {
2310 "multiple": false,
2311 "required": true,
2312 "types": [
2313 {
2314 "type": "parenthesized_expression",
2315 "named": true
2316 }
2317 ]
2318 }
2319 }
2320 },
2321 {
2322 "type": "else_clause",
2323 "named": true,
2324 "fields": {},
2325 "children": {
2326 "multiple": false,
2327 "required": true,
2328 "types": [
2329 {
2330 "type": "_statement",
2331 "named": true
2332 }
2333 ]
2334 }
2335 },
2336 {
2337 "type": "enum_specifier",
2338 "named": true,
2339 "fields": {
2340 "base": {
2341 "multiple": false,
2342 "required": false,
2343 "types": [
2344 {
2345 "type": "primitive_type",
2346 "named": true
2347 },
2348 {
2349 "type": "qualified_identifier",
2350 "named": true
2351 },
2352 {
2353 "type": "sized_type_specifier",
2354 "named": true
2355 },
2356 {
2357 "type": "type_identifier",
2358 "named": true
2359 }
2360 ]
2361 },
2362 "body": {
2363 "multiple": false,
2364 "required": false,
2365 "types": [
2366 {
2367 "type": "enumerator_list",
2368 "named": true
2369 }
2370 ]
2371 },
2372 "name": {
2373 "multiple": false,
2374 "required": false,
2375 "types": [
2376 {
2377 "type": "qualified_identifier",
2378 "named": true
2379 },
2380 {
2381 "type": "template_type",
2382 "named": true
2383 },
2384 {
2385 "type": "type_identifier",
2386 "named": true
2387 }
2388 ]
2389 }
2390 },
2391 "children": {
2392 "multiple": false,
2393 "required": false,
2394 "types": [
2395 {
2396 "type": "attribute_specifier",
2397 "named": true
2398 }
2399 ]
2400 }
2401 },
2402 {
2403 "type": "enumerator",
2404 "named": true,
2405 "fields": {
2406 "name": {
2407 "multiple": false,
2408 "required": true,
2409 "types": [
2410 {
2411 "type": "identifier",
2412 "named": true
2413 }
2414 ]
2415 },
2416 "value": {
2417 "multiple": false,
2418 "required": false,
2419 "types": [
2420 {
2421 "type": "_expression",
2422 "named": true
2423 }
2424 ]
2425 }
2426 }
2427 },
2428 {
2429 "type": "enumerator_list",
2430 "named": true,
2431 "fields": {},
2432 "children": {
2433 "multiple": true,
2434 "required": false,
2435 "types": [
2436 {
2437 "type": "enumerator",
2438 "named": true
2439 },
2440 {
2441 "type": "preproc_call",
2442 "named": true
2443 },
2444 {
2445 "type": "preproc_if",
2446 "named": true
2447 },
2448 {
2449 "type": "preproc_ifdef",
2450 "named": true
2451 }
2452 ]
2453 }
2454 },
2455 {
2456 "type": "explicit_function_specifier",
2457 "named": true,
2458 "fields": {},
2459 "children": {
2460 "multiple": false,
2461 "required": false,
2462 "types": [
2463 {
2464 "type": "_expression",
2465 "named": true
2466 }
2467 ]
2468 }
2469 },
2470 {
2471 "type": "expression_statement",
2472 "named": true,
2473 "fields": {},
2474 "children": {
2475 "multiple": false,
2476 "required": false,
2477 "types": [
2478 {
2479 "type": "_expression",
2480 "named": true
2481 },
2482 {
2483 "type": "comma_expression",
2484 "named": true
2485 }
2486 ]
2487 }
2488 },
2489 {
2490 "type": "field_declaration",
2491 "named": true,
2492 "fields": {
2493 "declarator": {
2494 "multiple": true,
2495 "required": false,
2496 "types": [
2497 {
2498 "type": "_field_declarator",
2499 "named": true
2500 }
2501 ]
2502 },
2503 "default_value": {
2504 "multiple": true,
2505 "required": false,
2506 "types": [
2507 {
2508 "type": "_expression",
2509 "named": true
2510 },
2511 {
2512 "type": "initializer_list",
2513 "named": true
2514 }
2515 ]
2516 },
2517 "type": {
2518 "multiple": false,
2519 "required": true,
2520 "types": [
2521 {
2522 "type": "_type_specifier",
2523 "named": true
2524 }
2525 ]
2526 }
2527 },
2528 "children": {
2529 "multiple": true,
2530 "required": false,
2531 "types": [
2532 {
2533 "type": "alignas_specifier",
2534 "named": true
2535 },
2536 {
2537 "type": "attribute_declaration",
2538 "named": true
2539 },
2540 {
2541 "type": "attribute_specifier",
2542 "named": true
2543 },
2544 {
2545 "type": "bitfield_clause",
2546 "named": true
2547 },
2548 {
2549 "type": "ms_declspec_modifier",
2550 "named": true
2551 },
2552 {
2553 "type": "storage_class_specifier",
2554 "named": true
2555 },
2556 {
2557 "type": "type_qualifier",
2558 "named": true
2559 },
2560 {
2561 "type": "virtual",
2562 "named": true
2563 }
2564 ]
2565 }
2566 },
2567 {
2568 "type": "field_declaration_list",
2569 "named": true,
2570 "fields": {},
2571 "children": {
2572 "multiple": true,
2573 "required": false,
2574 "types": [
2575 {
2576 "type": "access_specifier",
2577 "named": true
2578 },
2579 {
2580 "type": "alias_declaration",
2581 "named": true
2582 },
2583 {
2584 "type": "declaration",
2585 "named": true
2586 },
2587 {
2588 "type": "field_declaration",
2589 "named": true
2590 },
2591 {
2592 "type": "friend_declaration",
2593 "named": true
2594 },
2595 {
2596 "type": "function_definition",
2597 "named": true
2598 },
2599 {
2600 "type": "preproc_call",
2601 "named": true
2602 },
2603 {
2604 "type": "preproc_def",
2605 "named": true
2606 },
2607 {
2608 "type": "preproc_function_def",
2609 "named": true
2610 },
2611 {
2612 "type": "preproc_if",
2613 "named": true
2614 },
2615 {
2616 "type": "preproc_ifdef",
2617 "named": true
2618 },
2619 {
2620 "type": "static_assert_declaration",
2621 "named": true
2622 },
2623 {
2624 "type": "template_declaration",
2625 "named": true
2626 },
2627 {
2628 "type": "type_definition",
2629 "named": true
2630 },
2631 {
2632 "type": "using_declaration",
2633 "named": true
2634 }
2635 ]
2636 }
2637 },
2638 {
2639 "type": "field_designator",
2640 "named": true,
2641 "fields": {},
2642 "children": {
2643 "multiple": false,
2644 "required": true,
2645 "types": [
2646 {
2647 "type": "field_identifier",
2648 "named": true
2649 }
2650 ]
2651 }
2652 },
2653 {
2654 "type": "field_expression",
2655 "named": true,
2656 "fields": {
2657 "argument": {
2658 "multiple": false,
2659 "required": true,
2660 "types": [
2661 {
2662 "type": "_expression",
2663 "named": true
2664 }
2665 ]
2666 },
2667 "field": {
2668 "multiple": false,
2669 "required": true,
2670 "types": [
2671 {
2672 "type": "dependent_name",
2673 "named": true
2674 },
2675 {
2676 "type": "destructor_name",
2677 "named": true
2678 },
2679 {
2680 "type": "field_identifier",
2681 "named": true
2682 },
2683 {
2684 "type": "qualified_identifier",
2685 "named": true
2686 },
2687 {
2688 "type": "template_method",
2689 "named": true
2690 }
2691 ]
2692 },
2693 "operator": {
2694 "multiple": false,
2695 "required": true,
2696 "types": [
2697 {
2698 "type": "->",
2699 "named": false
2700 },
2701 {
2702 "type": ".",
2703 "named": false
2704 },
2705 {
2706 "type": ".*",
2707 "named": false
2708 }
2709 ]
2710 }
2711 }
2712 },
2713 {
2714 "type": "field_initializer",
2715 "named": true,
2716 "fields": {},
2717 "children": {
2718 "multiple": true,
2719 "required": true,
2720 "types": [
2721 {
2722 "type": "argument_list",
2723 "named": true
2724 },
2725 {
2726 "type": "field_identifier",
2727 "named": true
2728 },
2729 {
2730 "type": "initializer_list",
2731 "named": true
2732 },
2733 {
2734 "type": "qualified_identifier",
2735 "named": true
2736 },
2737 {
2738 "type": "template_method",
2739 "named": true
2740 }
2741 ]
2742 }
2743 },
2744 {
2745 "type": "field_initializer_list",
2746 "named": true,
2747 "fields": {},
2748 "children": {
2749 "multiple": true,
2750 "required": true,
2751 "types": [
2752 {
2753 "type": "field_initializer",
2754 "named": true
2755 }
2756 ]
2757 }
2758 },
2759 {
2760 "type": "fold_expression",
2761 "named": true,
2762 "fields": {
2763 "left": {
2764 "multiple": false,
2765 "required": true,
2766 "types": [
2767 {
2768 "type": "...",
2769 "named": false
2770 },
2771 {
2772 "type": "_expression",
2773 "named": true
2774 }
2775 ]
2776 },
2777 "operator": {
2778 "multiple": false,
2779 "required": true,
2780 "types": [
2781 {
2782 "type": "!=",
2783 "named": false
2784 },
2785 {
2786 "type": "%",
2787 "named": false
2788 },
2789 {
2790 "type": "%=",
2791 "named": false
2792 },
2793 {
2794 "type": "&",
2795 "named": false
2796 },
2797 {
2798 "type": "&&",
2799 "named": false
2800 },
2801 {
2802 "type": "&=",
2803 "named": false
2804 },
2805 {
2806 "type": "*",
2807 "named": false
2808 },
2809 {
2810 "type": "*=",
2811 "named": false
2812 },
2813 {
2814 "type": "+",
2815 "named": false
2816 },
2817 {
2818 "type": "+=",
2819 "named": false
2820 },
2821 {
2822 "type": ",",
2823 "named": false
2824 },
2825 {
2826 "type": "-",
2827 "named": false
2828 },
2829 {
2830 "type": "-=",
2831 "named": false
2832 },
2833 {
2834 "type": "->*",
2835 "named": false
2836 },
2837 {
2838 "type": ".*",
2839 "named": false
2840 },
2841 {
2842 "type": "/",
2843 "named": false
2844 },
2845 {
2846 "type": "/=",
2847 "named": false
2848 },
2849 {
2850 "type": "<",
2851 "named": false
2852 },
2853 {
2854 "type": "<<",
2855 "named": false
2856 },
2857 {
2858 "type": "<<=",
2859 "named": false
2860 },
2861 {
2862 "type": "<=",
2863 "named": false
2864 },
2865 {
2866 "type": "=",
2867 "named": false
2868 },
2869 {
2870 "type": "==",
2871 "named": false
2872 },
2873 {
2874 "type": ">",
2875 "named": false
2876 },
2877 {
2878 "type": ">=",
2879 "named": false
2880 },
2881 {
2882 "type": ">>",
2883 "named": false
2884 },
2885 {
2886 "type": ">>=",
2887 "named": false
2888 },
2889 {
2890 "type": "^",
2891 "named": false
2892 },
2893 {
2894 "type": "^=",
2895 "named": false
2896 },
2897 {
2898 "type": "and",
2899 "named": false
2900 },
2901 {
2902 "type": "bitand",
2903 "named": false
2904 },
2905 {
2906 "type": "bitor",
2907 "named": false
2908 },
2909 {
2910 "type": "not_eq",
2911 "named": false
2912 },
2913 {
2914 "type": "or",
2915 "named": false
2916 },
2917 {
2918 "type": "xor",
2919 "named": false
2920 },
2921 {
2922 "type": "|",
2923 "named": false
2924 },
2925 {
2926 "type": "|=",
2927 "named": false
2928 },
2929 {
2930 "type": "||",
2931 "named": false
2932 }
2933 ]
2934 },
2935 "right": {
2936 "multiple": false,
2937 "required": true,
2938 "types": [
2939 {
2940 "type": "...",
2941 "named": false
2942 },
2943 {
2944 "type": "_expression",
2945 "named": true
2946 }
2947 ]
2948 }
2949 }
2950 },
2951 {
2952 "type": "for_range_loop",
2953 "named": true,
2954 "fields": {
2955 "body": {
2956 "multiple": false,
2957 "required": true,
2958 "types": [
2959 {
2960 "type": "_statement",
2961 "named": true
2962 }
2963 ]
2964 },
2965 "declarator": {
2966 "multiple": false,
2967 "required": true,
2968 "types": [
2969 {
2970 "type": "_declarator",
2971 "named": true
2972 }
2973 ]
2974 },
2975 "initializer": {
2976 "multiple": false,
2977 "required": false,
2978 "types": [
2979 {
2980 "type": "init_statement",
2981 "named": true
2982 }
2983 ]
2984 },
2985 "right": {
2986 "multiple": false,
2987 "required": true,
2988 "types": [
2989 {
2990 "type": "_expression",
2991 "named": true
2992 },
2993 {
2994 "type": "initializer_list",
2995 "named": true
2996 }
2997 ]
2998 },
2999 "type": {
3000 "multiple": false,
3001 "required": true,
3002 "types": [
3003 {
3004 "type": "_type_specifier",
3005 "named": true
3006 }
3007 ]
3008 }
3009 },
3010 "children": {
3011 "multiple": true,
3012 "required": false,
3013 "types": [
3014 {
3015 "type": "alignas_specifier",
3016 "named": true
3017 },
3018 {
3019 "type": "attribute_declaration",
3020 "named": true
3021 },
3022 {
3023 "type": "attribute_specifier",
3024 "named": true
3025 },
3026 {
3027 "type": "ms_declspec_modifier",
3028 "named": true
3029 },
3030 {
3031 "type": "storage_class_specifier",
3032 "named": true
3033 },
3034 {
3035 "type": "type_qualifier",
3036 "named": true
3037 },
3038 {
3039 "type": "virtual",
3040 "named": true
3041 }
3042 ]
3043 }
3044 },
3045 {
3046 "type": "for_statement",
3047 "named": true,
3048 "fields": {
3049 "body": {
3050 "multiple": false,
3051 "required": true,
3052 "types": [
3053 {
3054 "type": "_statement",
3055 "named": true
3056 }
3057 ]
3058 },
3059 "condition": {
3060 "multiple": false,
3061 "required": false,
3062 "types": [
3063 {
3064 "type": "_expression",
3065 "named": true
3066 },
3067 {
3068 "type": "comma_expression",
3069 "named": true
3070 }
3071 ]
3072 },
3073 "initializer": {
3074 "multiple": false,
3075 "required": false,
3076 "types": [
3077 {
3078 "type": "_expression",
3079 "named": true
3080 },
3081 {
3082 "type": "comma_expression",
3083 "named": true
3084 },
3085 {
3086 "type": "declaration",
3087 "named": true
3088 }
3089 ]
3090 },
3091 "update": {
3092 "multiple": false,
3093 "required": false,
3094 "types": [
3095 {
3096 "type": "_expression",
3097 "named": true
3098 },
3099 {
3100 "type": "comma_expression",
3101 "named": true
3102 }
3103 ]
3104 }
3105 }
3106 },
3107 {
3108 "type": "friend_declaration",
3109 "named": true,
3110 "fields": {},
3111 "children": {
3112 "multiple": false,
3113 "required": true,
3114 "types": [
3115 {
3116 "type": "declaration",
3117 "named": true
3118 },
3119 {
3120 "type": "function_definition",
3121 "named": true
3122 },
3123 {
3124 "type": "qualified_identifier",
3125 "named": true
3126 },
3127 {
3128 "type": "template_type",
3129 "named": true
3130 },
3131 {
3132 "type": "type_identifier",
3133 "named": true
3134 }
3135 ]
3136 }
3137 },
3138 {
3139 "type": "function_declarator",
3140 "named": true,
3141 "fields": {
3142 "declarator": {
3143 "multiple": false,
3144 "required": true,
3145 "types": [
3146 {
3147 "type": "_declarator",
3148 "named": true
3149 },
3150 {
3151 "type": "_field_declarator",
3152 "named": true
3153 },
3154 {
3155 "type": "_type_declarator",
3156 "named": true
3157 }
3158 ]
3159 },
3160 "parameters": {
3161 "multiple": false,
3162 "required": true,
3163 "types": [
3164 {
3165 "type": "parameter_list",
3166 "named": true
3167 }
3168 ]
3169 }
3170 },
3171 "children": {
3172 "multiple": true,
3173 "required": false,
3174 "types": [
3175 {
3176 "type": "attribute_declaration",
3177 "named": true
3178 },
3179 {
3180 "type": "attribute_specifier",
3181 "named": true
3182 },
3183 {
3184 "type": "gnu_asm_expression",
3185 "named": true
3186 },
3187 {
3188 "type": "noexcept",
3189 "named": true
3190 },
3191 {
3192 "type": "ref_qualifier",
3193 "named": true
3194 },
3195 {
3196 "type": "requires_clause",
3197 "named": true
3198 },
3199 {
3200 "type": "throw_specifier",
3201 "named": true
3202 },
3203 {
3204 "type": "trailing_return_type",
3205 "named": true
3206 },
3207 {
3208 "type": "type_qualifier",
3209 "named": true
3210 },
3211 {
3212 "type": "virtual_specifier",
3213 "named": true
3214 }
3215 ]
3216 }
3217 },
3218 {
3219 "type": "function_definition",
3220 "named": true,
3221 "fields": {
3222 "body": {
3223 "multiple": false,
3224 "required": false,
3225 "types": [
3226 {
3227 "type": "compound_statement",
3228 "named": true
3229 },
3230 {
3231 "type": "try_statement",
3232 "named": true
3233 }
3234 ]
3235 },
3236 "declarator": {
3237 "multiple": false,
3238 "required": true,
3239 "types": [
3240 {
3241 "type": "_declarator",
3242 "named": true
3243 },
3244 {
3245 "type": "_field_declarator",
3246 "named": true
3247 },
3248 {
3249 "type": "operator_cast",
3250 "named": true
3251 }
3252 ]
3253 },
3254 "type": {
3255 "multiple": false,
3256 "required": false,
3257 "types": [
3258 {
3259 "type": "_type_specifier",
3260 "named": true
3261 }
3262 ]
3263 }
3264 },
3265 "children": {
3266 "multiple": true,
3267 "required": false,
3268 "types": [
3269 {
3270 "type": "alignas_specifier",
3271 "named": true
3272 },
3273 {
3274 "type": "attribute_declaration",
3275 "named": true
3276 },
3277 {
3278 "type": "attribute_specifier",
3279 "named": true
3280 },
3281 {
3282 "type": "default_method_clause",
3283 "named": true
3284 },
3285 {
3286 "type": "delete_method_clause",
3287 "named": true
3288 },
3289 {
3290 "type": "explicit_function_specifier",
3291 "named": true
3292 },
3293 {
3294 "type": "field_initializer_list",
3295 "named": true
3296 },
3297 {
3298 "type": "ms_call_modifier",
3299 "named": true
3300 },
3301 {
3302 "type": "ms_declspec_modifier",
3303 "named": true
3304 },
3305 {
3306 "type": "pure_virtual_clause",
3307 "named": true
3308 },
3309 {
3310 "type": "storage_class_specifier",
3311 "named": true
3312 },
3313 {
3314 "type": "try_statement",
3315 "named": true
3316 },
3317 {
3318 "type": "type_qualifier",
3319 "named": true
3320 },
3321 {
3322 "type": "virtual",
3323 "named": true
3324 }
3325 ]
3326 }
3327 },
3328 {
3329 "type": "generic_expression",
3330 "named": true,
3331 "fields": {},
3332 "children": {
3333 "multiple": true,
3334 "required": true,
3335 "types": [
3336 {
3337 "type": "_expression",
3338 "named": true
3339 },
3340 {
3341 "type": "type_descriptor",
3342 "named": true
3343 }
3344 ]
3345 }
3346 },
3347 {
3348 "type": "gnu_asm_clobber_list",
3349 "named": true,
3350 "fields": {
3351 "register": {
3352 "multiple": true,
3353 "required": false,
3354 "types": [
3355 {
3356 "type": "concatenated_string",
3357 "named": true
3358 },
3359 {
3360 "type": "string_literal",
3361 "named": true
3362 }
3363 ]
3364 }
3365 }
3366 },
3367 {
3368 "type": "gnu_asm_expression",
3369 "named": true,
3370 "fields": {
3371 "assembly_code": {
3372 "multiple": false,
3373 "required": true,
3374 "types": [
3375 {
3376 "type": "concatenated_string",
3377 "named": true
3378 },
3379 {
3380 "type": "string_literal",
3381 "named": true
3382 }
3383 ]
3384 },
3385 "clobbers": {
3386 "multiple": false,
3387 "required": false,
3388 "types": [
3389 {
3390 "type": "gnu_asm_clobber_list",
3391 "named": true
3392 }
3393 ]
3394 },
3395 "goto_labels": {
3396 "multiple": false,
3397 "required": false,
3398 "types": [
3399 {
3400 "type": "gnu_asm_goto_list",
3401 "named": true
3402 }
3403 ]
3404 },
3405 "input_operands": {
3406 "multiple": false,
3407 "required": false,
3408 "types": [
3409 {
3410 "type": "gnu_asm_input_operand_list",
3411 "named": true
3412 }
3413 ]
3414 },
3415 "output_operands": {
3416 "multiple": false,
3417 "required": false,
3418 "types": [
3419 {
3420 "type": "gnu_asm_output_operand_list",
3421 "named": true
3422 }
3423 ]
3424 }
3425 },
3426 "children": {
3427 "multiple": true,
3428 "required": false,
3429 "types": [
3430 {
3431 "type": "gnu_asm_qualifier",
3432 "named": true
3433 }
3434 ]
3435 }
3436 },
3437 {
3438 "type": "gnu_asm_goto_list",
3439 "named": true,
3440 "fields": {
3441 "label": {
3442 "multiple": true,
3443 "required": false,
3444 "types": [
3445 {
3446 "type": "identifier",
3447 "named": true
3448 }
3449 ]
3450 }
3451 }
3452 },
3453 {
3454 "type": "gnu_asm_input_operand",
3455 "named": true,
3456 "fields": {
3457 "constraint": {
3458 "multiple": false,
3459 "required": true,
3460 "types": [
3461 {
3462 "type": "string_literal",
3463 "named": true
3464 }
3465 ]
3466 },
3467 "symbol": {
3468 "multiple": false,
3469 "required": false,
3470 "types": [
3471 {
3472 "type": "identifier",
3473 "named": true
3474 }
3475 ]
3476 },
3477 "value": {
3478 "multiple": false,
3479 "required": true,
3480 "types": [
3481 {
3482 "type": "_expression",
3483 "named": true
3484 }
3485 ]
3486 }
3487 }
3488 },
3489 {
3490 "type": "gnu_asm_input_operand_list",
3491 "named": true,
3492 "fields": {
3493 "operand": {
3494 "multiple": true,
3495 "required": false,
3496 "types": [
3497 {
3498 "type": "gnu_asm_input_operand",
3499 "named": true
3500 }
3501 ]
3502 }
3503 }
3504 },
3505 {
3506 "type": "gnu_asm_output_operand",
3507 "named": true,
3508 "fields": {
3509 "constraint": {
3510 "multiple": false,
3511 "required": true,
3512 "types": [
3513 {
3514 "type": "string_literal",
3515 "named": true
3516 }
3517 ]
3518 },
3519 "symbol": {
3520 "multiple": false,
3521 "required": false,
3522 "types": [
3523 {
3524 "type": "identifier",
3525 "named": true
3526 }
3527 ]
3528 },
3529 "value": {
3530 "multiple": false,
3531 "required": true,
3532 "types": [
3533 {
3534 "type": "identifier",
3535 "named": true
3536 }
3537 ]
3538 }
3539 }
3540 },
3541 {
3542 "type": "gnu_asm_output_operand_list",
3543 "named": true,
3544 "fields": {
3545 "operand": {
3546 "multiple": true,
3547 "required": false,
3548 "types": [
3549 {
3550 "type": "gnu_asm_output_operand",
3551 "named": true
3552 }
3553 ]
3554 }
3555 }
3556 },
3557 {
3558 "type": "gnu_asm_qualifier",
3559 "named": true,
3560 "fields": {}
3561 },
3562 {
3563 "type": "goto_statement",
3564 "named": true,
3565 "fields": {
3566 "label": {
3567 "multiple": false,
3568 "required": true,
3569 "types": [
3570 {
3571 "type": "statement_identifier",
3572 "named": true
3573 }
3574 ]
3575 }
3576 }
3577 },
3578 {
3579 "type": "if_statement",
3580 "named": true,
3581 "fields": {
3582 "alternative": {
3583 "multiple": false,
3584 "required": false,
3585 "types": [
3586 {
3587 "type": "else_clause",
3588 "named": true
3589 }
3590 ]
3591 },
3592 "condition": {
3593 "multiple": false,
3594 "required": true,
3595 "types": [
3596 {
3597 "type": "condition_clause",
3598 "named": true
3599 }
3600 ]
3601 },
3602 "consequence": {
3603 "multiple": false,
3604 "required": true,
3605 "types": [
3606 {
3607 "type": "_statement",
3608 "named": true
3609 }
3610 ]
3611 }
3612 }
3613 },
3614 {
3615 "type": "init_declarator",
3616 "named": true,
3617 "fields": {
3618 "declarator": {
3619 "multiple": false,
3620 "required": true,
3621 "types": [
3622 {
3623 "type": "_declarator",
3624 "named": true
3625 }
3626 ]
3627 },
3628 "value": {
3629 "multiple": false,
3630 "required": true,
3631 "types": [
3632 {
3633 "type": "_expression",
3634 "named": true
3635 },
3636 {
3637 "type": "argument_list",
3638 "named": true
3639 },
3640 {
3641 "type": "initializer_list",
3642 "named": true
3643 }
3644 ]
3645 }
3646 }
3647 },
3648 {
3649 "type": "init_statement",
3650 "named": true,
3651 "fields": {},
3652 "children": {
3653 "multiple": false,
3654 "required": true,
3655 "types": [
3656 {
3657 "type": "alias_declaration",
3658 "named": true
3659 },
3660 {
3661 "type": "declaration",
3662 "named": true
3663 },
3664 {
3665 "type": "expression_statement",
3666 "named": true
3667 },
3668 {
3669 "type": "type_definition",
3670 "named": true
3671 }
3672 ]
3673 }
3674 },
3675 {
3676 "type": "initializer_list",
3677 "named": true,
3678 "fields": {},
3679 "children": {
3680 "multiple": true,
3681 "required": false,
3682 "types": [
3683 {
3684 "type": "_expression",
3685 "named": true
3686 },
3687 {
3688 "type": "initializer_list",
3689 "named": true
3690 },
3691 {
3692 "type": "initializer_pair",
3693 "named": true
3694 }
3695 ]
3696 }
3697 },
3698 {
3699 "type": "initializer_pair",
3700 "named": true,
3701 "fields": {
3702 "designator": {
3703 "multiple": true,
3704 "required": true,
3705 "types": [
3706 {
3707 "type": "field_designator",
3708 "named": true
3709 },
3710 {
3711 "type": "field_identifier",
3712 "named": true
3713 },
3714 {
3715 "type": "subscript_designator",
3716 "named": true
3717 },
3718 {
3719 "type": "subscript_range_designator",
3720 "named": true
3721 }
3722 ]
3723 },
3724 "value": {
3725 "multiple": false,
3726 "required": true,
3727 "types": [
3728 {
3729 "type": "_expression",
3730 "named": true
3731 },
3732 {
3733 "type": "initializer_list",
3734 "named": true
3735 }
3736 ]
3737 }
3738 }
3739 },
3740 {
3741 "type": "labeled_statement",
3742 "named": true,
3743 "fields": {
3744 "label": {
3745 "multiple": false,
3746 "required": true,
3747 "types": [
3748 {
3749 "type": "statement_identifier",
3750 "named": true
3751 }
3752 ]
3753 }
3754 },
3755 "children": {
3756 "multiple": false,
3757 "required": true,
3758 "types": [
3759 {
3760 "type": "_statement",
3761 "named": true
3762 }
3763 ]
3764 }
3765 },
3766 {
3767 "type": "lambda_capture_specifier",
3768 "named": true,
3769 "fields": {},
3770 "children": {
3771 "multiple": true,
3772 "required": false,
3773 "types": [
3774 {
3775 "type": "_expression",
3776 "named": true
3777 },
3778 {
3779 "type": "lambda_default_capture",
3780 "named": true
3781 }
3782 ]
3783 }
3784 },
3785 {
3786 "type": "lambda_default_capture",
3787 "named": true,
3788 "fields": {}
3789 },
3790 {
3791 "type": "lambda_expression",
3792 "named": true,
3793 "fields": {
3794 "body": {
3795 "multiple": false,
3796 "required": true,
3797 "types": [
3798 {
3799 "type": "compound_statement",
3800 "named": true
3801 }
3802 ]
3803 },
3804 "captures": {
3805 "multiple": false,
3806 "required": true,
3807 "types": [
3808 {
3809 "type": "lambda_capture_specifier",
3810 "named": true
3811 }
3812 ]
3813 },
3814 "constraint": {
3815 "multiple": false,
3816 "required": false,
3817 "types": [
3818 {
3819 "type": "requires_clause",
3820 "named": true
3821 }
3822 ]
3823 },
3824 "declarator": {
3825 "multiple": false,
3826 "required": false,
3827 "types": [
3828 {
3829 "type": "abstract_function_declarator",
3830 "named": true
3831 }
3832 ]
3833 },
3834 "template_parameters": {
3835 "multiple": false,
3836 "required": false,
3837 "types": [
3838 {
3839 "type": "template_parameter_list",
3840 "named": true
3841 }
3842 ]
3843 }
3844 }
3845 },
3846 {
3847 "type": "linkage_specification",
3848 "named": true,
3849 "fields": {
3850 "body": {
3851 "multiple": false,
3852 "required": true,
3853 "types": [
3854 {
3855 "type": "declaration",
3856 "named": true
3857 },
3858 {
3859 "type": "declaration_list",
3860 "named": true
3861 },
3862 {
3863 "type": "function_definition",
3864 "named": true
3865 }
3866 ]
3867 },
3868 "value": {
3869 "multiple": false,
3870 "required": true,
3871 "types": [
3872 {
3873 "type": "string_literal",
3874 "named": true
3875 }
3876 ]
3877 }
3878 }
3879 },
3880 {
3881 "type": "ms_based_modifier",
3882 "named": true,
3883 "fields": {},
3884 "children": {
3885 "multiple": false,
3886 "required": true,
3887 "types": [
3888 {
3889 "type": "argument_list",
3890 "named": true
3891 }
3892 ]
3893 }
3894 },
3895 {
3896 "type": "ms_call_modifier",
3897 "named": true,
3898 "fields": {}
3899 },
3900 {
3901 "type": "ms_declspec_modifier",
3902 "named": true,
3903 "fields": {},
3904 "children": {
3905 "multiple": false,
3906 "required": true,
3907 "types": [
3908 {
3909 "type": "identifier",
3910 "named": true
3911 }
3912 ]
3913 }
3914 },
3915 {
3916 "type": "ms_pointer_modifier",
3917 "named": true,
3918 "fields": {},
3919 "children": {
3920 "multiple": false,
3921 "required": true,
3922 "types": [
3923 {
3924 "type": "ms_restrict_modifier",
3925 "named": true
3926 },
3927 {
3928 "type": "ms_signed_ptr_modifier",
3929 "named": true
3930 },
3931 {
3932 "type": "ms_unaligned_ptr_modifier",
3933 "named": true
3934 },
3935 {
3936 "type": "ms_unsigned_ptr_modifier",
3937 "named": true
3938 }
3939 ]
3940 }
3941 },
3942 {
3943 "type": "ms_unaligned_ptr_modifier",
3944 "named": true,
3945 "fields": {}
3946 },
3947 {
3948 "type": "namespace_alias_definition",
3949 "named": true,
3950 "fields": {
3951 "name": {
3952 "multiple": false,
3953 "required": true,
3954 "types": [
3955 {
3956 "type": "namespace_identifier",
3957 "named": true
3958 }
3959 ]
3960 }
3961 },
3962 "children": {
3963 "multiple": false,
3964 "required": true,
3965 "types": [
3966 {
3967 "type": "namespace_identifier",
3968 "named": true
3969 },
3970 {
3971 "type": "nested_namespace_specifier",
3972 "named": true
3973 }
3974 ]
3975 }
3976 },
3977 {
3978 "type": "namespace_definition",
3979 "named": true,
3980 "fields": {
3981 "body": {
3982 "multiple": false,
3983 "required": true,
3984 "types": [
3985 {
3986 "type": "declaration_list",
3987 "named": true
3988 }
3989 ]
3990 },
3991 "name": {
3992 "multiple": false,
3993 "required": false,
3994 "types": [
3995 {
3996 "type": "namespace_identifier",
3997 "named": true
3998 },
3999 {
4000 "type": "nested_namespace_specifier",
4001 "named": true
4002 }
4003 ]
4004 }
4005 },
4006 "children": {
4007 "multiple": false,
4008 "required": false,
4009 "types": [
4010 {
4011 "type": "attribute_declaration",
4012 "named": true
4013 }
4014 ]
4015 }
4016 },
4017 {
4018 "type": "nested_namespace_specifier",
4019 "named": true,
4020 "fields": {},
4021 "children": {
4022 "multiple": true,
4023 "required": false,
4024 "types": [
4025 {
4026 "type": "namespace_identifier",
4027 "named": true
4028 },
4029 {
4030 "type": "nested_namespace_specifier",
4031 "named": true
4032 }
4033 ]
4034 }
4035 },
4036 {
4037 "type": "new_declarator",
4038 "named": true,
4039 "fields": {
4040 "length": {
4041 "multiple": false,
4042 "required": true,
4043 "types": [
4044 {
4045 "type": "_expression",
4046 "named": true
4047 }
4048 ]
4049 }
4050 },
4051 "children": {
4052 "multiple": false,
4053 "required": false,
4054 "types": [
4055 {
4056 "type": "new_declarator",
4057 "named": true
4058 }
4059 ]
4060 }
4061 },
4062 {
4063 "type": "new_expression",
4064 "named": true,
4065 "fields": {
4066 "arguments": {
4067 "multiple": false,
4068 "required": false,
4069 "types": [
4070 {
4071 "type": "argument_list",
4072 "named": true
4073 },
4074 {
4075 "type": "initializer_list",
4076 "named": true
4077 }
4078 ]
4079 },
4080 "declarator": {
4081 "multiple": false,
4082 "required": false,
4083 "types": [
4084 {
4085 "type": "new_declarator",
4086 "named": true
4087 }
4088 ]
4089 },
4090 "placement": {
4091 "multiple": false,
4092 "required": false,
4093 "types": [
4094 {
4095 "type": "argument_list",
4096 "named": true
4097 }
4098 ]
4099 },
4100 "type": {
4101 "multiple": false,
4102 "required": true,
4103 "types": [
4104 {
4105 "type": "_type_specifier",
4106 "named": true
4107 }
4108 ]
4109 }
4110 }
4111 },
4112 {
4113 "type": "noexcept",
4114 "named": true,
4115 "fields": {},
4116 "children": {
4117 "multiple": false,
4118 "required": false,
4119 "types": [
4120 {
4121 "type": "_expression",
4122 "named": true
4123 }
4124 ]
4125 }
4126 },
4127 {
4128 "type": "null",
4129 "named": true,
4130 "fields": {}
4131 },
4132 {
4133 "type": "offsetof_expression",
4134 "named": true,
4135 "fields": {
4136 "member": {
4137 "multiple": false,
4138 "required": true,
4139 "types": [
4140 {
4141 "type": "field_identifier",
4142 "named": true
4143 }
4144 ]
4145 },
4146 "type": {
4147 "multiple": false,
4148 "required": true,
4149 "types": [
4150 {
4151 "type": "type_descriptor",
4152 "named": true
4153 }
4154 ]
4155 }
4156 }
4157 },
4158 {
4159 "type": "operator_cast",
4160 "named": true,
4161 "fields": {
4162 "declarator": {
4163 "multiple": false,
4164 "required": true,
4165 "types": [
4166 {
4167 "type": "_abstract_declarator",
4168 "named": true
4169 }
4170 ]
4171 },
4172 "type": {
4173 "multiple": false,
4174 "required": true,
4175 "types": [
4176 {
4177 "type": "_type_specifier",
4178 "named": true
4179 }
4180 ]
4181 }
4182 },
4183 "children": {
4184 "multiple": true,
4185 "required": false,
4186 "types": [
4187 {
4188 "type": "alignas_specifier",
4189 "named": true
4190 },
4191 {
4192 "type": "attribute_declaration",
4193 "named": true
4194 },
4195 {
4196 "type": "attribute_specifier",
4197 "named": true
4198 },
4199 {
4200 "type": "ms_declspec_modifier",
4201 "named": true
4202 },
4203 {
4204 "type": "storage_class_specifier",
4205 "named": true
4206 },
4207 {
4208 "type": "type_qualifier",
4209 "named": true
4210 },
4211 {
4212 "type": "virtual",
4213 "named": true
4214 }
4215 ]
4216 }
4217 },
4218 {
4219 "type": "operator_name",
4220 "named": true,
4221 "fields": {},
4222 "children": {
4223 "multiple": false,
4224 "required": false,
4225 "types": [
4226 {
4227 "type": "identifier",
4228 "named": true
4229 }
4230 ]
4231 }
4232 },
4233 {
4234 "type": "optional_parameter_declaration",
4235 "named": true,
4236 "fields": {
4237 "declarator": {
4238 "multiple": false,
4239 "required": false,
4240 "types": [
4241 {
4242 "type": "_declarator",
4243 "named": true
4244 },
4245 {
4246 "type": "abstract_reference_declarator",
4247 "named": true
4248 }
4249 ]
4250 },
4251 "default_value": {
4252 "multiple": false,
4253 "required": true,
4254 "types": [
4255 {
4256 "type": "_expression",
4257 "named": true
4258 }
4259 ]
4260 },
4261 "type": {
4262 "multiple": false,
4263 "required": true,
4264 "types": [
4265 {
4266 "type": "_type_specifier",
4267 "named": true
4268 }
4269 ]
4270 }
4271 },
4272 "children": {
4273 "multiple": true,
4274 "required": false,
4275 "types": [
4276 {
4277 "type": "alignas_specifier",
4278 "named": true
4279 },
4280 {
4281 "type": "attribute_declaration",
4282 "named": true
4283 },
4284 {
4285 "type": "attribute_specifier",
4286 "named": true
4287 },
4288 {
4289 "type": "ms_declspec_modifier",
4290 "named": true
4291 },
4292 {
4293 "type": "storage_class_specifier",
4294 "named": true
4295 },
4296 {
4297 "type": "type_qualifier",
4298 "named": true
4299 },
4300 {
4301 "type": "virtual",
4302 "named": true
4303 }
4304 ]
4305 }
4306 },
4307 {
4308 "type": "optional_type_parameter_declaration",
4309 "named": true,
4310 "fields": {
4311 "default_type": {
4312 "multiple": false,
4313 "required": true,
4314 "types": [
4315 {
4316 "type": "_type_specifier",
4317 "named": true
4318 }
4319 ]
4320 },
4321 "name": {
4322 "multiple": false,
4323 "required": false,
4324 "types": [
4325 {
4326 "type": "type_identifier",
4327 "named": true
4328 }
4329 ]
4330 }
4331 }
4332 },
4333 {
4334 "type": "parameter_declaration",
4335 "named": true,
4336 "fields": {
4337 "declarator": {
4338 "multiple": false,
4339 "required": false,
4340 "types": [
4341 {
4342 "type": "_abstract_declarator",
4343 "named": true
4344 },
4345 {
4346 "type": "_declarator",
4347 "named": true
4348 }
4349 ]
4350 },
4351 "type": {
4352 "multiple": false,
4353 "required": true,
4354 "types": [
4355 {
4356 "type": "_type_specifier",
4357 "named": true
4358 }
4359 ]
4360 }
4361 },
4362 "children": {
4363 "multiple": true,
4364 "required": false,
4365 "types": [
4366 {
4367 "type": "alignas_specifier",
4368 "named": true
4369 },
4370 {
4371 "type": "attribute_declaration",
4372 "named": true
4373 },
4374 {
4375 "type": "attribute_specifier",
4376 "named": true
4377 },
4378 {
4379 "type": "ms_declspec_modifier",
4380 "named": true
4381 },
4382 {
4383 "type": "storage_class_specifier",
4384 "named": true
4385 },
4386 {
4387 "type": "type_qualifier",
4388 "named": true
4389 },
4390 {
4391 "type": "virtual",
4392 "named": true
4393 }
4394 ]
4395 }
4396 },
4397 {
4398 "type": "parameter_list",
4399 "named": true,
4400 "fields": {},
4401 "children": {
4402 "multiple": true,
4403 "required": false,
4404 "types": [
4405 {
4406 "type": "identifier",
4407 "named": true
4408 },
4409 {
4410 "type": "optional_parameter_declaration",
4411 "named": true
4412 },
4413 {
4414 "type": "parameter_declaration",
4415 "named": true
4416 },
4417 {
4418 "type": "variadic_parameter",
4419 "named": true
4420 },
4421 {
4422 "type": "variadic_parameter_declaration",
4423 "named": true
4424 }
4425 ]
4426 }
4427 },
4428 {
4429 "type": "parameter_pack_expansion",
4430 "named": true,
4431 "fields": {
4432 "pattern": {
4433 "multiple": false,
4434 "required": true,
4435 "types": [
4436 {
4437 "type": "_expression",
4438 "named": true
4439 },
4440 {
4441 "type": "type_descriptor",
4442 "named": true
4443 }
4444 ]
4445 }
4446 }
4447 },
4448 {
4449 "type": "parenthesized_declarator",
4450 "named": true,
4451 "fields": {},
4452 "children": {
4453 "multiple": true,
4454 "required": true,
4455 "types": [
4456 {
4457 "type": "_declarator",
4458 "named": true
4459 },
4460 {
4461 "type": "_field_declarator",
4462 "named": true
4463 },
4464 {
4465 "type": "_type_declarator",
4466 "named": true
4467 },
4468 {
4469 "type": "ms_call_modifier",
4470 "named": true
4471 }
4472 ]
4473 }
4474 },
4475 {
4476 "type": "parenthesized_expression",
4477 "named": true,
4478 "fields": {},
4479 "children": {
4480 "multiple": false,
4481 "required": true,
4482 "types": [
4483 {
4484 "type": "_expression",
4485 "named": true
4486 },
4487 {
4488 "type": "comma_expression",
4489 "named": true
4490 },
4491 {
4492 "type": "preproc_defined",
4493 "named": true
4494 }
4495 ]
4496 }
4497 },
4498 {
4499 "type": "placeholder_type_specifier",
4500 "named": true,
4501 "fields": {
4502 "constraint": {
4503 "multiple": false,
4504 "required": false,
4505 "types": [
4506 {
4507 "type": "_type_specifier",
4508 "named": true
4509 }
4510 ]
4511 }
4512 },
4513 "children": {
4514 "multiple": false,
4515 "required": true,
4516 "types": [
4517 {
4518 "type": "auto",
4519 "named": true
4520 },
4521 {
4522 "type": "decltype",
4523 "named": true
4524 }
4525 ]
4526 }
4527 },
4528 {
4529 "type": "pointer_declarator",
4530 "named": true,
4531 "fields": {
4532 "declarator": {
4533 "multiple": false,
4534 "required": true,
4535 "types": [
4536 {
4537 "type": "_declarator",
4538 "named": true
4539 },
4540 {
4541 "type": "_field_declarator",
4542 "named": true
4543 },
4544 {
4545 "type": "_type_declarator",
4546 "named": true
4547 }
4548 ]
4549 }
4550 },
4551 "children": {
4552 "multiple": true,
4553 "required": false,
4554 "types": [
4555 {
4556 "type": "ms_based_modifier",
4557 "named": true
4558 },
4559 {
4560 "type": "ms_pointer_modifier",
4561 "named": true
4562 },
4563 {
4564 "type": "type_qualifier",
4565 "named": true
4566 }
4567 ]
4568 }
4569 },
4570 {
4571 "type": "pointer_expression",
4572 "named": true,
4573 "fields": {
4574 "argument": {
4575 "multiple": false,
4576 "required": true,
4577 "types": [
4578 {
4579 "type": "_expression",
4580 "named": true
4581 }
4582 ]
4583 },
4584 "operator": {
4585 "multiple": false,
4586 "required": true,
4587 "types": [
4588 {
4589 "type": "&",
4590 "named": false
4591 },
4592 {
4593 "type": "*",
4594 "named": false
4595 }
4596 ]
4597 }
4598 }
4599 },
4600 {
4601 "type": "pointer_type_declarator",
4602 "named": true,
4603 "fields": {
4604 "declarator": {
4605 "multiple": false,
4606 "required": true,
4607 "types": [
4608 {
4609 "type": "_type_declarator",
4610 "named": true
4611 }
4612 ]
4613 }
4614 },
4615 "children": {
4616 "multiple": true,
4617 "required": false,
4618 "types": [
4619 {
4620 "type": "ms_based_modifier",
4621 "named": true
4622 },
4623 {
4624 "type": "ms_pointer_modifier",
4625 "named": true
4626 },
4627 {
4628 "type": "type_qualifier",
4629 "named": true
4630 }
4631 ]
4632 }
4633 },
4634 {
4635 "type": "preproc_call",
4636 "named": true,
4637 "fields": {
4638 "argument": {
4639 "multiple": false,
4640 "required": false,
4641 "types": [
4642 {
4643 "type": "preproc_arg",
4644 "named": true
4645 }
4646 ]
4647 },
4648 "directive": {
4649 "multiple": false,
4650 "required": true,
4651 "types": [
4652 {
4653 "type": "preproc_directive",
4654 "named": true
4655 }
4656 ]
4657 }
4658 }
4659 },
4660 {
4661 "type": "preproc_def",
4662 "named": true,
4663 "fields": {
4664 "name": {
4665 "multiple": false,
4666 "required": true,
4667 "types": [
4668 {
4669 "type": "identifier",
4670 "named": true
4671 }
4672 ]
4673 },
4674 "value": {
4675 "multiple": false,
4676 "required": false,
4677 "types": [
4678 {
4679 "type": "preproc_arg",
4680 "named": true
4681 }
4682 ]
4683 }
4684 }
4685 },
4686 {
4687 "type": "preproc_defined",
4688 "named": true,
4689 "fields": {},
4690 "children": {
4691 "multiple": false,
4692 "required": true,
4693 "types": [
4694 {
4695 "type": "identifier",
4696 "named": true
4697 }
4698 ]
4699 }
4700 },
4701 {
4702 "type": "preproc_elif",
4703 "named": true,
4704 "fields": {
4705 "alternative": {
4706 "multiple": false,
4707 "required": false,
4708 "types": [
4709 {
4710 "type": "preproc_elif",
4711 "named": true
4712 },
4713 {
4714 "type": "preproc_else",
4715 "named": true
4716 }
4717 ]
4718 },
4719 "condition": {
4720 "multiple": false,
4721 "required": true,
4722 "types": [
4723 {
4724 "type": "binary_expression",
4725 "named": true
4726 },
4727 {
4728 "type": "call_expression",
4729 "named": true
4730 },
4731 {
4732 "type": "char_literal",
4733 "named": true
4734 },
4735 {
4736 "type": "identifier",
4737 "named": true
4738 },
4739 {
4740 "type": "number_literal",
4741 "named": true
4742 },
4743 {
4744 "type": "parenthesized_expression",
4745 "named": true
4746 },
4747 {
4748 "type": "preproc_defined",
4749 "named": true
4750 },
4751 {
4752 "type": "unary_expression",
4753 "named": true
4754 }
4755 ]
4756 }
4757 },
4758 "children": {
4759 "multiple": true,
4760 "required": false,
4761 "types": [
4762 {
4763 "type": "_statement",
4764 "named": true
4765 },
4766 {
4767 "type": "_type_specifier",
4768 "named": true
4769 },
4770 {
4771 "type": "access_specifier",
4772 "named": true
4773 },
4774 {
4775 "type": "alias_declaration",
4776 "named": true
4777 },
4778 {
4779 "type": "concept_definition",
4780 "named": true
4781 },
4782 {
4783 "type": "declaration",
4784 "named": true
4785 },
4786 {
4787 "type": "enumerator",
4788 "named": true
4789 },
4790 {
4791 "type": "field_declaration",
4792 "named": true
4793 },
4794 {
4795 "type": "friend_declaration",
4796 "named": true
4797 },
4798 {
4799 "type": "function_definition",
4800 "named": true
4801 },
4802 {
4803 "type": "linkage_specification",
4804 "named": true
4805 },
4806 {
4807 "type": "namespace_alias_definition",
4808 "named": true
4809 },
4810 {
4811 "type": "namespace_definition",
4812 "named": true
4813 },
4814 {
4815 "type": "preproc_call",
4816 "named": true
4817 },
4818 {
4819 "type": "preproc_def",
4820 "named": true
4821 },
4822 {
4823 "type": "preproc_function_def",
4824 "named": true
4825 },
4826 {
4827 "type": "preproc_if",
4828 "named": true
4829 },
4830 {
4831 "type": "preproc_ifdef",
4832 "named": true
4833 },
4834 {
4835 "type": "preproc_include",
4836 "named": true
4837 },
4838 {
4839 "type": "static_assert_declaration",
4840 "named": true
4841 },
4842 {
4843 "type": "template_declaration",
4844 "named": true
4845 },
4846 {
4847 "type": "template_instantiation",
4848 "named": true
4849 },
4850 {
4851 "type": "type_definition",
4852 "named": true
4853 },
4854 {
4855 "type": "using_declaration",
4856 "named": true
4857 }
4858 ]
4859 }
4860 },
4861 {
4862 "type": "preproc_elifdef",
4863 "named": true,
4864 "fields": {
4865 "alternative": {
4866 "multiple": false,
4867 "required": false,
4868 "types": [
4869 {
4870 "type": "preproc_elif",
4871 "named": true
4872 },
4873 {
4874 "type": "preproc_else",
4875 "named": true
4876 }
4877 ]
4878 },
4879 "name": {
4880 "multiple": false,
4881 "required": true,
4882 "types": [
4883 {
4884 "type": "identifier",
4885 "named": true
4886 }
4887 ]
4888 }
4889 },
4890 "children": {
4891 "multiple": true,
4892 "required": false,
4893 "types": [
4894 {
4895 "type": "_statement",
4896 "named": true
4897 },
4898 {
4899 "type": "_type_specifier",
4900 "named": true
4901 },
4902 {
4903 "type": "access_specifier",
4904 "named": true
4905 },
4906 {
4907 "type": "alias_declaration",
4908 "named": true
4909 },
4910 {
4911 "type": "concept_definition",
4912 "named": true
4913 },
4914 {
4915 "type": "declaration",
4916 "named": true
4917 },
4918 {
4919 "type": "enumerator",
4920 "named": true
4921 },
4922 {
4923 "type": "field_declaration",
4924 "named": true
4925 },
4926 {
4927 "type": "friend_declaration",
4928 "named": true
4929 },
4930 {
4931 "type": "function_definition",
4932 "named": true
4933 },
4934 {
4935 "type": "linkage_specification",
4936 "named": true
4937 },
4938 {
4939 "type": "namespace_alias_definition",
4940 "named": true
4941 },
4942 {
4943 "type": "namespace_definition",
4944 "named": true
4945 },
4946 {
4947 "type": "preproc_call",
4948 "named": true
4949 },
4950 {
4951 "type": "preproc_def",
4952 "named": true
4953 },
4954 {
4955 "type": "preproc_function_def",
4956 "named": true
4957 },
4958 {
4959 "type": "preproc_if",
4960 "named": true
4961 },
4962 {
4963 "type": "preproc_ifdef",
4964 "named": true
4965 },
4966 {
4967 "type": "preproc_include",
4968 "named": true
4969 },
4970 {
4971 "type": "static_assert_declaration",
4972 "named": true
4973 },
4974 {
4975 "type": "template_declaration",
4976 "named": true
4977 },
4978 {
4979 "type": "template_instantiation",
4980 "named": true
4981 },
4982 {
4983 "type": "type_definition",
4984 "named": true
4985 },
4986 {
4987 "type": "using_declaration",
4988 "named": true
4989 }
4990 ]
4991 }
4992 },
4993 {
4994 "type": "preproc_else",
4995 "named": true,
4996 "fields": {},
4997 "children": {
4998 "multiple": true,
4999 "required": false,
5000 "types": [
5001 {
5002 "type": "_statement",
5003 "named": true
5004 },
5005 {
5006 "type": "_type_specifier",
5007 "named": true
5008 },
5009 {
5010 "type": "access_specifier",
5011 "named": true
5012 },
5013 {
5014 "type": "alias_declaration",
5015 "named": true
5016 },
5017 {
5018 "type": "concept_definition",
5019 "named": true
5020 },
5021 {
5022 "type": "declaration",
5023 "named": true
5024 },
5025 {
5026 "type": "enumerator",
5027 "named": true
5028 },
5029 {
5030 "type": "field_declaration",
5031 "named": true
5032 },
5033 {
5034 "type": "friend_declaration",
5035 "named": true
5036 },
5037 {
5038 "type": "function_definition",
5039 "named": true
5040 },
5041 {
5042 "type": "linkage_specification",
5043 "named": true
5044 },
5045 {
5046 "type": "namespace_alias_definition",
5047 "named": true
5048 },
5049 {
5050 "type": "namespace_definition",
5051 "named": true
5052 },
5053 {
5054 "type": "preproc_call",
5055 "named": true
5056 },
5057 {
5058 "type": "preproc_def",
5059 "named": true
5060 },
5061 {
5062 "type": "preproc_function_def",
5063 "named": true
5064 },
5065 {
5066 "type": "preproc_if",
5067 "named": true
5068 },
5069 {
5070 "type": "preproc_ifdef",
5071 "named": true
5072 },
5073 {
5074 "type": "preproc_include",
5075 "named": true
5076 },
5077 {
5078 "type": "static_assert_declaration",
5079 "named": true
5080 },
5081 {
5082 "type": "template_declaration",
5083 "named": true
5084 },
5085 {
5086 "type": "template_instantiation",
5087 "named": true
5088 },
5089 {
5090 "type": "type_definition",
5091 "named": true
5092 },
5093 {
5094 "type": "using_declaration",
5095 "named": true
5096 }
5097 ]
5098 }
5099 },
5100 {
5101 "type": "preproc_function_def",
5102 "named": true,
5103 "fields": {
5104 "name": {
5105 "multiple": false,
5106 "required": true,
5107 "types": [
5108 {
5109 "type": "identifier",
5110 "named": true
5111 }
5112 ]
5113 },
5114 "parameters": {
5115 "multiple": false,
5116 "required": true,
5117 "types": [
5118 {
5119 "type": "preproc_params",
5120 "named": true
5121 }
5122 ]
5123 },
5124 "value": {
5125 "multiple": false,
5126 "required": false,
5127 "types": [
5128 {
5129 "type": "preproc_arg",
5130 "named": true
5131 }
5132 ]
5133 }
5134 }
5135 },
5136 {
5137 "type": "preproc_if",
5138 "named": true,
5139 "fields": {
5140 "alternative": {
5141 "multiple": false,
5142 "required": false,
5143 "types": [
5144 {
5145 "type": "preproc_elif",
5146 "named": true
5147 },
5148 {
5149 "type": "preproc_else",
5150 "named": true
5151 }
5152 ]
5153 },
5154 "condition": {
5155 "multiple": false,
5156 "required": true,
5157 "types": [
5158 {
5159 "type": "binary_expression",
5160 "named": true
5161 },
5162 {
5163 "type": "call_expression",
5164 "named": true
5165 },
5166 {
5167 "type": "char_literal",
5168 "named": true
5169 },
5170 {
5171 "type": "identifier",
5172 "named": true
5173 },
5174 {
5175 "type": "number_literal",
5176 "named": true
5177 },
5178 {
5179 "type": "parenthesized_expression",
5180 "named": true
5181 },
5182 {
5183 "type": "preproc_defined",
5184 "named": true
5185 },
5186 {
5187 "type": "unary_expression",
5188 "named": true
5189 }
5190 ]
5191 }
5192 },
5193 "children": {
5194 "multiple": true,
5195 "required": false,
5196 "types": [
5197 {
5198 "type": "_statement",
5199 "named": true
5200 },
5201 {
5202 "type": "_type_specifier",
5203 "named": true
5204 },
5205 {
5206 "type": "access_specifier",
5207 "named": true
5208 },
5209 {
5210 "type": "alias_declaration",
5211 "named": true
5212 },
5213 {
5214 "type": "concept_definition",
5215 "named": true
5216 },
5217 {
5218 "type": "declaration",
5219 "named": true
5220 },
5221 {
5222 "type": "enumerator",
5223 "named": true
5224 },
5225 {
5226 "type": "field_declaration",
5227 "named": true
5228 },
5229 {
5230 "type": "friend_declaration",
5231 "named": true
5232 },
5233 {
5234 "type": "function_definition",
5235 "named": true
5236 },
5237 {
5238 "type": "linkage_specification",
5239 "named": true
5240 },
5241 {
5242 "type": "namespace_alias_definition",
5243 "named": true
5244 },
5245 {
5246 "type": "namespace_definition",
5247 "named": true
5248 },
5249 {
5250 "type": "preproc_call",
5251 "named": true
5252 },
5253 {
5254 "type": "preproc_def",
5255 "named": true
5256 },
5257 {
5258 "type": "preproc_function_def",
5259 "named": true
5260 },
5261 {
5262 "type": "preproc_if",
5263 "named": true
5264 },
5265 {
5266 "type": "preproc_ifdef",
5267 "named": true
5268 },
5269 {
5270 "type": "preproc_include",
5271 "named": true
5272 },
5273 {
5274 "type": "static_assert_declaration",
5275 "named": true
5276 },
5277 {
5278 "type": "template_declaration",
5279 "named": true
5280 },
5281 {
5282 "type": "template_instantiation",
5283 "named": true
5284 },
5285 {
5286 "type": "type_definition",
5287 "named": true
5288 },
5289 {
5290 "type": "using_declaration",
5291 "named": true
5292 }
5293 ]
5294 }
5295 },
5296 {
5297 "type": "preproc_ifdef",
5298 "named": true,
5299 "fields": {
5300 "alternative": {
5301 "multiple": false,
5302 "required": false,
5303 "types": [
5304 {
5305 "type": "preproc_elif",
5306 "named": true
5307 },
5308 {
5309 "type": "preproc_elifdef",
5310 "named": true
5311 },
5312 {
5313 "type": "preproc_else",
5314 "named": true
5315 }
5316 ]
5317 },
5318 "name": {
5319 "multiple": false,
5320 "required": true,
5321 "types": [
5322 {
5323 "type": "identifier",
5324 "named": true
5325 }
5326 ]
5327 }
5328 },
5329 "children": {
5330 "multiple": true,
5331 "required": false,
5332 "types": [
5333 {
5334 "type": "_statement",
5335 "named": true
5336 },
5337 {
5338 "type": "_type_specifier",
5339 "named": true
5340 },
5341 {
5342 "type": "access_specifier",
5343 "named": true
5344 },
5345 {
5346 "type": "alias_declaration",
5347 "named": true
5348 },
5349 {
5350 "type": "concept_definition",
5351 "named": true
5352 },
5353 {
5354 "type": "declaration",
5355 "named": true
5356 },
5357 {
5358 "type": "enumerator",
5359 "named": true
5360 },
5361 {
5362 "type": "field_declaration",
5363 "named": true
5364 },
5365 {
5366 "type": "friend_declaration",
5367 "named": true
5368 },
5369 {
5370 "type": "function_definition",
5371 "named": true
5372 },
5373 {
5374 "type": "linkage_specification",
5375 "named": true
5376 },
5377 {
5378 "type": "namespace_alias_definition",
5379 "named": true
5380 },
5381 {
5382 "type": "namespace_definition",
5383 "named": true
5384 },
5385 {
5386 "type": "preproc_call",
5387 "named": true
5388 },
5389 {
5390 "type": "preproc_def",
5391 "named": true
5392 },
5393 {
5394 "type": "preproc_function_def",
5395 "named": true
5396 },
5397 {
5398 "type": "preproc_if",
5399 "named": true
5400 },
5401 {
5402 "type": "preproc_ifdef",
5403 "named": true
5404 },
5405 {
5406 "type": "preproc_include",
5407 "named": true
5408 },
5409 {
5410 "type": "static_assert_declaration",
5411 "named": true
5412 },
5413 {
5414 "type": "template_declaration",
5415 "named": true
5416 },
5417 {
5418 "type": "template_instantiation",
5419 "named": true
5420 },
5421 {
5422 "type": "type_definition",
5423 "named": true
5424 },
5425 {
5426 "type": "using_declaration",
5427 "named": true
5428 }
5429 ]
5430 }
5431 },
5432 {
5433 "type": "preproc_include",
5434 "named": true,
5435 "fields": {
5436 "path": {
5437 "multiple": false,
5438 "required": true,
5439 "types": [
5440 {
5441 "type": "call_expression",
5442 "named": true
5443 },
5444 {
5445 "type": "identifier",
5446 "named": true
5447 },
5448 {
5449 "type": "string_literal",
5450 "named": true
5451 },
5452 {
5453 "type": "system_lib_string",
5454 "named": true
5455 }
5456 ]
5457 }
5458 }
5459 },
5460 {
5461 "type": "preproc_params",
5462 "named": true,
5463 "fields": {},
5464 "children": {
5465 "multiple": true,
5466 "required": false,
5467 "types": [
5468 {
5469 "type": "identifier",
5470 "named": true
5471 }
5472 ]
5473 }
5474 },
5475 {
5476 "type": "pure_virtual_clause",
5477 "named": true,
5478 "fields": {}
5479 },
5480 {
5481 "type": "qualified_identifier",
5482 "named": true,
5483 "fields": {
5484 "name": {
5485 "multiple": true,
5486 "required": true,
5487 "types": [
5488 {
5489 "type": "dependent_name",
5490 "named": true
5491 },
5492 {
5493 "type": "destructor_name",
5494 "named": true
5495 },
5496 {
5497 "type": "field_identifier",
5498 "named": true
5499 },
5500 {
5501 "type": "identifier",
5502 "named": true
5503 },
5504 {
5505 "type": "operator_cast",
5506 "named": true
5507 },
5508 {
5509 "type": "operator_name",
5510 "named": true
5511 },
5512 {
5513 "type": "pointer_type_declarator",
5514 "named": true
5515 },
5516 {
5517 "type": "qualified_identifier",
5518 "named": true
5519 },
5520 {
5521 "type": "template",
5522 "named": false
5523 },
5524 {
5525 "type": "template_function",
5526 "named": true
5527 },
5528 {
5529 "type": "template_method",
5530 "named": true
5531 },
5532 {
5533 "type": "template_type",
5534 "named": true
5535 },
5536 {
5537 "type": "type_identifier",
5538 "named": true
5539 }
5540 ]
5541 },
5542 "scope": {
5543 "multiple": false,
5544 "required": false,
5545 "types": [
5546 {
5547 "type": "decltype",
5548 "named": true
5549 },
5550 {
5551 "type": "dependent_name",
5552 "named": true
5553 },
5554 {
5555 "type": "namespace_identifier",
5556 "named": true
5557 },
5558 {
5559 "type": "template_type",
5560 "named": true
5561 }
5562 ]
5563 }
5564 }
5565 },
5566 {
5567 "type": "raw_string_literal",
5568 "named": true,
5569 "fields": {
5570 "delimiter": {
5571 "multiple": false,
5572 "required": false,
5573 "types": [
5574 {
5575 "type": "raw_string_delimiter",
5576 "named": true
5577 }
5578 ]
5579 }
5580 },
5581 "children": {
5582 "multiple": true,
5583 "required": true,
5584 "types": [
5585 {
5586 "type": "raw_string_content",
5587 "named": true
5588 },
5589 {
5590 "type": "raw_string_delimiter",
5591 "named": true
5592 }
5593 ]
5594 }
5595 },
5596 {
5597 "type": "ref_qualifier",
5598 "named": true,
5599 "fields": {}
5600 },
5601 {
5602 "type": "reference_declarator",
5603 "named": true,
5604 "fields": {},
5605 "children": {
5606 "multiple": false,
5607 "required": true,
5608 "types": [
5609 {
5610 "type": "_declarator",
5611 "named": true
5612 },
5613 {
5614 "type": "_field_declarator",
5615 "named": true
5616 },
5617 {
5618 "type": "_type_declarator",
5619 "named": true
5620 },
5621 {
5622 "type": "variadic_declarator",
5623 "named": true
5624 }
5625 ]
5626 }
5627 },
5628 {
5629 "type": "requirement_seq",
5630 "named": true,
5631 "fields": {},
5632 "children": {
5633 "multiple": true,
5634 "required": false,
5635 "types": [
5636 {
5637 "type": "compound_requirement",
5638 "named": true
5639 },
5640 {
5641 "type": "simple_requirement",
5642 "named": true
5643 },
5644 {
5645 "type": "type_requirement",
5646 "named": true
5647 }
5648 ]
5649 }
5650 },
5651 {
5652 "type": "requires_clause",
5653 "named": true,
5654 "fields": {
5655 "constraint": {
5656 "multiple": true,
5657 "required": true,
5658 "types": [
5659 {
5660 "type": "(",
5661 "named": false
5662 },
5663 {
5664 "type": ")",
5665 "named": false
5666 },
5667 {
5668 "type": "_expression",
5669 "named": true
5670 },
5671 {
5672 "type": "constraint_conjunction",
5673 "named": true
5674 },
5675 {
5676 "type": "constraint_disjunction",
5677 "named": true
5678 },
5679 {
5680 "type": "template_type",
5681 "named": true
5682 },
5683 {
5684 "type": "type_identifier",
5685 "named": true
5686 }
5687 ]
5688 }
5689 }
5690 },
5691 {
5692 "type": "requires_expression",
5693 "named": true,
5694 "fields": {
5695 "parameters": {
5696 "multiple": false,
5697 "required": false,
5698 "types": [
5699 {
5700 "type": "parameter_list",
5701 "named": true
5702 }
5703 ]
5704 },
5705 "requirements": {
5706 "multiple": false,
5707 "required": true,
5708 "types": [
5709 {
5710 "type": "requirement_seq",
5711 "named": true
5712 }
5713 ]
5714 }
5715 }
5716 },
5717 {
5718 "type": "return_statement",
5719 "named": true,
5720 "fields": {},
5721 "children": {
5722 "multiple": false,
5723 "required": false,
5724 "types": [
5725 {
5726 "type": "_expression",
5727 "named": true
5728 },
5729 {
5730 "type": "comma_expression",
5731 "named": true
5732 },
5733 {
5734 "type": "initializer_list",
5735 "named": true
5736 }
5737 ]
5738 }
5739 },
5740 {
5741 "type": "seh_except_clause",
5742 "named": true,
5743 "fields": {
5744 "body": {
5745 "multiple": false,
5746 "required": true,
5747 "types": [
5748 {
5749 "type": "compound_statement",
5750 "named": true
5751 }
5752 ]
5753 },
5754 "filter": {
5755 "multiple": false,
5756 "required": true,
5757 "types": [
5758 {
5759 "type": "parenthesized_expression",
5760 "named": true
5761 }
5762 ]
5763 }
5764 }
5765 },
5766 {
5767 "type": "seh_finally_clause",
5768 "named": true,
5769 "fields": {
5770 "body": {
5771 "multiple": false,
5772 "required": true,
5773 "types": [
5774 {
5775 "type": "compound_statement",
5776 "named": true
5777 }
5778 ]
5779 }
5780 }
5781 },
5782 {
5783 "type": "seh_leave_statement",
5784 "named": true,
5785 "fields": {}
5786 },
5787 {
5788 "type": "seh_try_statement",
5789 "named": true,
5790 "fields": {
5791 "body": {
5792 "multiple": false,
5793 "required": true,
5794 "types": [
5795 {
5796 "type": "compound_statement",
5797 "named": true
5798 }
5799 ]
5800 }
5801 },
5802 "children": {
5803 "multiple": false,
5804 "required": true,
5805 "types": [
5806 {
5807 "type": "seh_except_clause",
5808 "named": true
5809 },
5810 {
5811 "type": "seh_finally_clause",
5812 "named": true
5813 }
5814 ]
5815 }
5816 },
5817 {
5818 "type": "simple_requirement",
5819 "named": true,
5820 "fields": {},
5821 "children": {
5822 "multiple": false,
5823 "required": false,
5824 "types": [
5825 {
5826 "type": "_expression",
5827 "named": true
5828 },
5829 {
5830 "type": "comma_expression",
5831 "named": true
5832 }
5833 ]
5834 }
5835 },
5836 {
5837 "type": "sized_type_specifier",
5838 "named": true,
5839 "fields": {
5840 "type": {
5841 "multiple": false,
5842 "required": false,
5843 "types": [
5844 {
5845 "type": "primitive_type",
5846 "named": true
5847 },
5848 {
5849 "type": "type_identifier",
5850 "named": true
5851 }
5852 ]
5853 }
5854 }
5855 },
5856 {
5857 "type": "sizeof_expression",
5858 "named": true,
5859 "fields": {
5860 "type": {
5861 "multiple": false,
5862 "required": false,
5863 "types": [
5864 {
5865 "type": "type_descriptor",
5866 "named": true
5867 }
5868 ]
5869 },
5870 "value": {
5871 "multiple": false,
5872 "required": false,
5873 "types": [
5874 {
5875 "type": "_expression",
5876 "named": true
5877 }
5878 ]
5879 }
5880 }
5881 },
5882 {
5883 "type": "static_assert_declaration",
5884 "named": true,
5885 "fields": {
5886 "condition": {
5887 "multiple": false,
5888 "required": true,
5889 "types": [
5890 {
5891 "type": "_expression",
5892 "named": true
5893 }
5894 ]
5895 },
5896 "message": {
5897 "multiple": false,
5898 "required": false,
5899 "types": [
5900 {
5901 "type": "concatenated_string",
5902 "named": true
5903 },
5904 {
5905 "type": "raw_string_literal",
5906 "named": true
5907 },
5908 {
5909 "type": "string_literal",
5910 "named": true
5911 }
5912 ]
5913 }
5914 }
5915 },
5916 {
5917 "type": "storage_class_specifier",
5918 "named": true,
5919 "fields": {}
5920 },
5921 {
5922 "type": "string_literal",
5923 "named": true,
5924 "fields": {},
5925 "children": {
5926 "multiple": true,
5927 "required": false,
5928 "types": [
5929 {
5930 "type": "escape_sequence",
5931 "named": true
5932 },
5933 {
5934 "type": "string_content",
5935 "named": true
5936 }
5937 ]
5938 }
5939 },
5940 {
5941 "type": "struct_specifier",
5942 "named": true,
5943 "fields": {
5944 "body": {
5945 "multiple": false,
5946 "required": false,
5947 "types": [
5948 {
5949 "type": "field_declaration_list",
5950 "named": true
5951 }
5952 ]
5953 },
5954 "name": {
5955 "multiple": false,
5956 "required": false,
5957 "types": [
5958 {
5959 "type": "qualified_identifier",
5960 "named": true
5961 },
5962 {
5963 "type": "template_type",
5964 "named": true
5965 },
5966 {
5967 "type": "type_identifier",
5968 "named": true
5969 }
5970 ]
5971 }
5972 },
5973 "children": {
5974 "multiple": true,
5975 "required": false,
5976 "types": [
5977 {
5978 "type": "alignas_specifier",
5979 "named": true
5980 },
5981 {
5982 "type": "attribute_declaration",
5983 "named": true
5984 },
5985 {
5986 "type": "attribute_specifier",
5987 "named": true
5988 },
5989 {
5990 "type": "base_class_clause",
5991 "named": true
5992 },
5993 {
5994 "type": "ms_declspec_modifier",
5995 "named": true
5996 },
5997 {
5998 "type": "virtual_specifier",
5999 "named": true
6000 }
6001 ]
6002 }
6003 },
6004 {
6005 "type": "structured_binding_declarator",
6006 "named": true,
6007 "fields": {},
6008 "children": {
6009 "multiple": true,
6010 "required": true,
6011 "types": [
6012 {
6013 "type": "identifier",
6014 "named": true
6015 }
6016 ]
6017 }
6018 },
6019 {
6020 "type": "subscript_argument_list",
6021 "named": true,
6022 "fields": {},
6023 "children": {
6024 "multiple": true,
6025 "required": false,
6026 "types": [
6027 {
6028 "type": "_expression",
6029 "named": true
6030 },
6031 {
6032 "type": "initializer_list",
6033 "named": true
6034 }
6035 ]
6036 }
6037 },
6038 {
6039 "type": "subscript_designator",
6040 "named": true,
6041 "fields": {},
6042 "children": {
6043 "multiple": false,
6044 "required": true,
6045 "types": [
6046 {
6047 "type": "_expression",
6048 "named": true
6049 }
6050 ]
6051 }
6052 },
6053 {
6054 "type": "subscript_expression",
6055 "named": true,
6056 "fields": {
6057 "argument": {
6058 "multiple": false,
6059 "required": true,
6060 "types": [
6061 {
6062 "type": "_expression",
6063 "named": true
6064 }
6065 ]
6066 },
6067 "indices": {
6068 "multiple": false,
6069 "required": true,
6070 "types": [
6071 {
6072 "type": "subscript_argument_list",
6073 "named": true
6074 }
6075 ]
6076 }
6077 }
6078 },
6079 {
6080 "type": "subscript_range_designator",
6081 "named": true,
6082 "fields": {
6083 "end": {
6084 "multiple": false,
6085 "required": true,
6086 "types": [
6087 {
6088 "type": "_expression",
6089 "named": true
6090 }
6091 ]
6092 },
6093 "start": {
6094 "multiple": false,
6095 "required": true,
6096 "types": [
6097 {
6098 "type": "_expression",
6099 "named": true
6100 }
6101 ]
6102 }
6103 }
6104 },
6105 {
6106 "type": "switch_statement",
6107 "named": true,
6108 "fields": {
6109 "body": {
6110 "multiple": false,
6111 "required": true,
6112 "types": [
6113 {
6114 "type": "compound_statement",
6115 "named": true
6116 }
6117 ]
6118 },
6119 "condition": {
6120 "multiple": false,
6121 "required": true,
6122 "types": [
6123 {
6124 "type": "condition_clause",
6125 "named": true
6126 }
6127 ]
6128 }
6129 }
6130 },
6131 {
6132 "type": "template_argument_list",
6133 "named": true,
6134 "fields": {},
6135 "children": {
6136 "multiple": true,
6137 "required": false,
6138 "types": [
6139 {
6140 "type": "_expression",
6141 "named": true
6142 },
6143 {
6144 "type": "type_descriptor",
6145 "named": true
6146 }
6147 ]
6148 }
6149 },
6150 {
6151 "type": "template_declaration",
6152 "named": true,
6153 "fields": {
6154 "parameters": {
6155 "multiple": false,
6156 "required": true,
6157 "types": [
6158 {
6159 "type": "template_parameter_list",
6160 "named": true
6161 }
6162 ]
6163 }
6164 },
6165 "children": {
6166 "multiple": true,
6167 "required": true,
6168 "types": [
6169 {
6170 "type": "_type_specifier",
6171 "named": true
6172 },
6173 {
6174 "type": "alias_declaration",
6175 "named": true
6176 },
6177 {
6178 "type": "concept_definition",
6179 "named": true
6180 },
6181 {
6182 "type": "declaration",
6183 "named": true
6184 },
6185 {
6186 "type": "friend_declaration",
6187 "named": true
6188 },
6189 {
6190 "type": "function_definition",
6191 "named": true
6192 },
6193 {
6194 "type": "requires_clause",
6195 "named": true
6196 },
6197 {
6198 "type": "template_declaration",
6199 "named": true
6200 }
6201 ]
6202 }
6203 },
6204 {
6205 "type": "template_function",
6206 "named": true,
6207 "fields": {
6208 "arguments": {
6209 "multiple": false,
6210 "required": true,
6211 "types": [
6212 {
6213 "type": "template_argument_list",
6214 "named": true
6215 }
6216 ]
6217 },
6218 "name": {
6219 "multiple": false,
6220 "required": true,
6221 "types": [
6222 {
6223 "type": "identifier",
6224 "named": true
6225 }
6226 ]
6227 }
6228 }
6229 },
6230 {
6231 "type": "template_instantiation",
6232 "named": true,
6233 "fields": {
6234 "declarator": {
6235 "multiple": false,
6236 "required": true,
6237 "types": [
6238 {
6239 "type": "_declarator",
6240 "named": true
6241 }
6242 ]
6243 },
6244 "type": {
6245 "multiple": false,
6246 "required": false,
6247 "types": [
6248 {
6249 "type": "_type_specifier",
6250 "named": true
6251 }
6252 ]
6253 }
6254 },
6255 "children": {
6256 "multiple": true,
6257 "required": false,
6258 "types": [
6259 {
6260 "type": "alignas_specifier",
6261 "named": true
6262 },
6263 {
6264 "type": "attribute_declaration",
6265 "named": true
6266 },
6267 {
6268 "type": "attribute_specifier",
6269 "named": true
6270 },
6271 {
6272 "type": "ms_declspec_modifier",
6273 "named": true
6274 },
6275 {
6276 "type": "storage_class_specifier",
6277 "named": true
6278 },
6279 {
6280 "type": "type_qualifier",
6281 "named": true
6282 },
6283 {
6284 "type": "virtual",
6285 "named": true
6286 }
6287 ]
6288 }
6289 },
6290 {
6291 "type": "template_method",
6292 "named": true,
6293 "fields": {
6294 "arguments": {
6295 "multiple": false,
6296 "required": true,
6297 "types": [
6298 {
6299 "type": "template_argument_list",
6300 "named": true
6301 }
6302 ]
6303 },
6304 "name": {
6305 "multiple": false,
6306 "required": true,
6307 "types": [
6308 {
6309 "type": "field_identifier",
6310 "named": true
6311 },
6312 {
6313 "type": "operator_name",
6314 "named": true
6315 }
6316 ]
6317 }
6318 }
6319 },
6320 {
6321 "type": "template_parameter_list",
6322 "named": true,
6323 "fields": {},
6324 "children": {
6325 "multiple": true,
6326 "required": false,
6327 "types": [
6328 {
6329 "type": "optional_parameter_declaration",
6330 "named": true
6331 },
6332 {
6333 "type": "optional_type_parameter_declaration",
6334 "named": true
6335 },
6336 {
6337 "type": "parameter_declaration",
6338 "named": true
6339 },
6340 {
6341 "type": "template_template_parameter_declaration",
6342 "named": true
6343 },
6344 {
6345 "type": "type_parameter_declaration",
6346 "named": true
6347 },
6348 {
6349 "type": "variadic_parameter_declaration",
6350 "named": true
6351 },
6352 {
6353 "type": "variadic_type_parameter_declaration",
6354 "named": true
6355 }
6356 ]
6357 }
6358 },
6359 {
6360 "type": "template_template_parameter_declaration",
6361 "named": true,
6362 "fields": {
6363 "parameters": {
6364 "multiple": false,
6365 "required": true,
6366 "types": [
6367 {
6368 "type": "template_parameter_list",
6369 "named": true
6370 }
6371 ]
6372 }
6373 },
6374 "children": {
6375 "multiple": false,
6376 "required": true,
6377 "types": [
6378 {
6379 "type": "optional_type_parameter_declaration",
6380 "named": true
6381 },
6382 {
6383 "type": "type_parameter_declaration",
6384 "named": true
6385 },
6386 {
6387 "type": "variadic_type_parameter_declaration",
6388 "named": true
6389 }
6390 ]
6391 }
6392 },
6393 {
6394 "type": "template_type",
6395 "named": true,
6396 "fields": {
6397 "arguments": {
6398 "multiple": false,
6399 "required": true,
6400 "types": [
6401 {
6402 "type": "template_argument_list",
6403 "named": true
6404 }
6405 ]
6406 },
6407 "name": {
6408 "multiple": false,
6409 "required": true,
6410 "types": [
6411 {
6412 "type": "type_identifier",
6413 "named": true
6414 }
6415 ]
6416 }
6417 }
6418 },
6419 {
6420 "type": "throw_specifier",
6421 "named": true,
6422 "fields": {},
6423 "children": {
6424 "multiple": true,
6425 "required": false,
6426 "types": [
6427 {
6428 "type": "type_descriptor",
6429 "named": true
6430 }
6431 ]
6432 }
6433 },
6434 {
6435 "type": "throw_statement",
6436 "named": true,
6437 "fields": {},
6438 "children": {
6439 "multiple": false,
6440 "required": false,
6441 "types": [
6442 {
6443 "type": "_expression",
6444 "named": true
6445 }
6446 ]
6447 }
6448 },
6449 {
6450 "type": "trailing_return_type",
6451 "named": true,
6452 "fields": {},
6453 "children": {
6454 "multiple": false,
6455 "required": true,
6456 "types": [
6457 {
6458 "type": "type_descriptor",
6459 "named": true
6460 }
6461 ]
6462 }
6463 },
6464 {
6465 "type": "translation_unit",
6466 "named": true,
6467 "fields": {},
6468 "children": {
6469 "multiple": true,
6470 "required": false,
6471 "types": [
6472 {
6473 "type": "_type_specifier",
6474 "named": true
6475 },
6476 {
6477 "type": "alias_declaration",
6478 "named": true
6479 },
6480 {
6481 "type": "attributed_statement",
6482 "named": true
6483 },
6484 {
6485 "type": "break_statement",
6486 "named": true
6487 },
6488 {
6489 "type": "case_statement",
6490 "named": true
6491 },
6492 {
6493 "type": "co_return_statement",
6494 "named": true
6495 },
6496 {
6497 "type": "co_yield_statement",
6498 "named": true
6499 },
6500 {
6501 "type": "compound_statement",
6502 "named": true
6503 },
6504 {
6505 "type": "concept_definition",
6506 "named": true
6507 },
6508 {
6509 "type": "continue_statement",
6510 "named": true
6511 },
6512 {
6513 "type": "declaration",
6514 "named": true
6515 },
6516 {
6517 "type": "do_statement",
6518 "named": true
6519 },
6520 {
6521 "type": "expression_statement",
6522 "named": true
6523 },
6524 {
6525 "type": "for_range_loop",
6526 "named": true
6527 },
6528 {
6529 "type": "for_statement",
6530 "named": true
6531 },
6532 {
6533 "type": "function_definition",
6534 "named": true
6535 },
6536 {
6537 "type": "goto_statement",
6538 "named": true
6539 },
6540 {
6541 "type": "if_statement",
6542 "named": true
6543 },
6544 {
6545 "type": "labeled_statement",
6546 "named": true
6547 },
6548 {
6549 "type": "linkage_specification",
6550 "named": true
6551 },
6552 {
6553 "type": "namespace_alias_definition",
6554 "named": true
6555 },
6556 {
6557 "type": "namespace_definition",
6558 "named": true
6559 },
6560 {
6561 "type": "preproc_call",
6562 "named": true
6563 },
6564 {
6565 "type": "preproc_def",
6566 "named": true
6567 },
6568 {
6569 "type": "preproc_function_def",
6570 "named": true
6571 },
6572 {
6573 "type": "preproc_if",
6574 "named": true
6575 },
6576 {
6577 "type": "preproc_ifdef",
6578 "named": true
6579 },
6580 {
6581 "type": "preproc_include",
6582 "named": true
6583 },
6584 {
6585 "type": "return_statement",
6586 "named": true
6587 },
6588 {
6589 "type": "static_assert_declaration",
6590 "named": true
6591 },
6592 {
6593 "type": "switch_statement",
6594 "named": true
6595 },
6596 {
6597 "type": "template_declaration",
6598 "named": true
6599 },
6600 {
6601 "type": "template_instantiation",
6602 "named": true
6603 },
6604 {
6605 "type": "throw_statement",
6606 "named": true
6607 },
6608 {
6609 "type": "try_statement",
6610 "named": true
6611 },
6612 {
6613 "type": "type_definition",
6614 "named": true
6615 },
6616 {
6617 "type": "using_declaration",
6618 "named": true
6619 },
6620 {
6621 "type": "while_statement",
6622 "named": true
6623 }
6624 ]
6625 }
6626 },
6627 {
6628 "type": "try_statement",
6629 "named": true,
6630 "fields": {
6631 "body": {
6632 "multiple": false,
6633 "required": true,
6634 "types": [
6635 {
6636 "type": "compound_statement",
6637 "named": true
6638 }
6639 ]
6640 }
6641 },
6642 "children": {
6643 "multiple": true,
6644 "required": true,
6645 "types": [
6646 {
6647 "type": "catch_clause",
6648 "named": true
6649 },
6650 {
6651 "type": "field_initializer_list",
6652 "named": true
6653 }
6654 ]
6655 }
6656 },
6657 {
6658 "type": "type_definition",
6659 "named": true,
6660 "fields": {
6661 "declarator": {
6662 "multiple": true,
6663 "required": true,
6664 "types": [
6665 {
6666 "type": "_type_declarator",
6667 "named": true
6668 }
6669 ]
6670 },
6671 "type": {
6672 "multiple": false,
6673 "required": true,
6674 "types": [
6675 {
6676 "type": "_type_specifier",
6677 "named": true
6678 }
6679 ]
6680 }
6681 },
6682 "children": {
6683 "multiple": true,
6684 "required": false,
6685 "types": [
6686 {
6687 "type": "attribute_specifier",
6688 "named": true
6689 },
6690 {
6691 "type": "type_qualifier",
6692 "named": true
6693 }
6694 ]
6695 }
6696 },
6697 {
6698 "type": "type_descriptor",
6699 "named": true,
6700 "fields": {
6701 "declarator": {
6702 "multiple": false,
6703 "required": false,
6704 "types": [
6705 {
6706 "type": "_abstract_declarator",
6707 "named": true
6708 }
6709 ]
6710 },
6711 "type": {
6712 "multiple": false,
6713 "required": true,
6714 "types": [
6715 {
6716 "type": "_type_specifier",
6717 "named": true
6718 }
6719 ]
6720 }
6721 },
6722 "children": {
6723 "multiple": true,
6724 "required": false,
6725 "types": [
6726 {
6727 "type": "type_qualifier",
6728 "named": true
6729 }
6730 ]
6731 }
6732 },
6733 {
6734 "type": "type_parameter_declaration",
6735 "named": true,
6736 "fields": {},
6737 "children": {
6738 "multiple": false,
6739 "required": false,
6740 "types": [
6741 {
6742 "type": "type_identifier",
6743 "named": true
6744 }
6745 ]
6746 }
6747 },
6748 {
6749 "type": "type_qualifier",
6750 "named": true,
6751 "fields": {}
6752 },
6753 {
6754 "type": "type_requirement",
6755 "named": true,
6756 "fields": {},
6757 "children": {
6758 "multiple": false,
6759 "required": true,
6760 "types": [
6761 {
6762 "type": "qualified_identifier",
6763 "named": true
6764 },
6765 {
6766 "type": "template_type",
6767 "named": true
6768 },
6769 {
6770 "type": "type_identifier",
6771 "named": true
6772 }
6773 ]
6774 }
6775 },
6776 {
6777 "type": "unary_expression",
6778 "named": true,
6779 "fields": {
6780 "argument": {
6781 "multiple": false,
6782 "required": true,
6783 "types": [
6784 {
6785 "type": "_expression",
6786 "named": true
6787 },
6788 {
6789 "type": "preproc_defined",
6790 "named": true
6791 }
6792 ]
6793 },
6794 "operator": {
6795 "multiple": false,
6796 "required": true,
6797 "types": [
6798 {
6799 "type": "!",
6800 "named": false
6801 },
6802 {
6803 "type": "+",
6804 "named": false
6805 },
6806 {
6807 "type": "-",
6808 "named": false
6809 },
6810 {
6811 "type": "compl",
6812 "named": false
6813 },
6814 {
6815 "type": "not",
6816 "named": false
6817 },
6818 {
6819 "type": "~",
6820 "named": false
6821 }
6822 ]
6823 }
6824 }
6825 },
6826 {
6827 "type": "union_specifier",
6828 "named": true,
6829 "fields": {
6830 "body": {
6831 "multiple": false,
6832 "required": false,
6833 "types": [
6834 {
6835 "type": "field_declaration_list",
6836 "named": true
6837 }
6838 ]
6839 },
6840 "name": {
6841 "multiple": false,
6842 "required": false,
6843 "types": [
6844 {
6845 "type": "qualified_identifier",
6846 "named": true
6847 },
6848 {
6849 "type": "template_type",
6850 "named": true
6851 },
6852 {
6853 "type": "type_identifier",
6854 "named": true
6855 }
6856 ]
6857 }
6858 },
6859 "children": {
6860 "multiple": true,
6861 "required": false,
6862 "types": [
6863 {
6864 "type": "alignas_specifier",
6865 "named": true
6866 },
6867 {
6868 "type": "attribute_declaration",
6869 "named": true
6870 },
6871 {
6872 "type": "attribute_specifier",
6873 "named": true
6874 },
6875 {
6876 "type": "base_class_clause",
6877 "named": true
6878 },
6879 {
6880 "type": "ms_declspec_modifier",
6881 "named": true
6882 },
6883 {
6884 "type": "virtual_specifier",
6885 "named": true
6886 }
6887 ]
6888 }
6889 },
6890 {
6891 "type": "update_expression",
6892 "named": true,
6893 "fields": {
6894 "argument": {
6895 "multiple": false,
6896 "required": true,
6897 "types": [
6898 {
6899 "type": "_expression",
6900 "named": true
6901 }
6902 ]
6903 },
6904 "operator": {
6905 "multiple": false,
6906 "required": true,
6907 "types": [
6908 {
6909 "type": "++",
6910 "named": false
6911 },
6912 {
6913 "type": "--",
6914 "named": false
6915 }
6916 ]
6917 }
6918 }
6919 },
6920 {
6921 "type": "user_defined_literal",
6922 "named": true,
6923 "fields": {},
6924 "children": {
6925 "multiple": true,
6926 "required": true,
6927 "types": [
6928 {
6929 "type": "char_literal",
6930 "named": true
6931 },
6932 {
6933 "type": "concatenated_string",
6934 "named": true
6935 },
6936 {
6937 "type": "literal_suffix",
6938 "named": true
6939 },
6940 {
6941 "type": "number_literal",
6942 "named": true
6943 },
6944 {
6945 "type": "raw_string_literal",
6946 "named": true
6947 },
6948 {
6949 "type": "string_literal",
6950 "named": true
6951 }
6952 ]
6953 }
6954 },
6955 {
6956 "type": "using_declaration",
6957 "named": true,
6958 "fields": {},
6959 "children": {
6960 "multiple": false,
6961 "required": true,
6962 "types": [
6963 {
6964 "type": "identifier",
6965 "named": true
6966 },
6967 {
6968 "type": "qualified_identifier",
6969 "named": true
6970 }
6971 ]
6972 }
6973 },
6974 {
6975 "type": "variadic_declarator",
6976 "named": true,
6977 "fields": {},
6978 "children": {
6979 "multiple": false,
6980 "required": false,
6981 "types": [
6982 {
6983 "type": "identifier",
6984 "named": true
6985 }
6986 ]
6987 }
6988 },
6989 {
6990 "type": "variadic_parameter",
6991 "named": true,
6992 "fields": {}
6993 },
6994 {
6995 "type": "variadic_parameter_declaration",
6996 "named": true,
6997 "fields": {
6998 "declarator": {
6999 "multiple": false,
7000 "required": true,
7001 "types": [
7002 {
7003 "type": "reference_declarator",
7004 "named": true
7005 },
7006 {
7007 "type": "variadic_declarator",
7008 "named": true
7009 }
7010 ]
7011 },
7012 "type": {
7013 "multiple": false,
7014 "required": true,
7015 "types": [
7016 {
7017 "type": "_type_specifier",
7018 "named": true
7019 }
7020 ]
7021 }
7022 },
7023 "children": {
7024 "multiple": true,
7025 "required": false,
7026 "types": [
7027 {
7028 "type": "alignas_specifier",
7029 "named": true
7030 },
7031 {
7032 "type": "attribute_declaration",
7033 "named": true
7034 },
7035 {
7036 "type": "attribute_specifier",
7037 "named": true
7038 },
7039 {
7040 "type": "ms_declspec_modifier",
7041 "named": true
7042 },
7043 {
7044 "type": "storage_class_specifier",
7045 "named": true
7046 },
7047 {
7048 "type": "type_qualifier",
7049 "named": true
7050 },
7051 {
7052 "type": "virtual",
7053 "named": true
7054 }
7055 ]
7056 }
7057 },
7058 {
7059 "type": "variadic_type_parameter_declaration",
7060 "named": true,
7061 "fields": {},
7062 "children": {
7063 "multiple": false,
7064 "required": false,
7065 "types": [
7066 {
7067 "type": "type_identifier",
7068 "named": true
7069 }
7070 ]
7071 }
7072 },
7073 {
7074 "type": "virtual",
7075 "named": true,
7076 "fields": {}
7077 },
7078 {
7079 "type": "virtual_specifier",
7080 "named": true,
7081 "fields": {}
7082 },
7083 {
7084 "type": "while_statement",
7085 "named": true,
7086 "fields": {
7087 "body": {
7088 "multiple": false,
7089 "required": true,
7090 "types": [
7091 {
7092 "type": "_statement",
7093 "named": true
7094 }
7095 ]
7096 },
7097 "condition": {
7098 "multiple": false,
7099 "required": true,
7100 "types": [
7101 {
7102 "type": "condition_clause",
7103 "named": true
7104 }
7105 ]
7106 }
7107 }
7108 },
7109 {
7110 "type": "\n",
7111 "named": false
7112 },
7113 {
7114 "type": "!",
7115 "named": false
7116 },
7117 {
7118 "type": "!=",
7119 "named": false
7120 },
7121 {
7122 "type": "\"",
7123 "named": false
7124 },
7125 {
7126 "type": "\"\"",
7127 "named": false
7128 },
7129 {
7130 "type": "#define",
7131 "named": false
7132 },
7133 {
7134 "type": "#elif",
7135 "named": false
7136 },
7137 {
7138 "type": "#elifdef",
7139 "named": false
7140 },
7141 {
7142 "type": "#elifndef",
7143 "named": false
7144 },
7145 {
7146 "type": "#else",
7147 "named": false
7148 },
7149 {
7150 "type": "#endif",
7151 "named": false
7152 },
7153 {
7154 "type": "#if",
7155 "named": false
7156 },
7157 {
7158 "type": "#ifdef",
7159 "named": false
7160 },
7161 {
7162 "type": "#ifndef",
7163 "named": false
7164 },
7165 {
7166 "type": "#include",
7167 "named": false
7168 },
7169 {
7170 "type": "%",
7171 "named": false
7172 },
7173 {
7174 "type": "%=",
7175 "named": false
7176 },
7177 {
7178 "type": "&",
7179 "named": false
7180 },
7181 {
7182 "type": "&&",
7183 "named": false
7184 },
7185 {
7186 "type": "&=",
7187 "named": false
7188 },
7189 {
7190 "type": "'",
7191 "named": false
7192 },
7193 {
7194 "type": "(",
7195 "named": false
7196 },
7197 {
7198 "type": "()",
7199 "named": false
7200 },
7201 {
7202 "type": ")",
7203 "named": false
7204 },
7205 {
7206 "type": "*",
7207 "named": false
7208 },
7209 {
7210 "type": "*=",
7211 "named": false
7212 },
7213 {
7214 "type": "+",
7215 "named": false
7216 },
7217 {
7218 "type": "++",
7219 "named": false
7220 },
7221 {
7222 "type": "+=",
7223 "named": false
7224 },
7225 {
7226 "type": ",",
7227 "named": false
7228 },
7229 {
7230 "type": "-",
7231 "named": false
7232 },
7233 {
7234 "type": "--",
7235 "named": false
7236 },
7237 {
7238 "type": "-=",
7239 "named": false
7240 },
7241 {
7242 "type": "->",
7243 "named": false
7244 },
7245 {
7246 "type": "->*",
7247 "named": false
7248 },
7249 {
7250 "type": ".",
7251 "named": false
7252 },
7253 {
7254 "type": ".*",
7255 "named": false
7256 },
7257 {
7258 "type": "...",
7259 "named": false
7260 },
7261 {
7262 "type": "/",
7263 "named": false
7264 },
7265 {
7266 "type": "/=",
7267 "named": false
7268 },
7269 {
7270 "type": "0",
7271 "named": false
7272 },
7273 {
7274 "type": ":",
7275 "named": false
7276 },
7277 {
7278 "type": "::",
7279 "named": false
7280 },
7281 {
7282 "type": ";",
7283 "named": false
7284 },
7285 {
7286 "type": "<",
7287 "named": false
7288 },
7289 {
7290 "type": "<<",
7291 "named": false
7292 },
7293 {
7294 "type": "<<=",
7295 "named": false
7296 },
7297 {
7298 "type": "<=",
7299 "named": false
7300 },
7301 {
7302 "type": "<=>",
7303 "named": false
7304 },
7305 {
7306 "type": "=",
7307 "named": false
7308 },
7309 {
7310 "type": "==",
7311 "named": false
7312 },
7313 {
7314 "type": ">",
7315 "named": false
7316 },
7317 {
7318 "type": ">=",
7319 "named": false
7320 },
7321 {
7322 "type": ">>",
7323 "named": false
7324 },
7325 {
7326 "type": ">>=",
7327 "named": false
7328 },
7329 {
7330 "type": "?",
7331 "named": false
7332 },
7333 {
7334 "type": "L\"",
7335 "named": false
7336 },
7337 {
7338 "type": "L'",
7339 "named": false
7340 },
7341 {
7342 "type": "LR\"",
7343 "named": false
7344 },
7345 {
7346 "type": "NULL",
7347 "named": false
7348 },
7349 {
7350 "type": "R\"",
7351 "named": false
7352 },
7353 {
7354 "type": "U\"",
7355 "named": false
7356 },
7357 {
7358 "type": "U'",
7359 "named": false
7360 },
7361 {
7362 "type": "UR\"",
7363 "named": false
7364 },
7365 {
7366 "type": "[",
7367 "named": false
7368 },
7369 {
7370 "type": "[[",
7371 "named": false
7372 },
7373 {
7374 "type": "[]",
7375 "named": false
7376 },
7377 {
7378 "type": "]",
7379 "named": false
7380 },
7381 {
7382 "type": "]]",
7383 "named": false
7384 },
7385 {
7386 "type": "^",
7387 "named": false
7388 },
7389 {
7390 "type": "^=",
7391 "named": false
7392 },
7393 {
7394 "type": "_Alignof",
7395 "named": false
7396 },
7397 {
7398 "type": "_Atomic",
7399 "named": false
7400 },
7401 {
7402 "type": "_Generic",
7403 "named": false
7404 },
7405 {
7406 "type": "_Noreturn",
7407 "named": false
7408 },
7409 {
7410 "type": "__alignof",
7411 "named": false
7412 },
7413 {
7414 "type": "__alignof__",
7415 "named": false
7416 },
7417 {
7418 "type": "__asm__",
7419 "named": false
7420 },
7421 {
7422 "type": "__attribute__",
7423 "named": false
7424 },
7425 {
7426 "type": "__based",
7427 "named": false
7428 },
7429 {
7430 "type": "__cdecl",
7431 "named": false
7432 },
7433 {
7434 "type": "__clrcall",
7435 "named": false
7436 },
7437 {
7438 "type": "__declspec",
7439 "named": false
7440 },
7441 {
7442 "type": "__except",
7443 "named": false
7444 },
7445 {
7446 "type": "__extension__",
7447 "named": false
7448 },
7449 {
7450 "type": "__fastcall",
7451 "named": false
7452 },
7453 {
7454 "type": "__finally",
7455 "named": false
7456 },
7457 {
7458 "type": "__forceinline",
7459 "named": false
7460 },
7461 {
7462 "type": "__inline",
7463 "named": false
7464 },
7465 {
7466 "type": "__inline__",
7467 "named": false
7468 },
7469 {
7470 "type": "__leave",
7471 "named": false
7472 },
7473 {
7474 "type": "__restrict__",
7475 "named": false
7476 },
7477 {
7478 "type": "__stdcall",
7479 "named": false
7480 },
7481 {
7482 "type": "__thiscall",
7483 "named": false
7484 },
7485 {
7486 "type": "__thread",
7487 "named": false
7488 },
7489 {
7490 "type": "__try",
7491 "named": false
7492 },
7493 {
7494 "type": "__unaligned",
7495 "named": false
7496 },
7497 {
7498 "type": "__vectorcall",
7499 "named": false
7500 },
7501 {
7502 "type": "_alignof",
7503 "named": false
7504 },
7505 {
7506 "type": "_unaligned",
7507 "named": false
7508 },
7509 {
7510 "type": "alignas",
7511 "named": false
7512 },
7513 {
7514 "type": "alignof",
7515 "named": false
7516 },
7517 {
7518 "type": "and",
7519 "named": false
7520 },
7521 {
7522 "type": "and_eq",
7523 "named": false
7524 },
7525 {
7526 "type": "asm",
7527 "named": false
7528 },
7529 {
7530 "type": "auto",
7531 "named": true
7532 },
7533 {
7534 "type": "bitand",
7535 "named": false
7536 },
7537 {
7538 "type": "bitor",
7539 "named": false
7540 },
7541 {
7542 "type": "break",
7543 "named": false
7544 },
7545 {
7546 "type": "case",
7547 "named": false
7548 },
7549 {
7550 "type": "catch",
7551 "named": false
7552 },
7553 {
7554 "type": "character",
7555 "named": true
7556 },
7557 {
7558 "type": "class",
7559 "named": false
7560 },
7561 {
7562 "type": "co_await",
7563 "named": false
7564 },
7565 {
7566 "type": "co_return",
7567 "named": false
7568 },
7569 {
7570 "type": "co_yield",
7571 "named": false
7572 },
7573 {
7574 "type": "comment",
7575 "named": true
7576 },
7577 {
7578 "type": "compl",
7579 "named": false
7580 },
7581 {
7582 "type": "concept",
7583 "named": false
7584 },
7585 {
7586 "type": "const",
7587 "named": false
7588 },
7589 {
7590 "type": "consteval",
7591 "named": false
7592 },
7593 {
7594 "type": "constexpr",
7595 "named": false
7596 },
7597 {
7598 "type": "constinit",
7599 "named": false
7600 },
7601 {
7602 "type": "continue",
7603 "named": false
7604 },
7605 {
7606 "type": "decltype",
7607 "named": false
7608 },
7609 {
7610 "type": "default",
7611 "named": false
7612 },
7613 {
7614 "type": "defined",
7615 "named": false
7616 },
7617 {
7618 "type": "delete",
7619 "named": false
7620 },
7621 {
7622 "type": "do",
7623 "named": false
7624 },
7625 {
7626 "type": "else",
7627 "named": false
7628 },
7629 {
7630 "type": "enum",
7631 "named": false
7632 },
7633 {
7634 "type": "escape_sequence",
7635 "named": true
7636 },
7637 {
7638 "type": "explicit",
7639 "named": false
7640 },
7641 {
7642 "type": "extern",
7643 "named": false
7644 },
7645 {
7646 "type": "false",
7647 "named": true
7648 },
7649 {
7650 "type": "field_identifier",
7651 "named": true
7652 },
7653 {
7654 "type": "final",
7655 "named": false
7656 },
7657 {
7658 "type": "for",
7659 "named": false
7660 },
7661 {
7662 "type": "friend",
7663 "named": false
7664 },
7665 {
7666 "type": "goto",
7667 "named": false
7668 },
7669 {
7670 "type": "identifier",
7671 "named": true
7672 },
7673 {
7674 "type": "if",
7675 "named": false
7676 },
7677 {
7678 "type": "inline",
7679 "named": false
7680 },
7681 {
7682 "type": "literal_suffix",
7683 "named": true
7684 },
7685 {
7686 "type": "long",
7687 "named": false
7688 },
7689 {
7690 "type": "ms_restrict_modifier",
7691 "named": true
7692 },
7693 {
7694 "type": "ms_signed_ptr_modifier",
7695 "named": true
7696 },
7697 {
7698 "type": "ms_unsigned_ptr_modifier",
7699 "named": true
7700 },
7701 {
7702 "type": "mutable",
7703 "named": false
7704 },
7705 {
7706 "type": "namespace",
7707 "named": false
7708 },
7709 {
7710 "type": "namespace_identifier",
7711 "named": true
7712 },
7713 {
7714 "type": "new",
7715 "named": false
7716 },
7717 {
7718 "type": "noexcept",
7719 "named": false
7720 },
7721 {
7722 "type": "noreturn",
7723 "named": false
7724 },
7725 {
7726 "type": "not",
7727 "named": false
7728 },
7729 {
7730 "type": "not_eq",
7731 "named": false
7732 },
7733 {
7734 "type": "nullptr",
7735 "named": false
7736 },
7737 {
7738 "type": "number_literal",
7739 "named": true
7740 },
7741 {
7742 "type": "offsetof",
7743 "named": false
7744 },
7745 {
7746 "type": "operator",
7747 "named": false
7748 },
7749 {
7750 "type": "or",
7751 "named": false
7752 },
7753 {
7754 "type": "or_eq",
7755 "named": false
7756 },
7757 {
7758 "type": "override",
7759 "named": false
7760 },
7761 {
7762 "type": "preproc_arg",
7763 "named": true
7764 },
7765 {
7766 "type": "preproc_directive",
7767 "named": true
7768 },
7769 {
7770 "type": "primitive_type",
7771 "named": true
7772 },
7773 {
7774 "type": "private",
7775 "named": false
7776 },
7777 {
7778 "type": "protected",
7779 "named": false
7780 },
7781 {
7782 "type": "public",
7783 "named": false
7784 },
7785 {
7786 "type": "raw_string_content",
7787 "named": true
7788 },
7789 {
7790 "type": "raw_string_delimiter",
7791 "named": true
7792 },
7793 {
7794 "type": "register",
7795 "named": false
7796 },
7797 {
7798 "type": "requires",
7799 "named": false
7800 },
7801 {
7802 "type": "restrict",
7803 "named": false
7804 },
7805 {
7806 "type": "return",
7807 "named": false
7808 },
7809 {
7810 "type": "short",
7811 "named": false
7812 },
7813 {
7814 "type": "signed",
7815 "named": false
7816 },
7817 {
7818 "type": "sizeof",
7819 "named": false
7820 },
7821 {
7822 "type": "statement_identifier",
7823 "named": true
7824 },
7825 {
7826 "type": "static",
7827 "named": false
7828 },
7829 {
7830 "type": "static_assert",
7831 "named": false
7832 },
7833 {
7834 "type": "string_content",
7835 "named": true
7836 },
7837 {
7838 "type": "struct",
7839 "named": false
7840 },
7841 {
7842 "type": "switch",
7843 "named": false
7844 },
7845 {
7846 "type": "system_lib_string",
7847 "named": true
7848 },
7849 {
7850 "type": "template",
7851 "named": false
7852 },
7853 {
7854 "type": "this",
7855 "named": true
7856 },
7857 {
7858 "type": "thread_local",
7859 "named": false
7860 },
7861 {
7862 "type": "throw",
7863 "named": false
7864 },
7865 {
7866 "type": "true",
7867 "named": true
7868 },
7869 {
7870 "type": "try",
7871 "named": false
7872 },
7873 {
7874 "type": "type_identifier",
7875 "named": true
7876 },
7877 {
7878 "type": "typedef",
7879 "named": false
7880 },
7881 {
7882 "type": "typename",
7883 "named": false
7884 },
7885 {
7886 "type": "u\"",
7887 "named": false
7888 },
7889 {
7890 "type": "u'",
7891 "named": false
7892 },
7893 {
7894 "type": "u8\"",
7895 "named": false
7896 },
7897 {
7898 "type": "u8'",
7899 "named": false
7900 },
7901 {
7902 "type": "u8R\"",
7903 "named": false
7904 },
7905 {
7906 "type": "uR\"",
7907 "named": false
7908 },
7909 {
7910 "type": "union",
7911 "named": false
7912 },
7913 {
7914 "type": "unsigned",
7915 "named": false
7916 },
7917 {
7918 "type": "using",
7919 "named": false
7920 },
7921 {
7922 "type": "virtual",
7923 "named": false
7924 },
7925 {
7926 "type": "volatile",
7927 "named": false
7928 },
7929 {
7930 "type": "while",
7931 "named": false
7932 },
7933 {
7934 "type": "xor",
7935 "named": false
7936 },
7937 {
7938 "type": "xor_eq",
7939 "named": false
7940 },
7941 {
7942 "type": "{",
7943 "named": false
7944 },
7945 {
7946 "type": "|",
7947 "named": false
7948 },
7949 {
7950 "type": "|=",
7951 "named": false
7952 },
7953 {
7954 "type": "||",
7955 "named": false
7956 },
7957 {
7958 "type": "}",
7959 "named": false
7960 },
7961 {
7962 "type": "~",
7963 "named": false
7964 }
7965]