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