@ast-grep/napi 0.32.0 → 0.32.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lang/C.d.ts ADDED
@@ -0,0 +1,3863 @@
1
+ // Auto-generated from tree-sitter C v0.23.0
2
+ type CTypes = {
3
+ "_abstract_declarator": {
4
+ "type": "_abstract_declarator",
5
+ "named": true,
6
+ "subtypes": [
7
+ {
8
+ "type": "abstract_array_declarator",
9
+ "named": true
10
+ },
11
+ {
12
+ "type": "abstract_function_declarator",
13
+ "named": true
14
+ },
15
+ {
16
+ "type": "abstract_parenthesized_declarator",
17
+ "named": true
18
+ },
19
+ {
20
+ "type": "abstract_pointer_declarator",
21
+ "named": true
22
+ }
23
+ ]
24
+ },
25
+ "_declarator": {
26
+ "type": "_declarator",
27
+ "named": true,
28
+ "subtypes": [
29
+ {
30
+ "type": "array_declarator",
31
+ "named": true
32
+ },
33
+ {
34
+ "type": "attributed_declarator",
35
+ "named": true
36
+ },
37
+ {
38
+ "type": "function_declarator",
39
+ "named": true
40
+ },
41
+ {
42
+ "type": "identifier",
43
+ "named": true
44
+ },
45
+ {
46
+ "type": "parenthesized_declarator",
47
+ "named": true
48
+ },
49
+ {
50
+ "type": "pointer_declarator",
51
+ "named": true
52
+ }
53
+ ]
54
+ },
55
+ "_field_declarator": {
56
+ "type": "_field_declarator",
57
+ "named": true,
58
+ "subtypes": [
59
+ {
60
+ "type": "array_declarator",
61
+ "named": true
62
+ },
63
+ {
64
+ "type": "attributed_declarator",
65
+ "named": true
66
+ },
67
+ {
68
+ "type": "field_identifier",
69
+ "named": true
70
+ },
71
+ {
72
+ "type": "function_declarator",
73
+ "named": true
74
+ },
75
+ {
76
+ "type": "parenthesized_declarator",
77
+ "named": true
78
+ },
79
+ {
80
+ "type": "pointer_declarator",
81
+ "named": true
82
+ }
83
+ ]
84
+ },
85
+ "_type_declarator": {
86
+ "type": "_type_declarator",
87
+ "named": true,
88
+ "subtypes": [
89
+ {
90
+ "type": "array_declarator",
91
+ "named": true
92
+ },
93
+ {
94
+ "type": "attributed_declarator",
95
+ "named": true
96
+ },
97
+ {
98
+ "type": "function_declarator",
99
+ "named": true
100
+ },
101
+ {
102
+ "type": "parenthesized_declarator",
103
+ "named": true
104
+ },
105
+ {
106
+ "type": "pointer_declarator",
107
+ "named": true
108
+ },
109
+ {
110
+ "type": "primitive_type",
111
+ "named": true
112
+ },
113
+ {
114
+ "type": "type_identifier",
115
+ "named": true
116
+ }
117
+ ]
118
+ },
119
+ "expression": {
120
+ "type": "expression",
121
+ "named": true,
122
+ "subtypes": [
123
+ {
124
+ "type": "alignof_expression",
125
+ "named": true
126
+ },
127
+ {
128
+ "type": "assignment_expression",
129
+ "named": true
130
+ },
131
+ {
132
+ "type": "binary_expression",
133
+ "named": true
134
+ },
135
+ {
136
+ "type": "call_expression",
137
+ "named": true
138
+ },
139
+ {
140
+ "type": "cast_expression",
141
+ "named": true
142
+ },
143
+ {
144
+ "type": "char_literal",
145
+ "named": true
146
+ },
147
+ {
148
+ "type": "compound_literal_expression",
149
+ "named": true
150
+ },
151
+ {
152
+ "type": "concatenated_string",
153
+ "named": true
154
+ },
155
+ {
156
+ "type": "conditional_expression",
157
+ "named": true
158
+ },
159
+ {
160
+ "type": "extension_expression",
161
+ "named": true
162
+ },
163
+ {
164
+ "type": "false",
165
+ "named": true
166
+ },
167
+ {
168
+ "type": "field_expression",
169
+ "named": true
170
+ },
171
+ {
172
+ "type": "generic_expression",
173
+ "named": true
174
+ },
175
+ {
176
+ "type": "gnu_asm_expression",
177
+ "named": true
178
+ },
179
+ {
180
+ "type": "identifier",
181
+ "named": true
182
+ },
183
+ {
184
+ "type": "null",
185
+ "named": true
186
+ },
187
+ {
188
+ "type": "number_literal",
189
+ "named": true
190
+ },
191
+ {
192
+ "type": "offsetof_expression",
193
+ "named": true
194
+ },
195
+ {
196
+ "type": "parenthesized_expression",
197
+ "named": true
198
+ },
199
+ {
200
+ "type": "pointer_expression",
201
+ "named": true
202
+ },
203
+ {
204
+ "type": "sizeof_expression",
205
+ "named": true
206
+ },
207
+ {
208
+ "type": "string_literal",
209
+ "named": true
210
+ },
211
+ {
212
+ "type": "subscript_expression",
213
+ "named": true
214
+ },
215
+ {
216
+ "type": "true",
217
+ "named": true
218
+ },
219
+ {
220
+ "type": "unary_expression",
221
+ "named": true
222
+ },
223
+ {
224
+ "type": "update_expression",
225
+ "named": true
226
+ }
227
+ ]
228
+ },
229
+ "statement": {
230
+ "type": "statement",
231
+ "named": true,
232
+ "subtypes": [
233
+ {
234
+ "type": "attributed_statement",
235
+ "named": true
236
+ },
237
+ {
238
+ "type": "break_statement",
239
+ "named": true
240
+ },
241
+ {
242
+ "type": "case_statement",
243
+ "named": true
244
+ },
245
+ {
246
+ "type": "compound_statement",
247
+ "named": true
248
+ },
249
+ {
250
+ "type": "continue_statement",
251
+ "named": true
252
+ },
253
+ {
254
+ "type": "do_statement",
255
+ "named": true
256
+ },
257
+ {
258
+ "type": "expression_statement",
259
+ "named": true
260
+ },
261
+ {
262
+ "type": "for_statement",
263
+ "named": true
264
+ },
265
+ {
266
+ "type": "goto_statement",
267
+ "named": true
268
+ },
269
+ {
270
+ "type": "if_statement",
271
+ "named": true
272
+ },
273
+ {
274
+ "type": "labeled_statement",
275
+ "named": true
276
+ },
277
+ {
278
+ "type": "return_statement",
279
+ "named": true
280
+ },
281
+ {
282
+ "type": "seh_leave_statement",
283
+ "named": true
284
+ },
285
+ {
286
+ "type": "seh_try_statement",
287
+ "named": true
288
+ },
289
+ {
290
+ "type": "switch_statement",
291
+ "named": true
292
+ },
293
+ {
294
+ "type": "while_statement",
295
+ "named": true
296
+ }
297
+ ]
298
+ },
299
+ "type_specifier": {
300
+ "type": "type_specifier",
301
+ "named": true,
302
+ "subtypes": [
303
+ {
304
+ "type": "enum_specifier",
305
+ "named": true
306
+ },
307
+ {
308
+ "type": "macro_type_specifier",
309
+ "named": true
310
+ },
311
+ {
312
+ "type": "primitive_type",
313
+ "named": true
314
+ },
315
+ {
316
+ "type": "sized_type_specifier",
317
+ "named": true
318
+ },
319
+ {
320
+ "type": "struct_specifier",
321
+ "named": true
322
+ },
323
+ {
324
+ "type": "type_identifier",
325
+ "named": true
326
+ },
327
+ {
328
+ "type": "union_specifier",
329
+ "named": true
330
+ }
331
+ ]
332
+ },
333
+ "abstract_array_declarator": {
334
+ "type": "abstract_array_declarator",
335
+ "named": true,
336
+ "fields": {
337
+ "declarator": {
338
+ "multiple": false,
339
+ "required": false,
340
+ "types": [
341
+ {
342
+ "type": "_abstract_declarator",
343
+ "named": true
344
+ }
345
+ ]
346
+ },
347
+ "size": {
348
+ "multiple": false,
349
+ "required": false,
350
+ "types": [
351
+ {
352
+ "type": "expression",
353
+ "named": true
354
+ }
355
+ ]
356
+ }
357
+ },
358
+ "children": {
359
+ "multiple": true,
360
+ "required": false,
361
+ "types": [
362
+ {
363
+ "type": "type_qualifier",
364
+ "named": true
365
+ }
366
+ ]
367
+ }
368
+ },
369
+ "abstract_function_declarator": {
370
+ "type": "abstract_function_declarator",
371
+ "named": true,
372
+ "fields": {
373
+ "declarator": {
374
+ "multiple": false,
375
+ "required": false,
376
+ "types": [
377
+ {
378
+ "type": "_abstract_declarator",
379
+ "named": true
380
+ }
381
+ ]
382
+ },
383
+ "parameters": {
384
+ "multiple": false,
385
+ "required": true,
386
+ "types": [
387
+ {
388
+ "type": "parameter_list",
389
+ "named": true
390
+ }
391
+ ]
392
+ }
393
+ }
394
+ },
395
+ "abstract_parenthesized_declarator": {
396
+ "type": "abstract_parenthesized_declarator",
397
+ "named": true,
398
+ "fields": {},
399
+ "children": {
400
+ "multiple": true,
401
+ "required": true,
402
+ "types": [
403
+ {
404
+ "type": "_abstract_declarator",
405
+ "named": true
406
+ },
407
+ {
408
+ "type": "ms_call_modifier",
409
+ "named": true
410
+ }
411
+ ]
412
+ }
413
+ },
414
+ "abstract_pointer_declarator": {
415
+ "type": "abstract_pointer_declarator",
416
+ "named": true,
417
+ "fields": {
418
+ "declarator": {
419
+ "multiple": false,
420
+ "required": false,
421
+ "types": [
422
+ {
423
+ "type": "_abstract_declarator",
424
+ "named": true
425
+ }
426
+ ]
427
+ }
428
+ },
429
+ "children": {
430
+ "multiple": true,
431
+ "required": false,
432
+ "types": [
433
+ {
434
+ "type": "ms_pointer_modifier",
435
+ "named": true
436
+ },
437
+ {
438
+ "type": "type_qualifier",
439
+ "named": true
440
+ }
441
+ ]
442
+ }
443
+ },
444
+ "alignas_qualifier": {
445
+ "type": "alignas_qualifier",
446
+ "named": true,
447
+ "fields": {},
448
+ "children": {
449
+ "multiple": false,
450
+ "required": true,
451
+ "types": [
452
+ {
453
+ "type": "expression",
454
+ "named": true
455
+ },
456
+ {
457
+ "type": "type_descriptor",
458
+ "named": true
459
+ }
460
+ ]
461
+ }
462
+ },
463
+ "alignof_expression": {
464
+ "type": "alignof_expression",
465
+ "named": true,
466
+ "fields": {
467
+ "type": {
468
+ "multiple": false,
469
+ "required": true,
470
+ "types": [
471
+ {
472
+ "type": "type_descriptor",
473
+ "named": true
474
+ }
475
+ ]
476
+ }
477
+ }
478
+ },
479
+ "argument_list": {
480
+ "type": "argument_list",
481
+ "named": true,
482
+ "fields": {},
483
+ "children": {
484
+ "multiple": true,
485
+ "required": false,
486
+ "types": [
487
+ {
488
+ "type": "compound_statement",
489
+ "named": true
490
+ },
491
+ {
492
+ "type": "expression",
493
+ "named": true
494
+ },
495
+ {
496
+ "type": "preproc_defined",
497
+ "named": true
498
+ }
499
+ ]
500
+ }
501
+ },
502
+ "array_declarator": {
503
+ "type": "array_declarator",
504
+ "named": true,
505
+ "fields": {
506
+ "declarator": {
507
+ "multiple": false,
508
+ "required": true,
509
+ "types": [
510
+ {
511
+ "type": "_declarator",
512
+ "named": true
513
+ },
514
+ {
515
+ "type": "_field_declarator",
516
+ "named": true
517
+ },
518
+ {
519
+ "type": "_type_declarator",
520
+ "named": true
521
+ }
522
+ ]
523
+ },
524
+ "size": {
525
+ "multiple": false,
526
+ "required": false,
527
+ "types": [
528
+ {
529
+ "type": "expression",
530
+ "named": true
531
+ }
532
+ ]
533
+ }
534
+ },
535
+ "children": {
536
+ "multiple": true,
537
+ "required": false,
538
+ "types": [
539
+ {
540
+ "type": "type_qualifier",
541
+ "named": true
542
+ }
543
+ ]
544
+ }
545
+ },
546
+ "assignment_expression": {
547
+ "type": "assignment_expression",
548
+ "named": true,
549
+ "fields": {
550
+ "left": {
551
+ "multiple": false,
552
+ "required": true,
553
+ "types": [
554
+ {
555
+ "type": "call_expression",
556
+ "named": true
557
+ },
558
+ {
559
+ "type": "field_expression",
560
+ "named": true
561
+ },
562
+ {
563
+ "type": "identifier",
564
+ "named": true
565
+ },
566
+ {
567
+ "type": "parenthesized_expression",
568
+ "named": true
569
+ },
570
+ {
571
+ "type": "pointer_expression",
572
+ "named": true
573
+ },
574
+ {
575
+ "type": "subscript_expression",
576
+ "named": true
577
+ }
578
+ ]
579
+ },
580
+ "operator": {
581
+ "multiple": false,
582
+ "required": true,
583
+ "types": []
584
+ },
585
+ "right": {
586
+ "multiple": false,
587
+ "required": true,
588
+ "types": [
589
+ {
590
+ "type": "expression",
591
+ "named": true
592
+ }
593
+ ]
594
+ }
595
+ }
596
+ },
597
+ "attribute": {
598
+ "type": "attribute",
599
+ "named": true,
600
+ "fields": {
601
+ "name": {
602
+ "multiple": false,
603
+ "required": true,
604
+ "types": [
605
+ {
606
+ "type": "identifier",
607
+ "named": true
608
+ }
609
+ ]
610
+ },
611
+ "prefix": {
612
+ "multiple": false,
613
+ "required": false,
614
+ "types": [
615
+ {
616
+ "type": "identifier",
617
+ "named": true
618
+ }
619
+ ]
620
+ }
621
+ },
622
+ "children": {
623
+ "multiple": false,
624
+ "required": false,
625
+ "types": [
626
+ {
627
+ "type": "argument_list",
628
+ "named": true
629
+ }
630
+ ]
631
+ }
632
+ },
633
+ "attribute_declaration": {
634
+ "type": "attribute_declaration",
635
+ "named": true,
636
+ "fields": {},
637
+ "children": {
638
+ "multiple": true,
639
+ "required": true,
640
+ "types": [
641
+ {
642
+ "type": "attribute",
643
+ "named": true
644
+ }
645
+ ]
646
+ }
647
+ },
648
+ "attribute_specifier": {
649
+ "type": "attribute_specifier",
650
+ "named": true,
651
+ "fields": {},
652
+ "children": {
653
+ "multiple": false,
654
+ "required": true,
655
+ "types": [
656
+ {
657
+ "type": "argument_list",
658
+ "named": true
659
+ }
660
+ ]
661
+ }
662
+ },
663
+ "attributed_declarator": {
664
+ "type": "attributed_declarator",
665
+ "named": true,
666
+ "fields": {},
667
+ "children": {
668
+ "multiple": true,
669
+ "required": true,
670
+ "types": [
671
+ {
672
+ "type": "_declarator",
673
+ "named": true
674
+ },
675
+ {
676
+ "type": "_field_declarator",
677
+ "named": true
678
+ },
679
+ {
680
+ "type": "_type_declarator",
681
+ "named": true
682
+ },
683
+ {
684
+ "type": "attribute_declaration",
685
+ "named": true
686
+ }
687
+ ]
688
+ }
689
+ },
690
+ "attributed_statement": {
691
+ "type": "attributed_statement",
692
+ "named": true,
693
+ "fields": {},
694
+ "children": {
695
+ "multiple": true,
696
+ "required": true,
697
+ "types": [
698
+ {
699
+ "type": "attribute_declaration",
700
+ "named": true
701
+ },
702
+ {
703
+ "type": "statement",
704
+ "named": true
705
+ }
706
+ ]
707
+ }
708
+ },
709
+ "binary_expression": {
710
+ "type": "binary_expression",
711
+ "named": true,
712
+ "fields": {
713
+ "left": {
714
+ "multiple": false,
715
+ "required": true,
716
+ "types": [
717
+ {
718
+ "type": "expression",
719
+ "named": true
720
+ },
721
+ {
722
+ "type": "preproc_defined",
723
+ "named": true
724
+ }
725
+ ]
726
+ },
727
+ "operator": {
728
+ "multiple": false,
729
+ "required": true,
730
+ "types": []
731
+ },
732
+ "right": {
733
+ "multiple": false,
734
+ "required": true,
735
+ "types": [
736
+ {
737
+ "type": "expression",
738
+ "named": true
739
+ },
740
+ {
741
+ "type": "preproc_defined",
742
+ "named": true
743
+ }
744
+ ]
745
+ }
746
+ }
747
+ },
748
+ "bitfield_clause": {
749
+ "type": "bitfield_clause",
750
+ "named": true,
751
+ "fields": {},
752
+ "children": {
753
+ "multiple": false,
754
+ "required": true,
755
+ "types": [
756
+ {
757
+ "type": "expression",
758
+ "named": true
759
+ }
760
+ ]
761
+ }
762
+ },
763
+ "break_statement": {
764
+ "type": "break_statement",
765
+ "named": true,
766
+ "fields": {}
767
+ },
768
+ "call_expression": {
769
+ "type": "call_expression",
770
+ "named": true,
771
+ "fields": {
772
+ "arguments": {
773
+ "multiple": false,
774
+ "required": true,
775
+ "types": [
776
+ {
777
+ "type": "argument_list",
778
+ "named": true
779
+ }
780
+ ]
781
+ },
782
+ "function": {
783
+ "multiple": false,
784
+ "required": true,
785
+ "types": [
786
+ {
787
+ "type": "expression",
788
+ "named": true
789
+ }
790
+ ]
791
+ }
792
+ }
793
+ },
794
+ "case_statement": {
795
+ "type": "case_statement",
796
+ "named": true,
797
+ "fields": {
798
+ "value": {
799
+ "multiple": false,
800
+ "required": false,
801
+ "types": [
802
+ {
803
+ "type": "expression",
804
+ "named": true
805
+ }
806
+ ]
807
+ }
808
+ },
809
+ "children": {
810
+ "multiple": true,
811
+ "required": false,
812
+ "types": [
813
+ {
814
+ "type": "attributed_statement",
815
+ "named": true
816
+ },
817
+ {
818
+ "type": "break_statement",
819
+ "named": true
820
+ },
821
+ {
822
+ "type": "compound_statement",
823
+ "named": true
824
+ },
825
+ {
826
+ "type": "continue_statement",
827
+ "named": true
828
+ },
829
+ {
830
+ "type": "declaration",
831
+ "named": true
832
+ },
833
+ {
834
+ "type": "do_statement",
835
+ "named": true
836
+ },
837
+ {
838
+ "type": "expression_statement",
839
+ "named": true
840
+ },
841
+ {
842
+ "type": "for_statement",
843
+ "named": true
844
+ },
845
+ {
846
+ "type": "goto_statement",
847
+ "named": true
848
+ },
849
+ {
850
+ "type": "if_statement",
851
+ "named": true
852
+ },
853
+ {
854
+ "type": "labeled_statement",
855
+ "named": true
856
+ },
857
+ {
858
+ "type": "return_statement",
859
+ "named": true
860
+ },
861
+ {
862
+ "type": "seh_leave_statement",
863
+ "named": true
864
+ },
865
+ {
866
+ "type": "seh_try_statement",
867
+ "named": true
868
+ },
869
+ {
870
+ "type": "switch_statement",
871
+ "named": true
872
+ },
873
+ {
874
+ "type": "type_definition",
875
+ "named": true
876
+ },
877
+ {
878
+ "type": "while_statement",
879
+ "named": true
880
+ }
881
+ ]
882
+ }
883
+ },
884
+ "cast_expression": {
885
+ "type": "cast_expression",
886
+ "named": true,
887
+ "fields": {
888
+ "type": {
889
+ "multiple": false,
890
+ "required": true,
891
+ "types": [
892
+ {
893
+ "type": "type_descriptor",
894
+ "named": true
895
+ }
896
+ ]
897
+ },
898
+ "value": {
899
+ "multiple": false,
900
+ "required": true,
901
+ "types": [
902
+ {
903
+ "type": "expression",
904
+ "named": true
905
+ }
906
+ ]
907
+ }
908
+ }
909
+ },
910
+ "char_literal": {
911
+ "type": "char_literal",
912
+ "named": true,
913
+ "fields": {},
914
+ "children": {
915
+ "multiple": true,
916
+ "required": true,
917
+ "types": [
918
+ {
919
+ "type": "character",
920
+ "named": true
921
+ },
922
+ {
923
+ "type": "escape_sequence",
924
+ "named": true
925
+ }
926
+ ]
927
+ }
928
+ },
929
+ "comma_expression": {
930
+ "type": "comma_expression",
931
+ "named": true,
932
+ "fields": {
933
+ "left": {
934
+ "multiple": false,
935
+ "required": true,
936
+ "types": [
937
+ {
938
+ "type": "expression",
939
+ "named": true
940
+ }
941
+ ]
942
+ },
943
+ "right": {
944
+ "multiple": false,
945
+ "required": true,
946
+ "types": [
947
+ {
948
+ "type": "comma_expression",
949
+ "named": true
950
+ },
951
+ {
952
+ "type": "expression",
953
+ "named": true
954
+ }
955
+ ]
956
+ }
957
+ }
958
+ },
959
+ "compound_literal_expression": {
960
+ "type": "compound_literal_expression",
961
+ "named": true,
962
+ "fields": {
963
+ "type": {
964
+ "multiple": false,
965
+ "required": true,
966
+ "types": [
967
+ {
968
+ "type": "type_descriptor",
969
+ "named": true
970
+ }
971
+ ]
972
+ },
973
+ "value": {
974
+ "multiple": false,
975
+ "required": true,
976
+ "types": [
977
+ {
978
+ "type": "initializer_list",
979
+ "named": true
980
+ }
981
+ ]
982
+ }
983
+ }
984
+ },
985
+ "compound_statement": {
986
+ "type": "compound_statement",
987
+ "named": true,
988
+ "fields": {},
989
+ "children": {
990
+ "multiple": true,
991
+ "required": false,
992
+ "types": [
993
+ {
994
+ "type": "declaration",
995
+ "named": true
996
+ },
997
+ {
998
+ "type": "function_definition",
999
+ "named": true
1000
+ },
1001
+ {
1002
+ "type": "linkage_specification",
1003
+ "named": true
1004
+ },
1005
+ {
1006
+ "type": "preproc_call",
1007
+ "named": true
1008
+ },
1009
+ {
1010
+ "type": "preproc_def",
1011
+ "named": true
1012
+ },
1013
+ {
1014
+ "type": "preproc_function_def",
1015
+ "named": true
1016
+ },
1017
+ {
1018
+ "type": "preproc_if",
1019
+ "named": true
1020
+ },
1021
+ {
1022
+ "type": "preproc_ifdef",
1023
+ "named": true
1024
+ },
1025
+ {
1026
+ "type": "preproc_include",
1027
+ "named": true
1028
+ },
1029
+ {
1030
+ "type": "statement",
1031
+ "named": true
1032
+ },
1033
+ {
1034
+ "type": "type_definition",
1035
+ "named": true
1036
+ },
1037
+ {
1038
+ "type": "type_specifier",
1039
+ "named": true
1040
+ }
1041
+ ]
1042
+ }
1043
+ },
1044
+ "concatenated_string": {
1045
+ "type": "concatenated_string",
1046
+ "named": true,
1047
+ "fields": {},
1048
+ "children": {
1049
+ "multiple": true,
1050
+ "required": true,
1051
+ "types": [
1052
+ {
1053
+ "type": "identifier",
1054
+ "named": true
1055
+ },
1056
+ {
1057
+ "type": "string_literal",
1058
+ "named": true
1059
+ }
1060
+ ]
1061
+ }
1062
+ },
1063
+ "conditional_expression": {
1064
+ "type": "conditional_expression",
1065
+ "named": true,
1066
+ "fields": {
1067
+ "alternative": {
1068
+ "multiple": false,
1069
+ "required": true,
1070
+ "types": [
1071
+ {
1072
+ "type": "expression",
1073
+ "named": true
1074
+ }
1075
+ ]
1076
+ },
1077
+ "condition": {
1078
+ "multiple": false,
1079
+ "required": true,
1080
+ "types": [
1081
+ {
1082
+ "type": "expression",
1083
+ "named": true
1084
+ }
1085
+ ]
1086
+ },
1087
+ "consequence": {
1088
+ "multiple": false,
1089
+ "required": false,
1090
+ "types": [
1091
+ {
1092
+ "type": "comma_expression",
1093
+ "named": true
1094
+ },
1095
+ {
1096
+ "type": "expression",
1097
+ "named": true
1098
+ }
1099
+ ]
1100
+ }
1101
+ }
1102
+ },
1103
+ "continue_statement": {
1104
+ "type": "continue_statement",
1105
+ "named": true,
1106
+ "fields": {}
1107
+ },
1108
+ "declaration": {
1109
+ "type": "declaration",
1110
+ "named": true,
1111
+ "fields": {
1112
+ "declarator": {
1113
+ "multiple": true,
1114
+ "required": true,
1115
+ "types": [
1116
+ {
1117
+ "type": "array_declarator",
1118
+ "named": true
1119
+ },
1120
+ {
1121
+ "type": "attributed_declarator",
1122
+ "named": true
1123
+ },
1124
+ {
1125
+ "type": "function_declarator",
1126
+ "named": true
1127
+ },
1128
+ {
1129
+ "type": "gnu_asm_expression",
1130
+ "named": true
1131
+ },
1132
+ {
1133
+ "type": "identifier",
1134
+ "named": true
1135
+ },
1136
+ {
1137
+ "type": "init_declarator",
1138
+ "named": true
1139
+ },
1140
+ {
1141
+ "type": "ms_call_modifier",
1142
+ "named": true
1143
+ },
1144
+ {
1145
+ "type": "parenthesized_declarator",
1146
+ "named": true
1147
+ },
1148
+ {
1149
+ "type": "pointer_declarator",
1150
+ "named": true
1151
+ }
1152
+ ]
1153
+ },
1154
+ "type": {
1155
+ "multiple": false,
1156
+ "required": true,
1157
+ "types": [
1158
+ {
1159
+ "type": "type_specifier",
1160
+ "named": true
1161
+ }
1162
+ ]
1163
+ }
1164
+ },
1165
+ "children": {
1166
+ "multiple": true,
1167
+ "required": false,
1168
+ "types": [
1169
+ {
1170
+ "type": "attribute_declaration",
1171
+ "named": true
1172
+ },
1173
+ {
1174
+ "type": "attribute_specifier",
1175
+ "named": true
1176
+ },
1177
+ {
1178
+ "type": "ms_declspec_modifier",
1179
+ "named": true
1180
+ },
1181
+ {
1182
+ "type": "storage_class_specifier",
1183
+ "named": true
1184
+ },
1185
+ {
1186
+ "type": "type_qualifier",
1187
+ "named": true
1188
+ }
1189
+ ]
1190
+ }
1191
+ },
1192
+ "declaration_list": {
1193
+ "type": "declaration_list",
1194
+ "named": true,
1195
+ "fields": {},
1196
+ "children": {
1197
+ "multiple": true,
1198
+ "required": false,
1199
+ "types": [
1200
+ {
1201
+ "type": "declaration",
1202
+ "named": true
1203
+ },
1204
+ {
1205
+ "type": "function_definition",
1206
+ "named": true
1207
+ },
1208
+ {
1209
+ "type": "linkage_specification",
1210
+ "named": true
1211
+ },
1212
+ {
1213
+ "type": "preproc_call",
1214
+ "named": true
1215
+ },
1216
+ {
1217
+ "type": "preproc_def",
1218
+ "named": true
1219
+ },
1220
+ {
1221
+ "type": "preproc_function_def",
1222
+ "named": true
1223
+ },
1224
+ {
1225
+ "type": "preproc_if",
1226
+ "named": true
1227
+ },
1228
+ {
1229
+ "type": "preproc_ifdef",
1230
+ "named": true
1231
+ },
1232
+ {
1233
+ "type": "preproc_include",
1234
+ "named": true
1235
+ },
1236
+ {
1237
+ "type": "statement",
1238
+ "named": true
1239
+ },
1240
+ {
1241
+ "type": "type_definition",
1242
+ "named": true
1243
+ },
1244
+ {
1245
+ "type": "type_specifier",
1246
+ "named": true
1247
+ }
1248
+ ]
1249
+ }
1250
+ },
1251
+ "do_statement": {
1252
+ "type": "do_statement",
1253
+ "named": true,
1254
+ "fields": {
1255
+ "body": {
1256
+ "multiple": false,
1257
+ "required": true,
1258
+ "types": [
1259
+ {
1260
+ "type": "statement",
1261
+ "named": true
1262
+ }
1263
+ ]
1264
+ },
1265
+ "condition": {
1266
+ "multiple": false,
1267
+ "required": true,
1268
+ "types": [
1269
+ {
1270
+ "type": "parenthesized_expression",
1271
+ "named": true
1272
+ }
1273
+ ]
1274
+ }
1275
+ }
1276
+ },
1277
+ "else_clause": {
1278
+ "type": "else_clause",
1279
+ "named": true,
1280
+ "fields": {},
1281
+ "children": {
1282
+ "multiple": false,
1283
+ "required": true,
1284
+ "types": [
1285
+ {
1286
+ "type": "statement",
1287
+ "named": true
1288
+ }
1289
+ ]
1290
+ }
1291
+ },
1292
+ "enum_specifier": {
1293
+ "type": "enum_specifier",
1294
+ "named": true,
1295
+ "fields": {
1296
+ "body": {
1297
+ "multiple": false,
1298
+ "required": false,
1299
+ "types": [
1300
+ {
1301
+ "type": "enumerator_list",
1302
+ "named": true
1303
+ }
1304
+ ]
1305
+ },
1306
+ "name": {
1307
+ "multiple": false,
1308
+ "required": false,
1309
+ "types": [
1310
+ {
1311
+ "type": "type_identifier",
1312
+ "named": true
1313
+ }
1314
+ ]
1315
+ },
1316
+ "underlying_type": {
1317
+ "multiple": false,
1318
+ "required": false,
1319
+ "types": [
1320
+ {
1321
+ "type": "primitive_type",
1322
+ "named": true
1323
+ }
1324
+ ]
1325
+ }
1326
+ },
1327
+ "children": {
1328
+ "multiple": false,
1329
+ "required": false,
1330
+ "types": [
1331
+ {
1332
+ "type": "attribute_specifier",
1333
+ "named": true
1334
+ }
1335
+ ]
1336
+ }
1337
+ },
1338
+ "enumerator": {
1339
+ "type": "enumerator",
1340
+ "named": true,
1341
+ "fields": {
1342
+ "name": {
1343
+ "multiple": false,
1344
+ "required": true,
1345
+ "types": [
1346
+ {
1347
+ "type": "identifier",
1348
+ "named": true
1349
+ }
1350
+ ]
1351
+ },
1352
+ "value": {
1353
+ "multiple": false,
1354
+ "required": false,
1355
+ "types": [
1356
+ {
1357
+ "type": "expression",
1358
+ "named": true
1359
+ }
1360
+ ]
1361
+ }
1362
+ }
1363
+ },
1364
+ "enumerator_list": {
1365
+ "type": "enumerator_list",
1366
+ "named": true,
1367
+ "fields": {},
1368
+ "children": {
1369
+ "multiple": true,
1370
+ "required": false,
1371
+ "types": [
1372
+ {
1373
+ "type": "enumerator",
1374
+ "named": true
1375
+ },
1376
+ {
1377
+ "type": "preproc_call",
1378
+ "named": true
1379
+ },
1380
+ {
1381
+ "type": "preproc_if",
1382
+ "named": true
1383
+ },
1384
+ {
1385
+ "type": "preproc_ifdef",
1386
+ "named": true
1387
+ }
1388
+ ]
1389
+ }
1390
+ },
1391
+ "expression_statement": {
1392
+ "type": "expression_statement",
1393
+ "named": true,
1394
+ "fields": {},
1395
+ "children": {
1396
+ "multiple": false,
1397
+ "required": false,
1398
+ "types": [
1399
+ {
1400
+ "type": "comma_expression",
1401
+ "named": true
1402
+ },
1403
+ {
1404
+ "type": "expression",
1405
+ "named": true
1406
+ }
1407
+ ]
1408
+ }
1409
+ },
1410
+ "extension_expression": {
1411
+ "type": "extension_expression",
1412
+ "named": true,
1413
+ "fields": {},
1414
+ "children": {
1415
+ "multiple": false,
1416
+ "required": true,
1417
+ "types": [
1418
+ {
1419
+ "type": "expression",
1420
+ "named": true
1421
+ }
1422
+ ]
1423
+ }
1424
+ },
1425
+ "field_declaration": {
1426
+ "type": "field_declaration",
1427
+ "named": true,
1428
+ "fields": {
1429
+ "declarator": {
1430
+ "multiple": true,
1431
+ "required": false,
1432
+ "types": [
1433
+ {
1434
+ "type": "_field_declarator",
1435
+ "named": true
1436
+ }
1437
+ ]
1438
+ },
1439
+ "type": {
1440
+ "multiple": false,
1441
+ "required": true,
1442
+ "types": [
1443
+ {
1444
+ "type": "type_specifier",
1445
+ "named": true
1446
+ }
1447
+ ]
1448
+ }
1449
+ },
1450
+ "children": {
1451
+ "multiple": true,
1452
+ "required": false,
1453
+ "types": [
1454
+ {
1455
+ "type": "attribute_declaration",
1456
+ "named": true
1457
+ },
1458
+ {
1459
+ "type": "attribute_specifier",
1460
+ "named": true
1461
+ },
1462
+ {
1463
+ "type": "bitfield_clause",
1464
+ "named": true
1465
+ },
1466
+ {
1467
+ "type": "ms_declspec_modifier",
1468
+ "named": true
1469
+ },
1470
+ {
1471
+ "type": "storage_class_specifier",
1472
+ "named": true
1473
+ },
1474
+ {
1475
+ "type": "type_qualifier",
1476
+ "named": true
1477
+ }
1478
+ ]
1479
+ }
1480
+ },
1481
+ "field_declaration_list": {
1482
+ "type": "field_declaration_list",
1483
+ "named": true,
1484
+ "fields": {},
1485
+ "children": {
1486
+ "multiple": true,
1487
+ "required": false,
1488
+ "types": [
1489
+ {
1490
+ "type": "field_declaration",
1491
+ "named": true
1492
+ },
1493
+ {
1494
+ "type": "preproc_call",
1495
+ "named": true
1496
+ },
1497
+ {
1498
+ "type": "preproc_def",
1499
+ "named": true
1500
+ },
1501
+ {
1502
+ "type": "preproc_function_def",
1503
+ "named": true
1504
+ },
1505
+ {
1506
+ "type": "preproc_if",
1507
+ "named": true
1508
+ },
1509
+ {
1510
+ "type": "preproc_ifdef",
1511
+ "named": true
1512
+ }
1513
+ ]
1514
+ }
1515
+ },
1516
+ "field_designator": {
1517
+ "type": "field_designator",
1518
+ "named": true,
1519
+ "fields": {},
1520
+ "children": {
1521
+ "multiple": false,
1522
+ "required": true,
1523
+ "types": [
1524
+ {
1525
+ "type": "field_identifier",
1526
+ "named": true
1527
+ }
1528
+ ]
1529
+ }
1530
+ },
1531
+ "field_expression": {
1532
+ "type": "field_expression",
1533
+ "named": true,
1534
+ "fields": {
1535
+ "argument": {
1536
+ "multiple": false,
1537
+ "required": true,
1538
+ "types": [
1539
+ {
1540
+ "type": "expression",
1541
+ "named": true
1542
+ }
1543
+ ]
1544
+ },
1545
+ "field": {
1546
+ "multiple": false,
1547
+ "required": true,
1548
+ "types": [
1549
+ {
1550
+ "type": "field_identifier",
1551
+ "named": true
1552
+ }
1553
+ ]
1554
+ },
1555
+ "operator": {
1556
+ "multiple": false,
1557
+ "required": true,
1558
+ "types": []
1559
+ }
1560
+ }
1561
+ },
1562
+ "for_statement": {
1563
+ "type": "for_statement",
1564
+ "named": true,
1565
+ "fields": {
1566
+ "body": {
1567
+ "multiple": false,
1568
+ "required": true,
1569
+ "types": [
1570
+ {
1571
+ "type": "statement",
1572
+ "named": true
1573
+ }
1574
+ ]
1575
+ },
1576
+ "condition": {
1577
+ "multiple": false,
1578
+ "required": false,
1579
+ "types": [
1580
+ {
1581
+ "type": "comma_expression",
1582
+ "named": true
1583
+ },
1584
+ {
1585
+ "type": "expression",
1586
+ "named": true
1587
+ }
1588
+ ]
1589
+ },
1590
+ "initializer": {
1591
+ "multiple": false,
1592
+ "required": false,
1593
+ "types": [
1594
+ {
1595
+ "type": "comma_expression",
1596
+ "named": true
1597
+ },
1598
+ {
1599
+ "type": "declaration",
1600
+ "named": true
1601
+ },
1602
+ {
1603
+ "type": "expression",
1604
+ "named": true
1605
+ }
1606
+ ]
1607
+ },
1608
+ "update": {
1609
+ "multiple": false,
1610
+ "required": false,
1611
+ "types": [
1612
+ {
1613
+ "type": "comma_expression",
1614
+ "named": true
1615
+ },
1616
+ {
1617
+ "type": "expression",
1618
+ "named": true
1619
+ }
1620
+ ]
1621
+ }
1622
+ }
1623
+ },
1624
+ "function_declarator": {
1625
+ "type": "function_declarator",
1626
+ "named": true,
1627
+ "fields": {
1628
+ "declarator": {
1629
+ "multiple": false,
1630
+ "required": true,
1631
+ "types": [
1632
+ {
1633
+ "type": "_declarator",
1634
+ "named": true
1635
+ },
1636
+ {
1637
+ "type": "_field_declarator",
1638
+ "named": true
1639
+ },
1640
+ {
1641
+ "type": "_type_declarator",
1642
+ "named": true
1643
+ }
1644
+ ]
1645
+ },
1646
+ "parameters": {
1647
+ "multiple": false,
1648
+ "required": true,
1649
+ "types": [
1650
+ {
1651
+ "type": "parameter_list",
1652
+ "named": true
1653
+ }
1654
+ ]
1655
+ }
1656
+ },
1657
+ "children": {
1658
+ "multiple": true,
1659
+ "required": false,
1660
+ "types": [
1661
+ {
1662
+ "type": "attribute_specifier",
1663
+ "named": true
1664
+ },
1665
+ {
1666
+ "type": "call_expression",
1667
+ "named": true
1668
+ },
1669
+ {
1670
+ "type": "gnu_asm_expression",
1671
+ "named": true
1672
+ },
1673
+ {
1674
+ "type": "identifier",
1675
+ "named": true
1676
+ }
1677
+ ]
1678
+ }
1679
+ },
1680
+ "function_definition": {
1681
+ "type": "function_definition",
1682
+ "named": true,
1683
+ "fields": {
1684
+ "body": {
1685
+ "multiple": false,
1686
+ "required": true,
1687
+ "types": [
1688
+ {
1689
+ "type": "compound_statement",
1690
+ "named": true
1691
+ }
1692
+ ]
1693
+ },
1694
+ "declarator": {
1695
+ "multiple": false,
1696
+ "required": true,
1697
+ "types": [
1698
+ {
1699
+ "type": "_declarator",
1700
+ "named": true
1701
+ }
1702
+ ]
1703
+ },
1704
+ "type": {
1705
+ "multiple": false,
1706
+ "required": true,
1707
+ "types": [
1708
+ {
1709
+ "type": "type_specifier",
1710
+ "named": true
1711
+ }
1712
+ ]
1713
+ }
1714
+ },
1715
+ "children": {
1716
+ "multiple": true,
1717
+ "required": false,
1718
+ "types": [
1719
+ {
1720
+ "type": "attribute_declaration",
1721
+ "named": true
1722
+ },
1723
+ {
1724
+ "type": "attribute_specifier",
1725
+ "named": true
1726
+ },
1727
+ {
1728
+ "type": "declaration",
1729
+ "named": true
1730
+ },
1731
+ {
1732
+ "type": "ms_call_modifier",
1733
+ "named": true
1734
+ },
1735
+ {
1736
+ "type": "ms_declspec_modifier",
1737
+ "named": true
1738
+ },
1739
+ {
1740
+ "type": "storage_class_specifier",
1741
+ "named": true
1742
+ },
1743
+ {
1744
+ "type": "type_qualifier",
1745
+ "named": true
1746
+ }
1747
+ ]
1748
+ }
1749
+ },
1750
+ "generic_expression": {
1751
+ "type": "generic_expression",
1752
+ "named": true,
1753
+ "fields": {},
1754
+ "children": {
1755
+ "multiple": true,
1756
+ "required": true,
1757
+ "types": [
1758
+ {
1759
+ "type": "expression",
1760
+ "named": true
1761
+ },
1762
+ {
1763
+ "type": "type_descriptor",
1764
+ "named": true
1765
+ }
1766
+ ]
1767
+ }
1768
+ },
1769
+ "gnu_asm_clobber_list": {
1770
+ "type": "gnu_asm_clobber_list",
1771
+ "named": true,
1772
+ "fields": {
1773
+ "register": {
1774
+ "multiple": true,
1775
+ "required": false,
1776
+ "types": [
1777
+ {
1778
+ "type": "concatenated_string",
1779
+ "named": true
1780
+ },
1781
+ {
1782
+ "type": "string_literal",
1783
+ "named": true
1784
+ }
1785
+ ]
1786
+ }
1787
+ }
1788
+ },
1789
+ "gnu_asm_expression": {
1790
+ "type": "gnu_asm_expression",
1791
+ "named": true,
1792
+ "fields": {
1793
+ "assembly_code": {
1794
+ "multiple": false,
1795
+ "required": true,
1796
+ "types": [
1797
+ {
1798
+ "type": "concatenated_string",
1799
+ "named": true
1800
+ },
1801
+ {
1802
+ "type": "string_literal",
1803
+ "named": true
1804
+ }
1805
+ ]
1806
+ },
1807
+ "clobbers": {
1808
+ "multiple": false,
1809
+ "required": false,
1810
+ "types": [
1811
+ {
1812
+ "type": "gnu_asm_clobber_list",
1813
+ "named": true
1814
+ }
1815
+ ]
1816
+ },
1817
+ "goto_labels": {
1818
+ "multiple": false,
1819
+ "required": false,
1820
+ "types": [
1821
+ {
1822
+ "type": "gnu_asm_goto_list",
1823
+ "named": true
1824
+ }
1825
+ ]
1826
+ },
1827
+ "input_operands": {
1828
+ "multiple": false,
1829
+ "required": false,
1830
+ "types": [
1831
+ {
1832
+ "type": "gnu_asm_input_operand_list",
1833
+ "named": true
1834
+ }
1835
+ ]
1836
+ },
1837
+ "output_operands": {
1838
+ "multiple": false,
1839
+ "required": false,
1840
+ "types": [
1841
+ {
1842
+ "type": "gnu_asm_output_operand_list",
1843
+ "named": true
1844
+ }
1845
+ ]
1846
+ }
1847
+ },
1848
+ "children": {
1849
+ "multiple": true,
1850
+ "required": false,
1851
+ "types": [
1852
+ {
1853
+ "type": "gnu_asm_qualifier",
1854
+ "named": true
1855
+ }
1856
+ ]
1857
+ }
1858
+ },
1859
+ "gnu_asm_goto_list": {
1860
+ "type": "gnu_asm_goto_list",
1861
+ "named": true,
1862
+ "fields": {
1863
+ "label": {
1864
+ "multiple": true,
1865
+ "required": false,
1866
+ "types": [
1867
+ {
1868
+ "type": "identifier",
1869
+ "named": true
1870
+ }
1871
+ ]
1872
+ }
1873
+ }
1874
+ },
1875
+ "gnu_asm_input_operand": {
1876
+ "type": "gnu_asm_input_operand",
1877
+ "named": true,
1878
+ "fields": {
1879
+ "constraint": {
1880
+ "multiple": false,
1881
+ "required": true,
1882
+ "types": [
1883
+ {
1884
+ "type": "string_literal",
1885
+ "named": true
1886
+ }
1887
+ ]
1888
+ },
1889
+ "symbol": {
1890
+ "multiple": false,
1891
+ "required": false,
1892
+ "types": [
1893
+ {
1894
+ "type": "identifier",
1895
+ "named": true
1896
+ }
1897
+ ]
1898
+ },
1899
+ "value": {
1900
+ "multiple": false,
1901
+ "required": true,
1902
+ "types": [
1903
+ {
1904
+ "type": "expression",
1905
+ "named": true
1906
+ }
1907
+ ]
1908
+ }
1909
+ }
1910
+ },
1911
+ "gnu_asm_input_operand_list": {
1912
+ "type": "gnu_asm_input_operand_list",
1913
+ "named": true,
1914
+ "fields": {
1915
+ "operand": {
1916
+ "multiple": true,
1917
+ "required": false,
1918
+ "types": [
1919
+ {
1920
+ "type": "gnu_asm_input_operand",
1921
+ "named": true
1922
+ }
1923
+ ]
1924
+ }
1925
+ }
1926
+ },
1927
+ "gnu_asm_output_operand": {
1928
+ "type": "gnu_asm_output_operand",
1929
+ "named": true,
1930
+ "fields": {
1931
+ "constraint": {
1932
+ "multiple": false,
1933
+ "required": true,
1934
+ "types": [
1935
+ {
1936
+ "type": "string_literal",
1937
+ "named": true
1938
+ }
1939
+ ]
1940
+ },
1941
+ "symbol": {
1942
+ "multiple": false,
1943
+ "required": false,
1944
+ "types": [
1945
+ {
1946
+ "type": "identifier",
1947
+ "named": true
1948
+ }
1949
+ ]
1950
+ },
1951
+ "value": {
1952
+ "multiple": false,
1953
+ "required": true,
1954
+ "types": [
1955
+ {
1956
+ "type": "identifier",
1957
+ "named": true
1958
+ }
1959
+ ]
1960
+ }
1961
+ }
1962
+ },
1963
+ "gnu_asm_output_operand_list": {
1964
+ "type": "gnu_asm_output_operand_list",
1965
+ "named": true,
1966
+ "fields": {
1967
+ "operand": {
1968
+ "multiple": true,
1969
+ "required": false,
1970
+ "types": [
1971
+ {
1972
+ "type": "gnu_asm_output_operand",
1973
+ "named": true
1974
+ }
1975
+ ]
1976
+ }
1977
+ }
1978
+ },
1979
+ "gnu_asm_qualifier": {
1980
+ "type": "gnu_asm_qualifier",
1981
+ "named": true,
1982
+ "fields": {}
1983
+ },
1984
+ "goto_statement": {
1985
+ "type": "goto_statement",
1986
+ "named": true,
1987
+ "fields": {
1988
+ "label": {
1989
+ "multiple": false,
1990
+ "required": true,
1991
+ "types": [
1992
+ {
1993
+ "type": "statement_identifier",
1994
+ "named": true
1995
+ }
1996
+ ]
1997
+ }
1998
+ }
1999
+ },
2000
+ "if_statement": {
2001
+ "type": "if_statement",
2002
+ "named": true,
2003
+ "fields": {
2004
+ "alternative": {
2005
+ "multiple": false,
2006
+ "required": false,
2007
+ "types": [
2008
+ {
2009
+ "type": "else_clause",
2010
+ "named": true
2011
+ }
2012
+ ]
2013
+ },
2014
+ "condition": {
2015
+ "multiple": false,
2016
+ "required": true,
2017
+ "types": [
2018
+ {
2019
+ "type": "parenthesized_expression",
2020
+ "named": true
2021
+ }
2022
+ ]
2023
+ },
2024
+ "consequence": {
2025
+ "multiple": false,
2026
+ "required": true,
2027
+ "types": [
2028
+ {
2029
+ "type": "statement",
2030
+ "named": true
2031
+ }
2032
+ ]
2033
+ }
2034
+ }
2035
+ },
2036
+ "init_declarator": {
2037
+ "type": "init_declarator",
2038
+ "named": true,
2039
+ "fields": {
2040
+ "declarator": {
2041
+ "multiple": false,
2042
+ "required": true,
2043
+ "types": [
2044
+ {
2045
+ "type": "_declarator",
2046
+ "named": true
2047
+ }
2048
+ ]
2049
+ },
2050
+ "value": {
2051
+ "multiple": false,
2052
+ "required": true,
2053
+ "types": [
2054
+ {
2055
+ "type": "expression",
2056
+ "named": true
2057
+ },
2058
+ {
2059
+ "type": "initializer_list",
2060
+ "named": true
2061
+ }
2062
+ ]
2063
+ }
2064
+ }
2065
+ },
2066
+ "initializer_list": {
2067
+ "type": "initializer_list",
2068
+ "named": true,
2069
+ "fields": {},
2070
+ "children": {
2071
+ "multiple": true,
2072
+ "required": false,
2073
+ "types": [
2074
+ {
2075
+ "type": "expression",
2076
+ "named": true
2077
+ },
2078
+ {
2079
+ "type": "initializer_list",
2080
+ "named": true
2081
+ },
2082
+ {
2083
+ "type": "initializer_pair",
2084
+ "named": true
2085
+ }
2086
+ ]
2087
+ }
2088
+ },
2089
+ "initializer_pair": {
2090
+ "type": "initializer_pair",
2091
+ "named": true,
2092
+ "fields": {
2093
+ "designator": {
2094
+ "multiple": true,
2095
+ "required": true,
2096
+ "types": [
2097
+ {
2098
+ "type": "field_designator",
2099
+ "named": true
2100
+ },
2101
+ {
2102
+ "type": "field_identifier",
2103
+ "named": true
2104
+ },
2105
+ {
2106
+ "type": "subscript_designator",
2107
+ "named": true
2108
+ },
2109
+ {
2110
+ "type": "subscript_range_designator",
2111
+ "named": true
2112
+ }
2113
+ ]
2114
+ },
2115
+ "value": {
2116
+ "multiple": false,
2117
+ "required": true,
2118
+ "types": [
2119
+ {
2120
+ "type": "expression",
2121
+ "named": true
2122
+ },
2123
+ {
2124
+ "type": "initializer_list",
2125
+ "named": true
2126
+ }
2127
+ ]
2128
+ }
2129
+ }
2130
+ },
2131
+ "labeled_statement": {
2132
+ "type": "labeled_statement",
2133
+ "named": true,
2134
+ "fields": {
2135
+ "label": {
2136
+ "multiple": false,
2137
+ "required": true,
2138
+ "types": [
2139
+ {
2140
+ "type": "statement_identifier",
2141
+ "named": true
2142
+ }
2143
+ ]
2144
+ }
2145
+ },
2146
+ "children": {
2147
+ "multiple": false,
2148
+ "required": true,
2149
+ "types": [
2150
+ {
2151
+ "type": "declaration",
2152
+ "named": true
2153
+ },
2154
+ {
2155
+ "type": "statement",
2156
+ "named": true
2157
+ }
2158
+ ]
2159
+ }
2160
+ },
2161
+ "linkage_specification": {
2162
+ "type": "linkage_specification",
2163
+ "named": true,
2164
+ "fields": {
2165
+ "body": {
2166
+ "multiple": false,
2167
+ "required": true,
2168
+ "types": [
2169
+ {
2170
+ "type": "declaration",
2171
+ "named": true
2172
+ },
2173
+ {
2174
+ "type": "declaration_list",
2175
+ "named": true
2176
+ },
2177
+ {
2178
+ "type": "function_definition",
2179
+ "named": true
2180
+ }
2181
+ ]
2182
+ },
2183
+ "value": {
2184
+ "multiple": false,
2185
+ "required": true,
2186
+ "types": [
2187
+ {
2188
+ "type": "string_literal",
2189
+ "named": true
2190
+ }
2191
+ ]
2192
+ }
2193
+ }
2194
+ },
2195
+ "macro_type_specifier": {
2196
+ "type": "macro_type_specifier",
2197
+ "named": true,
2198
+ "fields": {
2199
+ "name": {
2200
+ "multiple": false,
2201
+ "required": true,
2202
+ "types": [
2203
+ {
2204
+ "type": "identifier",
2205
+ "named": true
2206
+ }
2207
+ ]
2208
+ },
2209
+ "type": {
2210
+ "multiple": false,
2211
+ "required": true,
2212
+ "types": [
2213
+ {
2214
+ "type": "type_descriptor",
2215
+ "named": true
2216
+ }
2217
+ ]
2218
+ }
2219
+ }
2220
+ },
2221
+ "ms_based_modifier": {
2222
+ "type": "ms_based_modifier",
2223
+ "named": true,
2224
+ "fields": {},
2225
+ "children": {
2226
+ "multiple": false,
2227
+ "required": true,
2228
+ "types": [
2229
+ {
2230
+ "type": "argument_list",
2231
+ "named": true
2232
+ }
2233
+ ]
2234
+ }
2235
+ },
2236
+ "ms_call_modifier": {
2237
+ "type": "ms_call_modifier",
2238
+ "named": true,
2239
+ "fields": {}
2240
+ },
2241
+ "ms_declspec_modifier": {
2242
+ "type": "ms_declspec_modifier",
2243
+ "named": true,
2244
+ "fields": {},
2245
+ "children": {
2246
+ "multiple": false,
2247
+ "required": true,
2248
+ "types": [
2249
+ {
2250
+ "type": "identifier",
2251
+ "named": true
2252
+ }
2253
+ ]
2254
+ }
2255
+ },
2256
+ "ms_pointer_modifier": {
2257
+ "type": "ms_pointer_modifier",
2258
+ "named": true,
2259
+ "fields": {},
2260
+ "children": {
2261
+ "multiple": false,
2262
+ "required": true,
2263
+ "types": [
2264
+ {
2265
+ "type": "ms_restrict_modifier",
2266
+ "named": true
2267
+ },
2268
+ {
2269
+ "type": "ms_signed_ptr_modifier",
2270
+ "named": true
2271
+ },
2272
+ {
2273
+ "type": "ms_unaligned_ptr_modifier",
2274
+ "named": true
2275
+ },
2276
+ {
2277
+ "type": "ms_unsigned_ptr_modifier",
2278
+ "named": true
2279
+ }
2280
+ ]
2281
+ }
2282
+ },
2283
+ "ms_unaligned_ptr_modifier": {
2284
+ "type": "ms_unaligned_ptr_modifier",
2285
+ "named": true,
2286
+ "fields": {}
2287
+ },
2288
+ "null": {
2289
+ "type": "null",
2290
+ "named": true,
2291
+ "fields": {}
2292
+ },
2293
+ "offsetof_expression": {
2294
+ "type": "offsetof_expression",
2295
+ "named": true,
2296
+ "fields": {
2297
+ "member": {
2298
+ "multiple": false,
2299
+ "required": true,
2300
+ "types": [
2301
+ {
2302
+ "type": "field_identifier",
2303
+ "named": true
2304
+ }
2305
+ ]
2306
+ },
2307
+ "type": {
2308
+ "multiple": false,
2309
+ "required": true,
2310
+ "types": [
2311
+ {
2312
+ "type": "type_descriptor",
2313
+ "named": true
2314
+ }
2315
+ ]
2316
+ }
2317
+ }
2318
+ },
2319
+ "parameter_declaration": {
2320
+ "type": "parameter_declaration",
2321
+ "named": true,
2322
+ "fields": {
2323
+ "declarator": {
2324
+ "multiple": false,
2325
+ "required": false,
2326
+ "types": [
2327
+ {
2328
+ "type": "_abstract_declarator",
2329
+ "named": true
2330
+ },
2331
+ {
2332
+ "type": "_declarator",
2333
+ "named": true
2334
+ }
2335
+ ]
2336
+ },
2337
+ "type": {
2338
+ "multiple": false,
2339
+ "required": true,
2340
+ "types": [
2341
+ {
2342
+ "type": "type_specifier",
2343
+ "named": true
2344
+ }
2345
+ ]
2346
+ }
2347
+ },
2348
+ "children": {
2349
+ "multiple": true,
2350
+ "required": false,
2351
+ "types": [
2352
+ {
2353
+ "type": "attribute_declaration",
2354
+ "named": true
2355
+ },
2356
+ {
2357
+ "type": "attribute_specifier",
2358
+ "named": true
2359
+ },
2360
+ {
2361
+ "type": "ms_declspec_modifier",
2362
+ "named": true
2363
+ },
2364
+ {
2365
+ "type": "storage_class_specifier",
2366
+ "named": true
2367
+ },
2368
+ {
2369
+ "type": "type_qualifier",
2370
+ "named": true
2371
+ }
2372
+ ]
2373
+ }
2374
+ },
2375
+ "parameter_list": {
2376
+ "type": "parameter_list",
2377
+ "named": true,
2378
+ "fields": {},
2379
+ "children": {
2380
+ "multiple": true,
2381
+ "required": false,
2382
+ "types": [
2383
+ {
2384
+ "type": "compound_statement",
2385
+ "named": true
2386
+ },
2387
+ {
2388
+ "type": "identifier",
2389
+ "named": true
2390
+ },
2391
+ {
2392
+ "type": "parameter_declaration",
2393
+ "named": true
2394
+ },
2395
+ {
2396
+ "type": "variadic_parameter",
2397
+ "named": true
2398
+ }
2399
+ ]
2400
+ }
2401
+ },
2402
+ "parenthesized_declarator": {
2403
+ "type": "parenthesized_declarator",
2404
+ "named": true,
2405
+ "fields": {},
2406
+ "children": {
2407
+ "multiple": true,
2408
+ "required": true,
2409
+ "types": [
2410
+ {
2411
+ "type": "_declarator",
2412
+ "named": true
2413
+ },
2414
+ {
2415
+ "type": "_field_declarator",
2416
+ "named": true
2417
+ },
2418
+ {
2419
+ "type": "_type_declarator",
2420
+ "named": true
2421
+ },
2422
+ {
2423
+ "type": "ms_call_modifier",
2424
+ "named": true
2425
+ }
2426
+ ]
2427
+ }
2428
+ },
2429
+ "parenthesized_expression": {
2430
+ "type": "parenthesized_expression",
2431
+ "named": true,
2432
+ "fields": {},
2433
+ "children": {
2434
+ "multiple": false,
2435
+ "required": true,
2436
+ "types": [
2437
+ {
2438
+ "type": "comma_expression",
2439
+ "named": true
2440
+ },
2441
+ {
2442
+ "type": "compound_statement",
2443
+ "named": true
2444
+ },
2445
+ {
2446
+ "type": "expression",
2447
+ "named": true
2448
+ },
2449
+ {
2450
+ "type": "preproc_defined",
2451
+ "named": true
2452
+ }
2453
+ ]
2454
+ }
2455
+ },
2456
+ "pointer_declarator": {
2457
+ "type": "pointer_declarator",
2458
+ "named": true,
2459
+ "fields": {
2460
+ "declarator": {
2461
+ "multiple": false,
2462
+ "required": true,
2463
+ "types": [
2464
+ {
2465
+ "type": "_declarator",
2466
+ "named": true
2467
+ },
2468
+ {
2469
+ "type": "_field_declarator",
2470
+ "named": true
2471
+ },
2472
+ {
2473
+ "type": "_type_declarator",
2474
+ "named": true
2475
+ }
2476
+ ]
2477
+ }
2478
+ },
2479
+ "children": {
2480
+ "multiple": true,
2481
+ "required": false,
2482
+ "types": [
2483
+ {
2484
+ "type": "ms_based_modifier",
2485
+ "named": true
2486
+ },
2487
+ {
2488
+ "type": "ms_pointer_modifier",
2489
+ "named": true
2490
+ },
2491
+ {
2492
+ "type": "type_qualifier",
2493
+ "named": true
2494
+ }
2495
+ ]
2496
+ }
2497
+ },
2498
+ "pointer_expression": {
2499
+ "type": "pointer_expression",
2500
+ "named": true,
2501
+ "fields": {
2502
+ "argument": {
2503
+ "multiple": false,
2504
+ "required": true,
2505
+ "types": [
2506
+ {
2507
+ "type": "expression",
2508
+ "named": true
2509
+ }
2510
+ ]
2511
+ },
2512
+ "operator": {
2513
+ "multiple": false,
2514
+ "required": true,
2515
+ "types": []
2516
+ }
2517
+ }
2518
+ },
2519
+ "preproc_call": {
2520
+ "type": "preproc_call",
2521
+ "named": true,
2522
+ "fields": {
2523
+ "argument": {
2524
+ "multiple": false,
2525
+ "required": false,
2526
+ "types": [
2527
+ {
2528
+ "type": "preproc_arg",
2529
+ "named": true
2530
+ }
2531
+ ]
2532
+ },
2533
+ "directive": {
2534
+ "multiple": false,
2535
+ "required": true,
2536
+ "types": [
2537
+ {
2538
+ "type": "preproc_directive",
2539
+ "named": true
2540
+ }
2541
+ ]
2542
+ }
2543
+ }
2544
+ },
2545
+ "preproc_def": {
2546
+ "type": "preproc_def",
2547
+ "named": true,
2548
+ "fields": {
2549
+ "name": {
2550
+ "multiple": false,
2551
+ "required": true,
2552
+ "types": [
2553
+ {
2554
+ "type": "identifier",
2555
+ "named": true
2556
+ }
2557
+ ]
2558
+ },
2559
+ "value": {
2560
+ "multiple": false,
2561
+ "required": false,
2562
+ "types": [
2563
+ {
2564
+ "type": "preproc_arg",
2565
+ "named": true
2566
+ }
2567
+ ]
2568
+ }
2569
+ }
2570
+ },
2571
+ "preproc_defined": {
2572
+ "type": "preproc_defined",
2573
+ "named": true,
2574
+ "fields": {},
2575
+ "children": {
2576
+ "multiple": false,
2577
+ "required": true,
2578
+ "types": [
2579
+ {
2580
+ "type": "identifier",
2581
+ "named": true
2582
+ }
2583
+ ]
2584
+ }
2585
+ },
2586
+ "preproc_elif": {
2587
+ "type": "preproc_elif",
2588
+ "named": true,
2589
+ "fields": {
2590
+ "alternative": {
2591
+ "multiple": false,
2592
+ "required": false,
2593
+ "types": [
2594
+ {
2595
+ "type": "preproc_elif",
2596
+ "named": true
2597
+ },
2598
+ {
2599
+ "type": "preproc_elifdef",
2600
+ "named": true
2601
+ },
2602
+ {
2603
+ "type": "preproc_else",
2604
+ "named": true
2605
+ }
2606
+ ]
2607
+ },
2608
+ "condition": {
2609
+ "multiple": false,
2610
+ "required": true,
2611
+ "types": [
2612
+ {
2613
+ "type": "binary_expression",
2614
+ "named": true
2615
+ },
2616
+ {
2617
+ "type": "call_expression",
2618
+ "named": true
2619
+ },
2620
+ {
2621
+ "type": "char_literal",
2622
+ "named": true
2623
+ },
2624
+ {
2625
+ "type": "identifier",
2626
+ "named": true
2627
+ },
2628
+ {
2629
+ "type": "number_literal",
2630
+ "named": true
2631
+ },
2632
+ {
2633
+ "type": "parenthesized_expression",
2634
+ "named": true
2635
+ },
2636
+ {
2637
+ "type": "preproc_defined",
2638
+ "named": true
2639
+ },
2640
+ {
2641
+ "type": "unary_expression",
2642
+ "named": true
2643
+ }
2644
+ ]
2645
+ }
2646
+ },
2647
+ "children": {
2648
+ "multiple": true,
2649
+ "required": false,
2650
+ "types": [
2651
+ {
2652
+ "type": "declaration",
2653
+ "named": true
2654
+ },
2655
+ {
2656
+ "type": "enumerator",
2657
+ "named": true
2658
+ },
2659
+ {
2660
+ "type": "field_declaration",
2661
+ "named": true
2662
+ },
2663
+ {
2664
+ "type": "function_definition",
2665
+ "named": true
2666
+ },
2667
+ {
2668
+ "type": "linkage_specification",
2669
+ "named": true
2670
+ },
2671
+ {
2672
+ "type": "preproc_call",
2673
+ "named": true
2674
+ },
2675
+ {
2676
+ "type": "preproc_def",
2677
+ "named": true
2678
+ },
2679
+ {
2680
+ "type": "preproc_function_def",
2681
+ "named": true
2682
+ },
2683
+ {
2684
+ "type": "preproc_if",
2685
+ "named": true
2686
+ },
2687
+ {
2688
+ "type": "preproc_ifdef",
2689
+ "named": true
2690
+ },
2691
+ {
2692
+ "type": "preproc_include",
2693
+ "named": true
2694
+ },
2695
+ {
2696
+ "type": "statement",
2697
+ "named": true
2698
+ },
2699
+ {
2700
+ "type": "type_definition",
2701
+ "named": true
2702
+ },
2703
+ {
2704
+ "type": "type_specifier",
2705
+ "named": true
2706
+ }
2707
+ ]
2708
+ }
2709
+ },
2710
+ "preproc_elifdef": {
2711
+ "type": "preproc_elifdef",
2712
+ "named": true,
2713
+ "fields": {
2714
+ "alternative": {
2715
+ "multiple": false,
2716
+ "required": false,
2717
+ "types": [
2718
+ {
2719
+ "type": "preproc_elif",
2720
+ "named": true
2721
+ },
2722
+ {
2723
+ "type": "preproc_elifdef",
2724
+ "named": true
2725
+ },
2726
+ {
2727
+ "type": "preproc_else",
2728
+ "named": true
2729
+ }
2730
+ ]
2731
+ },
2732
+ "name": {
2733
+ "multiple": false,
2734
+ "required": true,
2735
+ "types": [
2736
+ {
2737
+ "type": "identifier",
2738
+ "named": true
2739
+ }
2740
+ ]
2741
+ }
2742
+ },
2743
+ "children": {
2744
+ "multiple": true,
2745
+ "required": false,
2746
+ "types": [
2747
+ {
2748
+ "type": "declaration",
2749
+ "named": true
2750
+ },
2751
+ {
2752
+ "type": "enumerator",
2753
+ "named": true
2754
+ },
2755
+ {
2756
+ "type": "field_declaration",
2757
+ "named": true
2758
+ },
2759
+ {
2760
+ "type": "function_definition",
2761
+ "named": true
2762
+ },
2763
+ {
2764
+ "type": "linkage_specification",
2765
+ "named": true
2766
+ },
2767
+ {
2768
+ "type": "preproc_call",
2769
+ "named": true
2770
+ },
2771
+ {
2772
+ "type": "preproc_def",
2773
+ "named": true
2774
+ },
2775
+ {
2776
+ "type": "preproc_function_def",
2777
+ "named": true
2778
+ },
2779
+ {
2780
+ "type": "preproc_if",
2781
+ "named": true
2782
+ },
2783
+ {
2784
+ "type": "preproc_ifdef",
2785
+ "named": true
2786
+ },
2787
+ {
2788
+ "type": "preproc_include",
2789
+ "named": true
2790
+ },
2791
+ {
2792
+ "type": "statement",
2793
+ "named": true
2794
+ },
2795
+ {
2796
+ "type": "type_definition",
2797
+ "named": true
2798
+ },
2799
+ {
2800
+ "type": "type_specifier",
2801
+ "named": true
2802
+ }
2803
+ ]
2804
+ }
2805
+ },
2806
+ "preproc_else": {
2807
+ "type": "preproc_else",
2808
+ "named": true,
2809
+ "fields": {},
2810
+ "children": {
2811
+ "multiple": true,
2812
+ "required": false,
2813
+ "types": [
2814
+ {
2815
+ "type": "declaration",
2816
+ "named": true
2817
+ },
2818
+ {
2819
+ "type": "enumerator",
2820
+ "named": true
2821
+ },
2822
+ {
2823
+ "type": "field_declaration",
2824
+ "named": true
2825
+ },
2826
+ {
2827
+ "type": "function_definition",
2828
+ "named": true
2829
+ },
2830
+ {
2831
+ "type": "linkage_specification",
2832
+ "named": true
2833
+ },
2834
+ {
2835
+ "type": "preproc_call",
2836
+ "named": true
2837
+ },
2838
+ {
2839
+ "type": "preproc_def",
2840
+ "named": true
2841
+ },
2842
+ {
2843
+ "type": "preproc_function_def",
2844
+ "named": true
2845
+ },
2846
+ {
2847
+ "type": "preproc_if",
2848
+ "named": true
2849
+ },
2850
+ {
2851
+ "type": "preproc_ifdef",
2852
+ "named": true
2853
+ },
2854
+ {
2855
+ "type": "preproc_include",
2856
+ "named": true
2857
+ },
2858
+ {
2859
+ "type": "statement",
2860
+ "named": true
2861
+ },
2862
+ {
2863
+ "type": "type_definition",
2864
+ "named": true
2865
+ },
2866
+ {
2867
+ "type": "type_specifier",
2868
+ "named": true
2869
+ }
2870
+ ]
2871
+ }
2872
+ },
2873
+ "preproc_function_def": {
2874
+ "type": "preproc_function_def",
2875
+ "named": true,
2876
+ "fields": {
2877
+ "name": {
2878
+ "multiple": false,
2879
+ "required": true,
2880
+ "types": [
2881
+ {
2882
+ "type": "identifier",
2883
+ "named": true
2884
+ }
2885
+ ]
2886
+ },
2887
+ "parameters": {
2888
+ "multiple": false,
2889
+ "required": true,
2890
+ "types": [
2891
+ {
2892
+ "type": "preproc_params",
2893
+ "named": true
2894
+ }
2895
+ ]
2896
+ },
2897
+ "value": {
2898
+ "multiple": false,
2899
+ "required": false,
2900
+ "types": [
2901
+ {
2902
+ "type": "preproc_arg",
2903
+ "named": true
2904
+ }
2905
+ ]
2906
+ }
2907
+ }
2908
+ },
2909
+ "preproc_if": {
2910
+ "type": "preproc_if",
2911
+ "named": true,
2912
+ "fields": {
2913
+ "alternative": {
2914
+ "multiple": false,
2915
+ "required": false,
2916
+ "types": [
2917
+ {
2918
+ "type": "preproc_elif",
2919
+ "named": true
2920
+ },
2921
+ {
2922
+ "type": "preproc_elifdef",
2923
+ "named": true
2924
+ },
2925
+ {
2926
+ "type": "preproc_else",
2927
+ "named": true
2928
+ }
2929
+ ]
2930
+ },
2931
+ "condition": {
2932
+ "multiple": false,
2933
+ "required": true,
2934
+ "types": [
2935
+ {
2936
+ "type": "binary_expression",
2937
+ "named": true
2938
+ },
2939
+ {
2940
+ "type": "call_expression",
2941
+ "named": true
2942
+ },
2943
+ {
2944
+ "type": "char_literal",
2945
+ "named": true
2946
+ },
2947
+ {
2948
+ "type": "identifier",
2949
+ "named": true
2950
+ },
2951
+ {
2952
+ "type": "number_literal",
2953
+ "named": true
2954
+ },
2955
+ {
2956
+ "type": "parenthesized_expression",
2957
+ "named": true
2958
+ },
2959
+ {
2960
+ "type": "preproc_defined",
2961
+ "named": true
2962
+ },
2963
+ {
2964
+ "type": "unary_expression",
2965
+ "named": true
2966
+ }
2967
+ ]
2968
+ }
2969
+ },
2970
+ "children": {
2971
+ "multiple": true,
2972
+ "required": false,
2973
+ "types": [
2974
+ {
2975
+ "type": "declaration",
2976
+ "named": true
2977
+ },
2978
+ {
2979
+ "type": "enumerator",
2980
+ "named": true
2981
+ },
2982
+ {
2983
+ "type": "field_declaration",
2984
+ "named": true
2985
+ },
2986
+ {
2987
+ "type": "function_definition",
2988
+ "named": true
2989
+ },
2990
+ {
2991
+ "type": "linkage_specification",
2992
+ "named": true
2993
+ },
2994
+ {
2995
+ "type": "preproc_call",
2996
+ "named": true
2997
+ },
2998
+ {
2999
+ "type": "preproc_def",
3000
+ "named": true
3001
+ },
3002
+ {
3003
+ "type": "preproc_function_def",
3004
+ "named": true
3005
+ },
3006
+ {
3007
+ "type": "preproc_if",
3008
+ "named": true
3009
+ },
3010
+ {
3011
+ "type": "preproc_ifdef",
3012
+ "named": true
3013
+ },
3014
+ {
3015
+ "type": "preproc_include",
3016
+ "named": true
3017
+ },
3018
+ {
3019
+ "type": "statement",
3020
+ "named": true
3021
+ },
3022
+ {
3023
+ "type": "type_definition",
3024
+ "named": true
3025
+ },
3026
+ {
3027
+ "type": "type_specifier",
3028
+ "named": true
3029
+ }
3030
+ ]
3031
+ }
3032
+ },
3033
+ "preproc_ifdef": {
3034
+ "type": "preproc_ifdef",
3035
+ "named": true,
3036
+ "fields": {
3037
+ "alternative": {
3038
+ "multiple": false,
3039
+ "required": false,
3040
+ "types": [
3041
+ {
3042
+ "type": "preproc_elif",
3043
+ "named": true
3044
+ },
3045
+ {
3046
+ "type": "preproc_elifdef",
3047
+ "named": true
3048
+ },
3049
+ {
3050
+ "type": "preproc_else",
3051
+ "named": true
3052
+ }
3053
+ ]
3054
+ },
3055
+ "name": {
3056
+ "multiple": false,
3057
+ "required": true,
3058
+ "types": [
3059
+ {
3060
+ "type": "identifier",
3061
+ "named": true
3062
+ }
3063
+ ]
3064
+ }
3065
+ },
3066
+ "children": {
3067
+ "multiple": true,
3068
+ "required": false,
3069
+ "types": [
3070
+ {
3071
+ "type": "declaration",
3072
+ "named": true
3073
+ },
3074
+ {
3075
+ "type": "enumerator",
3076
+ "named": true
3077
+ },
3078
+ {
3079
+ "type": "field_declaration",
3080
+ "named": true
3081
+ },
3082
+ {
3083
+ "type": "function_definition",
3084
+ "named": true
3085
+ },
3086
+ {
3087
+ "type": "linkage_specification",
3088
+ "named": true
3089
+ },
3090
+ {
3091
+ "type": "preproc_call",
3092
+ "named": true
3093
+ },
3094
+ {
3095
+ "type": "preproc_def",
3096
+ "named": true
3097
+ },
3098
+ {
3099
+ "type": "preproc_function_def",
3100
+ "named": true
3101
+ },
3102
+ {
3103
+ "type": "preproc_if",
3104
+ "named": true
3105
+ },
3106
+ {
3107
+ "type": "preproc_ifdef",
3108
+ "named": true
3109
+ },
3110
+ {
3111
+ "type": "preproc_include",
3112
+ "named": true
3113
+ },
3114
+ {
3115
+ "type": "statement",
3116
+ "named": true
3117
+ },
3118
+ {
3119
+ "type": "type_definition",
3120
+ "named": true
3121
+ },
3122
+ {
3123
+ "type": "type_specifier",
3124
+ "named": true
3125
+ }
3126
+ ]
3127
+ }
3128
+ },
3129
+ "preproc_include": {
3130
+ "type": "preproc_include",
3131
+ "named": true,
3132
+ "fields": {
3133
+ "path": {
3134
+ "multiple": false,
3135
+ "required": true,
3136
+ "types": [
3137
+ {
3138
+ "type": "call_expression",
3139
+ "named": true
3140
+ },
3141
+ {
3142
+ "type": "identifier",
3143
+ "named": true
3144
+ },
3145
+ {
3146
+ "type": "string_literal",
3147
+ "named": true
3148
+ },
3149
+ {
3150
+ "type": "system_lib_string",
3151
+ "named": true
3152
+ }
3153
+ ]
3154
+ }
3155
+ }
3156
+ },
3157
+ "preproc_params": {
3158
+ "type": "preproc_params",
3159
+ "named": true,
3160
+ "fields": {},
3161
+ "children": {
3162
+ "multiple": true,
3163
+ "required": false,
3164
+ "types": [
3165
+ {
3166
+ "type": "identifier",
3167
+ "named": true
3168
+ }
3169
+ ]
3170
+ }
3171
+ },
3172
+ "return_statement": {
3173
+ "type": "return_statement",
3174
+ "named": true,
3175
+ "fields": {},
3176
+ "children": {
3177
+ "multiple": false,
3178
+ "required": false,
3179
+ "types": [
3180
+ {
3181
+ "type": "comma_expression",
3182
+ "named": true
3183
+ },
3184
+ {
3185
+ "type": "expression",
3186
+ "named": true
3187
+ }
3188
+ ]
3189
+ }
3190
+ },
3191
+ "seh_except_clause": {
3192
+ "type": "seh_except_clause",
3193
+ "named": true,
3194
+ "fields": {
3195
+ "body": {
3196
+ "multiple": false,
3197
+ "required": true,
3198
+ "types": [
3199
+ {
3200
+ "type": "compound_statement",
3201
+ "named": true
3202
+ }
3203
+ ]
3204
+ },
3205
+ "filter": {
3206
+ "multiple": false,
3207
+ "required": true,
3208
+ "types": [
3209
+ {
3210
+ "type": "parenthesized_expression",
3211
+ "named": true
3212
+ }
3213
+ ]
3214
+ }
3215
+ }
3216
+ },
3217
+ "seh_finally_clause": {
3218
+ "type": "seh_finally_clause",
3219
+ "named": true,
3220
+ "fields": {
3221
+ "body": {
3222
+ "multiple": false,
3223
+ "required": true,
3224
+ "types": [
3225
+ {
3226
+ "type": "compound_statement",
3227
+ "named": true
3228
+ }
3229
+ ]
3230
+ }
3231
+ }
3232
+ },
3233
+ "seh_leave_statement": {
3234
+ "type": "seh_leave_statement",
3235
+ "named": true,
3236
+ "fields": {}
3237
+ },
3238
+ "seh_try_statement": {
3239
+ "type": "seh_try_statement",
3240
+ "named": true,
3241
+ "fields": {
3242
+ "body": {
3243
+ "multiple": false,
3244
+ "required": true,
3245
+ "types": [
3246
+ {
3247
+ "type": "compound_statement",
3248
+ "named": true
3249
+ }
3250
+ ]
3251
+ }
3252
+ },
3253
+ "children": {
3254
+ "multiple": false,
3255
+ "required": true,
3256
+ "types": [
3257
+ {
3258
+ "type": "seh_except_clause",
3259
+ "named": true
3260
+ },
3261
+ {
3262
+ "type": "seh_finally_clause",
3263
+ "named": true
3264
+ }
3265
+ ]
3266
+ }
3267
+ },
3268
+ "sized_type_specifier": {
3269
+ "type": "sized_type_specifier",
3270
+ "named": true,
3271
+ "fields": {
3272
+ "type": {
3273
+ "multiple": false,
3274
+ "required": false,
3275
+ "types": [
3276
+ {
3277
+ "type": "primitive_type",
3278
+ "named": true
3279
+ },
3280
+ {
3281
+ "type": "type_identifier",
3282
+ "named": true
3283
+ }
3284
+ ]
3285
+ }
3286
+ }
3287
+ },
3288
+ "sizeof_expression": {
3289
+ "type": "sizeof_expression",
3290
+ "named": true,
3291
+ "fields": {
3292
+ "type": {
3293
+ "multiple": false,
3294
+ "required": false,
3295
+ "types": [
3296
+ {
3297
+ "type": "type_descriptor",
3298
+ "named": true
3299
+ }
3300
+ ]
3301
+ },
3302
+ "value": {
3303
+ "multiple": false,
3304
+ "required": false,
3305
+ "types": [
3306
+ {
3307
+ "type": "expression",
3308
+ "named": true
3309
+ }
3310
+ ]
3311
+ }
3312
+ }
3313
+ },
3314
+ "storage_class_specifier": {
3315
+ "type": "storage_class_specifier",
3316
+ "named": true,
3317
+ "fields": {}
3318
+ },
3319
+ "string_literal": {
3320
+ "type": "string_literal",
3321
+ "named": true,
3322
+ "fields": {},
3323
+ "children": {
3324
+ "multiple": true,
3325
+ "required": false,
3326
+ "types": [
3327
+ {
3328
+ "type": "escape_sequence",
3329
+ "named": true
3330
+ },
3331
+ {
3332
+ "type": "string_content",
3333
+ "named": true
3334
+ }
3335
+ ]
3336
+ }
3337
+ },
3338
+ "struct_specifier": {
3339
+ "type": "struct_specifier",
3340
+ "named": true,
3341
+ "fields": {
3342
+ "body": {
3343
+ "multiple": false,
3344
+ "required": false,
3345
+ "types": [
3346
+ {
3347
+ "type": "field_declaration_list",
3348
+ "named": true
3349
+ }
3350
+ ]
3351
+ },
3352
+ "name": {
3353
+ "multiple": false,
3354
+ "required": false,
3355
+ "types": [
3356
+ {
3357
+ "type": "type_identifier",
3358
+ "named": true
3359
+ }
3360
+ ]
3361
+ }
3362
+ },
3363
+ "children": {
3364
+ "multiple": true,
3365
+ "required": false,
3366
+ "types": [
3367
+ {
3368
+ "type": "attribute_specifier",
3369
+ "named": true
3370
+ },
3371
+ {
3372
+ "type": "ms_declspec_modifier",
3373
+ "named": true
3374
+ }
3375
+ ]
3376
+ }
3377
+ },
3378
+ "subscript_designator": {
3379
+ "type": "subscript_designator",
3380
+ "named": true,
3381
+ "fields": {},
3382
+ "children": {
3383
+ "multiple": false,
3384
+ "required": true,
3385
+ "types": [
3386
+ {
3387
+ "type": "expression",
3388
+ "named": true
3389
+ }
3390
+ ]
3391
+ }
3392
+ },
3393
+ "subscript_expression": {
3394
+ "type": "subscript_expression",
3395
+ "named": true,
3396
+ "fields": {
3397
+ "argument": {
3398
+ "multiple": false,
3399
+ "required": true,
3400
+ "types": [
3401
+ {
3402
+ "type": "expression",
3403
+ "named": true
3404
+ }
3405
+ ]
3406
+ },
3407
+ "index": {
3408
+ "multiple": false,
3409
+ "required": true,
3410
+ "types": [
3411
+ {
3412
+ "type": "expression",
3413
+ "named": true
3414
+ }
3415
+ ]
3416
+ }
3417
+ }
3418
+ },
3419
+ "subscript_range_designator": {
3420
+ "type": "subscript_range_designator",
3421
+ "named": true,
3422
+ "fields": {
3423
+ "end": {
3424
+ "multiple": false,
3425
+ "required": true,
3426
+ "types": [
3427
+ {
3428
+ "type": "expression",
3429
+ "named": true
3430
+ }
3431
+ ]
3432
+ },
3433
+ "start": {
3434
+ "multiple": false,
3435
+ "required": true,
3436
+ "types": [
3437
+ {
3438
+ "type": "expression",
3439
+ "named": true
3440
+ }
3441
+ ]
3442
+ }
3443
+ }
3444
+ },
3445
+ "switch_statement": {
3446
+ "type": "switch_statement",
3447
+ "named": true,
3448
+ "fields": {
3449
+ "body": {
3450
+ "multiple": false,
3451
+ "required": true,
3452
+ "types": [
3453
+ {
3454
+ "type": "compound_statement",
3455
+ "named": true
3456
+ }
3457
+ ]
3458
+ },
3459
+ "condition": {
3460
+ "multiple": false,
3461
+ "required": true,
3462
+ "types": [
3463
+ {
3464
+ "type": "parenthesized_expression",
3465
+ "named": true
3466
+ }
3467
+ ]
3468
+ }
3469
+ }
3470
+ },
3471
+ "translation_unit": {
3472
+ "type": "translation_unit",
3473
+ "named": true,
3474
+ "fields": {},
3475
+ "children": {
3476
+ "multiple": true,
3477
+ "required": false,
3478
+ "types": [
3479
+ {
3480
+ "type": "attributed_statement",
3481
+ "named": true
3482
+ },
3483
+ {
3484
+ "type": "break_statement",
3485
+ "named": true
3486
+ },
3487
+ {
3488
+ "type": "case_statement",
3489
+ "named": true
3490
+ },
3491
+ {
3492
+ "type": "compound_statement",
3493
+ "named": true
3494
+ },
3495
+ {
3496
+ "type": "continue_statement",
3497
+ "named": true
3498
+ },
3499
+ {
3500
+ "type": "declaration",
3501
+ "named": true
3502
+ },
3503
+ {
3504
+ "type": "do_statement",
3505
+ "named": true
3506
+ },
3507
+ {
3508
+ "type": "expression_statement",
3509
+ "named": true
3510
+ },
3511
+ {
3512
+ "type": "for_statement",
3513
+ "named": true
3514
+ },
3515
+ {
3516
+ "type": "function_definition",
3517
+ "named": true
3518
+ },
3519
+ {
3520
+ "type": "goto_statement",
3521
+ "named": true
3522
+ },
3523
+ {
3524
+ "type": "if_statement",
3525
+ "named": true
3526
+ },
3527
+ {
3528
+ "type": "labeled_statement",
3529
+ "named": true
3530
+ },
3531
+ {
3532
+ "type": "linkage_specification",
3533
+ "named": true
3534
+ },
3535
+ {
3536
+ "type": "preproc_call",
3537
+ "named": true
3538
+ },
3539
+ {
3540
+ "type": "preproc_def",
3541
+ "named": true
3542
+ },
3543
+ {
3544
+ "type": "preproc_function_def",
3545
+ "named": true
3546
+ },
3547
+ {
3548
+ "type": "preproc_if",
3549
+ "named": true
3550
+ },
3551
+ {
3552
+ "type": "preproc_ifdef",
3553
+ "named": true
3554
+ },
3555
+ {
3556
+ "type": "preproc_include",
3557
+ "named": true
3558
+ },
3559
+ {
3560
+ "type": "return_statement",
3561
+ "named": true
3562
+ },
3563
+ {
3564
+ "type": "switch_statement",
3565
+ "named": true
3566
+ },
3567
+ {
3568
+ "type": "type_definition",
3569
+ "named": true
3570
+ },
3571
+ {
3572
+ "type": "type_specifier",
3573
+ "named": true
3574
+ },
3575
+ {
3576
+ "type": "while_statement",
3577
+ "named": true
3578
+ }
3579
+ ]
3580
+ }
3581
+ },
3582
+ "type_definition": {
3583
+ "type": "type_definition",
3584
+ "named": true,
3585
+ "fields": {
3586
+ "declarator": {
3587
+ "multiple": true,
3588
+ "required": true,
3589
+ "types": [
3590
+ {
3591
+ "type": "_type_declarator",
3592
+ "named": true
3593
+ }
3594
+ ]
3595
+ },
3596
+ "type": {
3597
+ "multiple": false,
3598
+ "required": true,
3599
+ "types": [
3600
+ {
3601
+ "type": "type_specifier",
3602
+ "named": true
3603
+ }
3604
+ ]
3605
+ }
3606
+ },
3607
+ "children": {
3608
+ "multiple": true,
3609
+ "required": false,
3610
+ "types": [
3611
+ {
3612
+ "type": "attribute_specifier",
3613
+ "named": true
3614
+ },
3615
+ {
3616
+ "type": "type_qualifier",
3617
+ "named": true
3618
+ }
3619
+ ]
3620
+ }
3621
+ },
3622
+ "type_descriptor": {
3623
+ "type": "type_descriptor",
3624
+ "named": true,
3625
+ "fields": {
3626
+ "declarator": {
3627
+ "multiple": false,
3628
+ "required": false,
3629
+ "types": [
3630
+ {
3631
+ "type": "_abstract_declarator",
3632
+ "named": true
3633
+ }
3634
+ ]
3635
+ },
3636
+ "type": {
3637
+ "multiple": false,
3638
+ "required": true,
3639
+ "types": [
3640
+ {
3641
+ "type": "type_specifier",
3642
+ "named": true
3643
+ }
3644
+ ]
3645
+ }
3646
+ },
3647
+ "children": {
3648
+ "multiple": true,
3649
+ "required": false,
3650
+ "types": [
3651
+ {
3652
+ "type": "type_qualifier",
3653
+ "named": true
3654
+ }
3655
+ ]
3656
+ }
3657
+ },
3658
+ "type_qualifier": {
3659
+ "type": "type_qualifier",
3660
+ "named": true,
3661
+ "fields": {},
3662
+ "children": {
3663
+ "multiple": false,
3664
+ "required": false,
3665
+ "types": [
3666
+ {
3667
+ "type": "alignas_qualifier",
3668
+ "named": true
3669
+ }
3670
+ ]
3671
+ }
3672
+ },
3673
+ "unary_expression": {
3674
+ "type": "unary_expression",
3675
+ "named": true,
3676
+ "fields": {
3677
+ "argument": {
3678
+ "multiple": false,
3679
+ "required": true,
3680
+ "types": [
3681
+ {
3682
+ "type": "expression",
3683
+ "named": true
3684
+ },
3685
+ {
3686
+ "type": "preproc_defined",
3687
+ "named": true
3688
+ }
3689
+ ]
3690
+ },
3691
+ "operator": {
3692
+ "multiple": false,
3693
+ "required": true,
3694
+ "types": []
3695
+ }
3696
+ }
3697
+ },
3698
+ "union_specifier": {
3699
+ "type": "union_specifier",
3700
+ "named": true,
3701
+ "fields": {
3702
+ "body": {
3703
+ "multiple": false,
3704
+ "required": false,
3705
+ "types": [
3706
+ {
3707
+ "type": "field_declaration_list",
3708
+ "named": true
3709
+ }
3710
+ ]
3711
+ },
3712
+ "name": {
3713
+ "multiple": false,
3714
+ "required": false,
3715
+ "types": [
3716
+ {
3717
+ "type": "type_identifier",
3718
+ "named": true
3719
+ }
3720
+ ]
3721
+ }
3722
+ },
3723
+ "children": {
3724
+ "multiple": true,
3725
+ "required": false,
3726
+ "types": [
3727
+ {
3728
+ "type": "attribute_specifier",
3729
+ "named": true
3730
+ },
3731
+ {
3732
+ "type": "ms_declspec_modifier",
3733
+ "named": true
3734
+ }
3735
+ ]
3736
+ }
3737
+ },
3738
+ "update_expression": {
3739
+ "type": "update_expression",
3740
+ "named": true,
3741
+ "fields": {
3742
+ "argument": {
3743
+ "multiple": false,
3744
+ "required": true,
3745
+ "types": [
3746
+ {
3747
+ "type": "expression",
3748
+ "named": true
3749
+ }
3750
+ ]
3751
+ },
3752
+ "operator": {
3753
+ "multiple": false,
3754
+ "required": true,
3755
+ "types": []
3756
+ }
3757
+ }
3758
+ },
3759
+ "variadic_parameter": {
3760
+ "type": "variadic_parameter",
3761
+ "named": true,
3762
+ "fields": {}
3763
+ },
3764
+ "while_statement": {
3765
+ "type": "while_statement",
3766
+ "named": true,
3767
+ "fields": {
3768
+ "body": {
3769
+ "multiple": false,
3770
+ "required": true,
3771
+ "types": [
3772
+ {
3773
+ "type": "statement",
3774
+ "named": true
3775
+ }
3776
+ ]
3777
+ },
3778
+ "condition": {
3779
+ "multiple": false,
3780
+ "required": true,
3781
+ "types": [
3782
+ {
3783
+ "type": "parenthesized_expression",
3784
+ "named": true
3785
+ }
3786
+ ]
3787
+ }
3788
+ }
3789
+ },
3790
+ "character": {
3791
+ "type": "character",
3792
+ "named": true
3793
+ },
3794
+ "comment": {
3795
+ "type": "comment",
3796
+ "named": true
3797
+ },
3798
+ "escape_sequence": {
3799
+ "type": "escape_sequence",
3800
+ "named": true
3801
+ },
3802
+ "false": {
3803
+ "type": "false",
3804
+ "named": true
3805
+ },
3806
+ "field_identifier": {
3807
+ "type": "field_identifier",
3808
+ "named": true
3809
+ },
3810
+ "identifier": {
3811
+ "type": "identifier",
3812
+ "named": true
3813
+ },
3814
+ "ms_restrict_modifier": {
3815
+ "type": "ms_restrict_modifier",
3816
+ "named": true
3817
+ },
3818
+ "ms_signed_ptr_modifier": {
3819
+ "type": "ms_signed_ptr_modifier",
3820
+ "named": true
3821
+ },
3822
+ "ms_unsigned_ptr_modifier": {
3823
+ "type": "ms_unsigned_ptr_modifier",
3824
+ "named": true
3825
+ },
3826
+ "number_literal": {
3827
+ "type": "number_literal",
3828
+ "named": true
3829
+ },
3830
+ "preproc_arg": {
3831
+ "type": "preproc_arg",
3832
+ "named": true
3833
+ },
3834
+ "preproc_directive": {
3835
+ "type": "preproc_directive",
3836
+ "named": true
3837
+ },
3838
+ "primitive_type": {
3839
+ "type": "primitive_type",
3840
+ "named": true
3841
+ },
3842
+ "statement_identifier": {
3843
+ "type": "statement_identifier",
3844
+ "named": true
3845
+ },
3846
+ "string_content": {
3847
+ "type": "string_content",
3848
+ "named": true
3849
+ },
3850
+ "system_lib_string": {
3851
+ "type": "system_lib_string",
3852
+ "named": true
3853
+ },
3854
+ "true": {
3855
+ "type": "true",
3856
+ "named": true
3857
+ },
3858
+ "type_identifier": {
3859
+ "type": "type_identifier",
3860
+ "named": true
3861
+ }
3862
+ };
3863
+ export default CTypes;