@ast-grep/lang-go 0.0.1

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.
@@ -0,0 +1,2969 @@
1
+ [
2
+ {
3
+ "type": "_expression",
4
+ "named": true,
5
+ "subtypes": [
6
+ {
7
+ "type": "binary_expression",
8
+ "named": true
9
+ },
10
+ {
11
+ "type": "call_expression",
12
+ "named": true
13
+ },
14
+ {
15
+ "type": "composite_literal",
16
+ "named": true
17
+ },
18
+ {
19
+ "type": "false",
20
+ "named": true
21
+ },
22
+ {
23
+ "type": "float_literal",
24
+ "named": true
25
+ },
26
+ {
27
+ "type": "func_literal",
28
+ "named": true
29
+ },
30
+ {
31
+ "type": "identifier",
32
+ "named": true
33
+ },
34
+ {
35
+ "type": "imaginary_literal",
36
+ "named": true
37
+ },
38
+ {
39
+ "type": "index_expression",
40
+ "named": true
41
+ },
42
+ {
43
+ "type": "int_literal",
44
+ "named": true
45
+ },
46
+ {
47
+ "type": "interpreted_string_literal",
48
+ "named": true
49
+ },
50
+ {
51
+ "type": "iota",
52
+ "named": true
53
+ },
54
+ {
55
+ "type": "nil",
56
+ "named": true
57
+ },
58
+ {
59
+ "type": "parenthesized_expression",
60
+ "named": true
61
+ },
62
+ {
63
+ "type": "raw_string_literal",
64
+ "named": true
65
+ },
66
+ {
67
+ "type": "rune_literal",
68
+ "named": true
69
+ },
70
+ {
71
+ "type": "selector_expression",
72
+ "named": true
73
+ },
74
+ {
75
+ "type": "slice_expression",
76
+ "named": true
77
+ },
78
+ {
79
+ "type": "true",
80
+ "named": true
81
+ },
82
+ {
83
+ "type": "type_assertion_expression",
84
+ "named": true
85
+ },
86
+ {
87
+ "type": "type_conversion_expression",
88
+ "named": true
89
+ },
90
+ {
91
+ "type": "type_instantiation_expression",
92
+ "named": true
93
+ },
94
+ {
95
+ "type": "unary_expression",
96
+ "named": true
97
+ }
98
+ ]
99
+ },
100
+ {
101
+ "type": "_simple_statement",
102
+ "named": true,
103
+ "subtypes": [
104
+ {
105
+ "type": "assignment_statement",
106
+ "named": true
107
+ },
108
+ {
109
+ "type": "dec_statement",
110
+ "named": true
111
+ },
112
+ {
113
+ "type": "expression_statement",
114
+ "named": true
115
+ },
116
+ {
117
+ "type": "inc_statement",
118
+ "named": true
119
+ },
120
+ {
121
+ "type": "send_statement",
122
+ "named": true
123
+ },
124
+ {
125
+ "type": "short_var_declaration",
126
+ "named": true
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "type": "_simple_type",
132
+ "named": true,
133
+ "subtypes": [
134
+ {
135
+ "type": "array_type",
136
+ "named": true
137
+ },
138
+ {
139
+ "type": "channel_type",
140
+ "named": true
141
+ },
142
+ {
143
+ "type": "function_type",
144
+ "named": true
145
+ },
146
+ {
147
+ "type": "generic_type",
148
+ "named": true
149
+ },
150
+ {
151
+ "type": "interface_type",
152
+ "named": true
153
+ },
154
+ {
155
+ "type": "map_type",
156
+ "named": true
157
+ },
158
+ {
159
+ "type": "negated_type",
160
+ "named": true
161
+ },
162
+ {
163
+ "type": "pointer_type",
164
+ "named": true
165
+ },
166
+ {
167
+ "type": "qualified_type",
168
+ "named": true
169
+ },
170
+ {
171
+ "type": "slice_type",
172
+ "named": true
173
+ },
174
+ {
175
+ "type": "struct_type",
176
+ "named": true
177
+ },
178
+ {
179
+ "type": "type_identifier",
180
+ "named": true
181
+ }
182
+ ]
183
+ },
184
+ {
185
+ "type": "_statement",
186
+ "named": true,
187
+ "subtypes": [
188
+ {
189
+ "type": "_simple_statement",
190
+ "named": true
191
+ },
192
+ {
193
+ "type": "block",
194
+ "named": true
195
+ },
196
+ {
197
+ "type": "break_statement",
198
+ "named": true
199
+ },
200
+ {
201
+ "type": "const_declaration",
202
+ "named": true
203
+ },
204
+ {
205
+ "type": "continue_statement",
206
+ "named": true
207
+ },
208
+ {
209
+ "type": "defer_statement",
210
+ "named": true
211
+ },
212
+ {
213
+ "type": "empty_statement",
214
+ "named": true
215
+ },
216
+ {
217
+ "type": "expression_switch_statement",
218
+ "named": true
219
+ },
220
+ {
221
+ "type": "fallthrough_statement",
222
+ "named": true
223
+ },
224
+ {
225
+ "type": "for_statement",
226
+ "named": true
227
+ },
228
+ {
229
+ "type": "go_statement",
230
+ "named": true
231
+ },
232
+ {
233
+ "type": "goto_statement",
234
+ "named": true
235
+ },
236
+ {
237
+ "type": "if_statement",
238
+ "named": true
239
+ },
240
+ {
241
+ "type": "labeled_statement",
242
+ "named": true
243
+ },
244
+ {
245
+ "type": "return_statement",
246
+ "named": true
247
+ },
248
+ {
249
+ "type": "select_statement",
250
+ "named": true
251
+ },
252
+ {
253
+ "type": "type_declaration",
254
+ "named": true
255
+ },
256
+ {
257
+ "type": "type_switch_statement",
258
+ "named": true
259
+ },
260
+ {
261
+ "type": "var_declaration",
262
+ "named": true
263
+ }
264
+ ]
265
+ },
266
+ {
267
+ "type": "_type",
268
+ "named": true,
269
+ "subtypes": [
270
+ {
271
+ "type": "_simple_type",
272
+ "named": true
273
+ },
274
+ {
275
+ "type": "parenthesized_type",
276
+ "named": true
277
+ }
278
+ ]
279
+ },
280
+ {
281
+ "type": "argument_list",
282
+ "named": true,
283
+ "fields": {},
284
+ "children": {
285
+ "multiple": true,
286
+ "required": false,
287
+ "types": [
288
+ {
289
+ "type": "_expression",
290
+ "named": true
291
+ },
292
+ {
293
+ "type": "_type",
294
+ "named": true
295
+ },
296
+ {
297
+ "type": "variadic_argument",
298
+ "named": true
299
+ }
300
+ ]
301
+ }
302
+ },
303
+ {
304
+ "type": "array_type",
305
+ "named": true,
306
+ "fields": {
307
+ "element": {
308
+ "multiple": false,
309
+ "required": true,
310
+ "types": [
311
+ {
312
+ "type": "_type",
313
+ "named": true
314
+ }
315
+ ]
316
+ },
317
+ "length": {
318
+ "multiple": false,
319
+ "required": true,
320
+ "types": [
321
+ {
322
+ "type": "_expression",
323
+ "named": true
324
+ }
325
+ ]
326
+ }
327
+ }
328
+ },
329
+ {
330
+ "type": "assignment_statement",
331
+ "named": true,
332
+ "fields": {
333
+ "left": {
334
+ "multiple": false,
335
+ "required": true,
336
+ "types": [
337
+ {
338
+ "type": "expression_list",
339
+ "named": true
340
+ }
341
+ ]
342
+ },
343
+ "operator": {
344
+ "multiple": false,
345
+ "required": true,
346
+ "types": [
347
+ {
348
+ "type": "%=",
349
+ "named": false
350
+ },
351
+ {
352
+ "type": "&=",
353
+ "named": false
354
+ },
355
+ {
356
+ "type": "&^=",
357
+ "named": false
358
+ },
359
+ {
360
+ "type": "*=",
361
+ "named": false
362
+ },
363
+ {
364
+ "type": "+=",
365
+ "named": false
366
+ },
367
+ {
368
+ "type": "-=",
369
+ "named": false
370
+ },
371
+ {
372
+ "type": "/=",
373
+ "named": false
374
+ },
375
+ {
376
+ "type": "<<=",
377
+ "named": false
378
+ },
379
+ {
380
+ "type": "=",
381
+ "named": false
382
+ },
383
+ {
384
+ "type": ">>=",
385
+ "named": false
386
+ },
387
+ {
388
+ "type": "^=",
389
+ "named": false
390
+ },
391
+ {
392
+ "type": "|=",
393
+ "named": false
394
+ }
395
+ ]
396
+ },
397
+ "right": {
398
+ "multiple": false,
399
+ "required": true,
400
+ "types": [
401
+ {
402
+ "type": "expression_list",
403
+ "named": true
404
+ }
405
+ ]
406
+ }
407
+ }
408
+ },
409
+ {
410
+ "type": "binary_expression",
411
+ "named": true,
412
+ "fields": {
413
+ "left": {
414
+ "multiple": false,
415
+ "required": true,
416
+ "types": [
417
+ {
418
+ "type": "_expression",
419
+ "named": true
420
+ }
421
+ ]
422
+ },
423
+ "operator": {
424
+ "multiple": false,
425
+ "required": true,
426
+ "types": [
427
+ {
428
+ "type": "!=",
429
+ "named": false
430
+ },
431
+ {
432
+ "type": "%",
433
+ "named": false
434
+ },
435
+ {
436
+ "type": "&",
437
+ "named": false
438
+ },
439
+ {
440
+ "type": "&&",
441
+ "named": false
442
+ },
443
+ {
444
+ "type": "&^",
445
+ "named": false
446
+ },
447
+ {
448
+ "type": "*",
449
+ "named": false
450
+ },
451
+ {
452
+ "type": "+",
453
+ "named": false
454
+ },
455
+ {
456
+ "type": "-",
457
+ "named": false
458
+ },
459
+ {
460
+ "type": "/",
461
+ "named": false
462
+ },
463
+ {
464
+ "type": "<",
465
+ "named": false
466
+ },
467
+ {
468
+ "type": "<<",
469
+ "named": false
470
+ },
471
+ {
472
+ "type": "<=",
473
+ "named": false
474
+ },
475
+ {
476
+ "type": "==",
477
+ "named": false
478
+ },
479
+ {
480
+ "type": ">",
481
+ "named": false
482
+ },
483
+ {
484
+ "type": ">=",
485
+ "named": false
486
+ },
487
+ {
488
+ "type": ">>",
489
+ "named": false
490
+ },
491
+ {
492
+ "type": "^",
493
+ "named": false
494
+ },
495
+ {
496
+ "type": "|",
497
+ "named": false
498
+ },
499
+ {
500
+ "type": "||",
501
+ "named": false
502
+ }
503
+ ]
504
+ },
505
+ "right": {
506
+ "multiple": false,
507
+ "required": true,
508
+ "types": [
509
+ {
510
+ "type": "_expression",
511
+ "named": true
512
+ }
513
+ ]
514
+ }
515
+ }
516
+ },
517
+ {
518
+ "type": "block",
519
+ "named": true,
520
+ "fields": {},
521
+ "children": {
522
+ "multiple": true,
523
+ "required": false,
524
+ "types": [
525
+ {
526
+ "type": "_statement",
527
+ "named": true
528
+ }
529
+ ]
530
+ }
531
+ },
532
+ {
533
+ "type": "break_statement",
534
+ "named": true,
535
+ "fields": {},
536
+ "children": {
537
+ "multiple": false,
538
+ "required": false,
539
+ "types": [
540
+ {
541
+ "type": "label_name",
542
+ "named": true
543
+ }
544
+ ]
545
+ }
546
+ },
547
+ {
548
+ "type": "call_expression",
549
+ "named": true,
550
+ "fields": {
551
+ "arguments": {
552
+ "multiple": false,
553
+ "required": true,
554
+ "types": [
555
+ {
556
+ "type": "argument_list",
557
+ "named": true
558
+ }
559
+ ]
560
+ },
561
+ "function": {
562
+ "multiple": false,
563
+ "required": true,
564
+ "types": [
565
+ {
566
+ "type": "_expression",
567
+ "named": true
568
+ }
569
+ ]
570
+ },
571
+ "type_arguments": {
572
+ "multiple": false,
573
+ "required": false,
574
+ "types": [
575
+ {
576
+ "type": "type_arguments",
577
+ "named": true
578
+ }
579
+ ]
580
+ }
581
+ }
582
+ },
583
+ {
584
+ "type": "channel_type",
585
+ "named": true,
586
+ "fields": {
587
+ "value": {
588
+ "multiple": false,
589
+ "required": true,
590
+ "types": [
591
+ {
592
+ "type": "_type",
593
+ "named": true
594
+ }
595
+ ]
596
+ }
597
+ }
598
+ },
599
+ {
600
+ "type": "communication_case",
601
+ "named": true,
602
+ "fields": {
603
+ "communication": {
604
+ "multiple": false,
605
+ "required": true,
606
+ "types": [
607
+ {
608
+ "type": "receive_statement",
609
+ "named": true
610
+ },
611
+ {
612
+ "type": "send_statement",
613
+ "named": true
614
+ }
615
+ ]
616
+ }
617
+ },
618
+ "children": {
619
+ "multiple": true,
620
+ "required": false,
621
+ "types": [
622
+ {
623
+ "type": "_statement",
624
+ "named": true
625
+ }
626
+ ]
627
+ }
628
+ },
629
+ {
630
+ "type": "composite_literal",
631
+ "named": true,
632
+ "fields": {
633
+ "body": {
634
+ "multiple": false,
635
+ "required": true,
636
+ "types": [
637
+ {
638
+ "type": "literal_value",
639
+ "named": true
640
+ }
641
+ ]
642
+ },
643
+ "type": {
644
+ "multiple": false,
645
+ "required": true,
646
+ "types": [
647
+ {
648
+ "type": "array_type",
649
+ "named": true
650
+ },
651
+ {
652
+ "type": "generic_type",
653
+ "named": true
654
+ },
655
+ {
656
+ "type": "implicit_length_array_type",
657
+ "named": true
658
+ },
659
+ {
660
+ "type": "map_type",
661
+ "named": true
662
+ },
663
+ {
664
+ "type": "qualified_type",
665
+ "named": true
666
+ },
667
+ {
668
+ "type": "slice_type",
669
+ "named": true
670
+ },
671
+ {
672
+ "type": "struct_type",
673
+ "named": true
674
+ },
675
+ {
676
+ "type": "type_identifier",
677
+ "named": true
678
+ }
679
+ ]
680
+ }
681
+ }
682
+ },
683
+ {
684
+ "type": "const_declaration",
685
+ "named": true,
686
+ "fields": {},
687
+ "children": {
688
+ "multiple": true,
689
+ "required": false,
690
+ "types": [
691
+ {
692
+ "type": "const_spec",
693
+ "named": true
694
+ }
695
+ ]
696
+ }
697
+ },
698
+ {
699
+ "type": "const_spec",
700
+ "named": true,
701
+ "fields": {
702
+ "name": {
703
+ "multiple": true,
704
+ "required": true,
705
+ "types": [
706
+ {
707
+ "type": ",",
708
+ "named": false
709
+ },
710
+ {
711
+ "type": "identifier",
712
+ "named": true
713
+ }
714
+ ]
715
+ },
716
+ "type": {
717
+ "multiple": false,
718
+ "required": false,
719
+ "types": [
720
+ {
721
+ "type": "_type",
722
+ "named": true
723
+ }
724
+ ]
725
+ },
726
+ "value": {
727
+ "multiple": false,
728
+ "required": false,
729
+ "types": [
730
+ {
731
+ "type": "expression_list",
732
+ "named": true
733
+ }
734
+ ]
735
+ }
736
+ }
737
+ },
738
+ {
739
+ "type": "continue_statement",
740
+ "named": true,
741
+ "fields": {},
742
+ "children": {
743
+ "multiple": false,
744
+ "required": false,
745
+ "types": [
746
+ {
747
+ "type": "label_name",
748
+ "named": true
749
+ }
750
+ ]
751
+ }
752
+ },
753
+ {
754
+ "type": "dec_statement",
755
+ "named": true,
756
+ "fields": {},
757
+ "children": {
758
+ "multiple": false,
759
+ "required": true,
760
+ "types": [
761
+ {
762
+ "type": "_expression",
763
+ "named": true
764
+ }
765
+ ]
766
+ }
767
+ },
768
+ {
769
+ "type": "default_case",
770
+ "named": true,
771
+ "fields": {},
772
+ "children": {
773
+ "multiple": true,
774
+ "required": false,
775
+ "types": [
776
+ {
777
+ "type": "_statement",
778
+ "named": true
779
+ }
780
+ ]
781
+ }
782
+ },
783
+ {
784
+ "type": "defer_statement",
785
+ "named": true,
786
+ "fields": {},
787
+ "children": {
788
+ "multiple": false,
789
+ "required": true,
790
+ "types": [
791
+ {
792
+ "type": "_expression",
793
+ "named": true
794
+ }
795
+ ]
796
+ }
797
+ },
798
+ {
799
+ "type": "dot",
800
+ "named": true,
801
+ "fields": {}
802
+ },
803
+ {
804
+ "type": "empty_statement",
805
+ "named": true,
806
+ "fields": {}
807
+ },
808
+ {
809
+ "type": "expression_case",
810
+ "named": true,
811
+ "fields": {
812
+ "value": {
813
+ "multiple": false,
814
+ "required": true,
815
+ "types": [
816
+ {
817
+ "type": "expression_list",
818
+ "named": true
819
+ }
820
+ ]
821
+ }
822
+ },
823
+ "children": {
824
+ "multiple": true,
825
+ "required": false,
826
+ "types": [
827
+ {
828
+ "type": "_statement",
829
+ "named": true
830
+ }
831
+ ]
832
+ }
833
+ },
834
+ {
835
+ "type": "expression_list",
836
+ "named": true,
837
+ "fields": {},
838
+ "children": {
839
+ "multiple": true,
840
+ "required": true,
841
+ "types": [
842
+ {
843
+ "type": "_expression",
844
+ "named": true
845
+ }
846
+ ]
847
+ }
848
+ },
849
+ {
850
+ "type": "expression_statement",
851
+ "named": true,
852
+ "fields": {},
853
+ "children": {
854
+ "multiple": false,
855
+ "required": true,
856
+ "types": [
857
+ {
858
+ "type": "_expression",
859
+ "named": true
860
+ }
861
+ ]
862
+ }
863
+ },
864
+ {
865
+ "type": "expression_switch_statement",
866
+ "named": true,
867
+ "fields": {
868
+ "initializer": {
869
+ "multiple": false,
870
+ "required": false,
871
+ "types": [
872
+ {
873
+ "type": "_simple_statement",
874
+ "named": true
875
+ }
876
+ ]
877
+ },
878
+ "value": {
879
+ "multiple": false,
880
+ "required": false,
881
+ "types": [
882
+ {
883
+ "type": "_expression",
884
+ "named": true
885
+ }
886
+ ]
887
+ }
888
+ },
889
+ "children": {
890
+ "multiple": true,
891
+ "required": false,
892
+ "types": [
893
+ {
894
+ "type": "default_case",
895
+ "named": true
896
+ },
897
+ {
898
+ "type": "expression_case",
899
+ "named": true
900
+ }
901
+ ]
902
+ }
903
+ },
904
+ {
905
+ "type": "fallthrough_statement",
906
+ "named": true,
907
+ "fields": {}
908
+ },
909
+ {
910
+ "type": "field_declaration",
911
+ "named": true,
912
+ "fields": {
913
+ "name": {
914
+ "multiple": true,
915
+ "required": false,
916
+ "types": [
917
+ {
918
+ "type": "field_identifier",
919
+ "named": true
920
+ }
921
+ ]
922
+ },
923
+ "tag": {
924
+ "multiple": false,
925
+ "required": false,
926
+ "types": [
927
+ {
928
+ "type": "interpreted_string_literal",
929
+ "named": true
930
+ },
931
+ {
932
+ "type": "raw_string_literal",
933
+ "named": true
934
+ }
935
+ ]
936
+ },
937
+ "type": {
938
+ "multiple": false,
939
+ "required": true,
940
+ "types": [
941
+ {
942
+ "type": "_type",
943
+ "named": true
944
+ },
945
+ {
946
+ "type": "generic_type",
947
+ "named": true
948
+ },
949
+ {
950
+ "type": "qualified_type",
951
+ "named": true
952
+ },
953
+ {
954
+ "type": "type_identifier",
955
+ "named": true
956
+ }
957
+ ]
958
+ }
959
+ }
960
+ },
961
+ {
962
+ "type": "field_declaration_list",
963
+ "named": true,
964
+ "fields": {},
965
+ "children": {
966
+ "multiple": true,
967
+ "required": false,
968
+ "types": [
969
+ {
970
+ "type": "field_declaration",
971
+ "named": true
972
+ }
973
+ ]
974
+ }
975
+ },
976
+ {
977
+ "type": "for_clause",
978
+ "named": true,
979
+ "fields": {
980
+ "condition": {
981
+ "multiple": false,
982
+ "required": false,
983
+ "types": [
984
+ {
985
+ "type": "_expression",
986
+ "named": true
987
+ }
988
+ ]
989
+ },
990
+ "initializer": {
991
+ "multiple": false,
992
+ "required": false,
993
+ "types": [
994
+ {
995
+ "type": "_simple_statement",
996
+ "named": true
997
+ }
998
+ ]
999
+ },
1000
+ "update": {
1001
+ "multiple": false,
1002
+ "required": false,
1003
+ "types": [
1004
+ {
1005
+ "type": "_simple_statement",
1006
+ "named": true
1007
+ }
1008
+ ]
1009
+ }
1010
+ }
1011
+ },
1012
+ {
1013
+ "type": "for_statement",
1014
+ "named": true,
1015
+ "fields": {
1016
+ "body": {
1017
+ "multiple": false,
1018
+ "required": true,
1019
+ "types": [
1020
+ {
1021
+ "type": "block",
1022
+ "named": true
1023
+ }
1024
+ ]
1025
+ }
1026
+ },
1027
+ "children": {
1028
+ "multiple": false,
1029
+ "required": false,
1030
+ "types": [
1031
+ {
1032
+ "type": "_expression",
1033
+ "named": true
1034
+ },
1035
+ {
1036
+ "type": "for_clause",
1037
+ "named": true
1038
+ },
1039
+ {
1040
+ "type": "range_clause",
1041
+ "named": true
1042
+ }
1043
+ ]
1044
+ }
1045
+ },
1046
+ {
1047
+ "type": "func_literal",
1048
+ "named": true,
1049
+ "fields": {
1050
+ "body": {
1051
+ "multiple": false,
1052
+ "required": true,
1053
+ "types": [
1054
+ {
1055
+ "type": "block",
1056
+ "named": true
1057
+ }
1058
+ ]
1059
+ },
1060
+ "parameters": {
1061
+ "multiple": false,
1062
+ "required": true,
1063
+ "types": [
1064
+ {
1065
+ "type": "parameter_list",
1066
+ "named": true
1067
+ }
1068
+ ]
1069
+ },
1070
+ "result": {
1071
+ "multiple": false,
1072
+ "required": false,
1073
+ "types": [
1074
+ {
1075
+ "type": "_simple_type",
1076
+ "named": true
1077
+ },
1078
+ {
1079
+ "type": "parameter_list",
1080
+ "named": true
1081
+ }
1082
+ ]
1083
+ }
1084
+ }
1085
+ },
1086
+ {
1087
+ "type": "function_declaration",
1088
+ "named": true,
1089
+ "fields": {
1090
+ "body": {
1091
+ "multiple": false,
1092
+ "required": false,
1093
+ "types": [
1094
+ {
1095
+ "type": "block",
1096
+ "named": true
1097
+ }
1098
+ ]
1099
+ },
1100
+ "name": {
1101
+ "multiple": false,
1102
+ "required": true,
1103
+ "types": [
1104
+ {
1105
+ "type": "identifier",
1106
+ "named": true
1107
+ }
1108
+ ]
1109
+ },
1110
+ "parameters": {
1111
+ "multiple": false,
1112
+ "required": true,
1113
+ "types": [
1114
+ {
1115
+ "type": "parameter_list",
1116
+ "named": true
1117
+ }
1118
+ ]
1119
+ },
1120
+ "result": {
1121
+ "multiple": false,
1122
+ "required": false,
1123
+ "types": [
1124
+ {
1125
+ "type": "_simple_type",
1126
+ "named": true
1127
+ },
1128
+ {
1129
+ "type": "parameter_list",
1130
+ "named": true
1131
+ }
1132
+ ]
1133
+ },
1134
+ "type_parameters": {
1135
+ "multiple": false,
1136
+ "required": false,
1137
+ "types": [
1138
+ {
1139
+ "type": "type_parameter_list",
1140
+ "named": true
1141
+ }
1142
+ ]
1143
+ }
1144
+ }
1145
+ },
1146
+ {
1147
+ "type": "function_type",
1148
+ "named": true,
1149
+ "fields": {
1150
+ "parameters": {
1151
+ "multiple": false,
1152
+ "required": true,
1153
+ "types": [
1154
+ {
1155
+ "type": "parameter_list",
1156
+ "named": true
1157
+ }
1158
+ ]
1159
+ },
1160
+ "result": {
1161
+ "multiple": false,
1162
+ "required": false,
1163
+ "types": [
1164
+ {
1165
+ "type": "_simple_type",
1166
+ "named": true
1167
+ },
1168
+ {
1169
+ "type": "parameter_list",
1170
+ "named": true
1171
+ }
1172
+ ]
1173
+ }
1174
+ }
1175
+ },
1176
+ {
1177
+ "type": "generic_type",
1178
+ "named": true,
1179
+ "fields": {
1180
+ "type": {
1181
+ "multiple": false,
1182
+ "required": true,
1183
+ "types": [
1184
+ {
1185
+ "type": "negated_type",
1186
+ "named": true
1187
+ },
1188
+ {
1189
+ "type": "qualified_type",
1190
+ "named": true
1191
+ },
1192
+ {
1193
+ "type": "type_identifier",
1194
+ "named": true
1195
+ }
1196
+ ]
1197
+ },
1198
+ "type_arguments": {
1199
+ "multiple": false,
1200
+ "required": true,
1201
+ "types": [
1202
+ {
1203
+ "type": "type_arguments",
1204
+ "named": true
1205
+ }
1206
+ ]
1207
+ }
1208
+ }
1209
+ },
1210
+ {
1211
+ "type": "go_statement",
1212
+ "named": true,
1213
+ "fields": {},
1214
+ "children": {
1215
+ "multiple": false,
1216
+ "required": true,
1217
+ "types": [
1218
+ {
1219
+ "type": "_expression",
1220
+ "named": true
1221
+ }
1222
+ ]
1223
+ }
1224
+ },
1225
+ {
1226
+ "type": "goto_statement",
1227
+ "named": true,
1228
+ "fields": {},
1229
+ "children": {
1230
+ "multiple": false,
1231
+ "required": true,
1232
+ "types": [
1233
+ {
1234
+ "type": "label_name",
1235
+ "named": true
1236
+ }
1237
+ ]
1238
+ }
1239
+ },
1240
+ {
1241
+ "type": "if_statement",
1242
+ "named": true,
1243
+ "fields": {
1244
+ "alternative": {
1245
+ "multiple": false,
1246
+ "required": false,
1247
+ "types": [
1248
+ {
1249
+ "type": "block",
1250
+ "named": true
1251
+ },
1252
+ {
1253
+ "type": "if_statement",
1254
+ "named": true
1255
+ }
1256
+ ]
1257
+ },
1258
+ "condition": {
1259
+ "multiple": false,
1260
+ "required": true,
1261
+ "types": [
1262
+ {
1263
+ "type": "_expression",
1264
+ "named": true
1265
+ }
1266
+ ]
1267
+ },
1268
+ "consequence": {
1269
+ "multiple": false,
1270
+ "required": true,
1271
+ "types": [
1272
+ {
1273
+ "type": "block",
1274
+ "named": true
1275
+ }
1276
+ ]
1277
+ },
1278
+ "initializer": {
1279
+ "multiple": false,
1280
+ "required": false,
1281
+ "types": [
1282
+ {
1283
+ "type": "_simple_statement",
1284
+ "named": true
1285
+ }
1286
+ ]
1287
+ }
1288
+ }
1289
+ },
1290
+ {
1291
+ "type": "implicit_length_array_type",
1292
+ "named": true,
1293
+ "fields": {
1294
+ "element": {
1295
+ "multiple": false,
1296
+ "required": true,
1297
+ "types": [
1298
+ {
1299
+ "type": "_type",
1300
+ "named": true
1301
+ }
1302
+ ]
1303
+ }
1304
+ }
1305
+ },
1306
+ {
1307
+ "type": "import_declaration",
1308
+ "named": true,
1309
+ "fields": {},
1310
+ "children": {
1311
+ "multiple": false,
1312
+ "required": true,
1313
+ "types": [
1314
+ {
1315
+ "type": "import_spec",
1316
+ "named": true
1317
+ },
1318
+ {
1319
+ "type": "import_spec_list",
1320
+ "named": true
1321
+ }
1322
+ ]
1323
+ }
1324
+ },
1325
+ {
1326
+ "type": "import_spec",
1327
+ "named": true,
1328
+ "fields": {
1329
+ "name": {
1330
+ "multiple": false,
1331
+ "required": false,
1332
+ "types": [
1333
+ {
1334
+ "type": "blank_identifier",
1335
+ "named": true
1336
+ },
1337
+ {
1338
+ "type": "dot",
1339
+ "named": true
1340
+ },
1341
+ {
1342
+ "type": "package_identifier",
1343
+ "named": true
1344
+ }
1345
+ ]
1346
+ },
1347
+ "path": {
1348
+ "multiple": false,
1349
+ "required": true,
1350
+ "types": [
1351
+ {
1352
+ "type": "interpreted_string_literal",
1353
+ "named": true
1354
+ },
1355
+ {
1356
+ "type": "raw_string_literal",
1357
+ "named": true
1358
+ }
1359
+ ]
1360
+ }
1361
+ }
1362
+ },
1363
+ {
1364
+ "type": "import_spec_list",
1365
+ "named": true,
1366
+ "fields": {},
1367
+ "children": {
1368
+ "multiple": true,
1369
+ "required": false,
1370
+ "types": [
1371
+ {
1372
+ "type": "import_spec",
1373
+ "named": true
1374
+ }
1375
+ ]
1376
+ }
1377
+ },
1378
+ {
1379
+ "type": "inc_statement",
1380
+ "named": true,
1381
+ "fields": {},
1382
+ "children": {
1383
+ "multiple": false,
1384
+ "required": true,
1385
+ "types": [
1386
+ {
1387
+ "type": "_expression",
1388
+ "named": true
1389
+ }
1390
+ ]
1391
+ }
1392
+ },
1393
+ {
1394
+ "type": "index_expression",
1395
+ "named": true,
1396
+ "fields": {
1397
+ "index": {
1398
+ "multiple": false,
1399
+ "required": true,
1400
+ "types": [
1401
+ {
1402
+ "type": "_expression",
1403
+ "named": true
1404
+ }
1405
+ ]
1406
+ },
1407
+ "operand": {
1408
+ "multiple": false,
1409
+ "required": true,
1410
+ "types": [
1411
+ {
1412
+ "type": "_expression",
1413
+ "named": true
1414
+ }
1415
+ ]
1416
+ }
1417
+ }
1418
+ },
1419
+ {
1420
+ "type": "interface_type",
1421
+ "named": true,
1422
+ "fields": {},
1423
+ "children": {
1424
+ "multiple": true,
1425
+ "required": false,
1426
+ "types": [
1427
+ {
1428
+ "type": "method_elem",
1429
+ "named": true
1430
+ },
1431
+ {
1432
+ "type": "type_elem",
1433
+ "named": true
1434
+ }
1435
+ ]
1436
+ }
1437
+ },
1438
+ {
1439
+ "type": "interpreted_string_literal",
1440
+ "named": true,
1441
+ "fields": {},
1442
+ "children": {
1443
+ "multiple": true,
1444
+ "required": false,
1445
+ "types": [
1446
+ {
1447
+ "type": "escape_sequence",
1448
+ "named": true
1449
+ },
1450
+ {
1451
+ "type": "interpreted_string_literal_content",
1452
+ "named": true
1453
+ }
1454
+ ]
1455
+ }
1456
+ },
1457
+ {
1458
+ "type": "keyed_element",
1459
+ "named": true,
1460
+ "fields": {
1461
+ "key": {
1462
+ "multiple": false,
1463
+ "required": true,
1464
+ "types": [
1465
+ {
1466
+ "type": "literal_element",
1467
+ "named": true
1468
+ }
1469
+ ]
1470
+ },
1471
+ "value": {
1472
+ "multiple": false,
1473
+ "required": true,
1474
+ "types": [
1475
+ {
1476
+ "type": "literal_element",
1477
+ "named": true
1478
+ }
1479
+ ]
1480
+ }
1481
+ }
1482
+ },
1483
+ {
1484
+ "type": "labeled_statement",
1485
+ "named": true,
1486
+ "fields": {
1487
+ "label": {
1488
+ "multiple": false,
1489
+ "required": true,
1490
+ "types": [
1491
+ {
1492
+ "type": "label_name",
1493
+ "named": true
1494
+ }
1495
+ ]
1496
+ }
1497
+ },
1498
+ "children": {
1499
+ "multiple": false,
1500
+ "required": false,
1501
+ "types": [
1502
+ {
1503
+ "type": "_statement",
1504
+ "named": true
1505
+ }
1506
+ ]
1507
+ }
1508
+ },
1509
+ {
1510
+ "type": "literal_element",
1511
+ "named": true,
1512
+ "fields": {},
1513
+ "children": {
1514
+ "multiple": false,
1515
+ "required": true,
1516
+ "types": [
1517
+ {
1518
+ "type": "_expression",
1519
+ "named": true
1520
+ },
1521
+ {
1522
+ "type": "literal_value",
1523
+ "named": true
1524
+ }
1525
+ ]
1526
+ }
1527
+ },
1528
+ {
1529
+ "type": "literal_value",
1530
+ "named": true,
1531
+ "fields": {},
1532
+ "children": {
1533
+ "multiple": true,
1534
+ "required": false,
1535
+ "types": [
1536
+ {
1537
+ "type": "keyed_element",
1538
+ "named": true
1539
+ },
1540
+ {
1541
+ "type": "literal_element",
1542
+ "named": true
1543
+ }
1544
+ ]
1545
+ }
1546
+ },
1547
+ {
1548
+ "type": "map_type",
1549
+ "named": true,
1550
+ "fields": {
1551
+ "key": {
1552
+ "multiple": false,
1553
+ "required": true,
1554
+ "types": [
1555
+ {
1556
+ "type": "_type",
1557
+ "named": true
1558
+ }
1559
+ ]
1560
+ },
1561
+ "value": {
1562
+ "multiple": false,
1563
+ "required": true,
1564
+ "types": [
1565
+ {
1566
+ "type": "_type",
1567
+ "named": true
1568
+ }
1569
+ ]
1570
+ }
1571
+ }
1572
+ },
1573
+ {
1574
+ "type": "method_declaration",
1575
+ "named": true,
1576
+ "fields": {
1577
+ "body": {
1578
+ "multiple": false,
1579
+ "required": false,
1580
+ "types": [
1581
+ {
1582
+ "type": "block",
1583
+ "named": true
1584
+ }
1585
+ ]
1586
+ },
1587
+ "name": {
1588
+ "multiple": false,
1589
+ "required": true,
1590
+ "types": [
1591
+ {
1592
+ "type": "field_identifier",
1593
+ "named": true
1594
+ }
1595
+ ]
1596
+ },
1597
+ "parameters": {
1598
+ "multiple": false,
1599
+ "required": true,
1600
+ "types": [
1601
+ {
1602
+ "type": "parameter_list",
1603
+ "named": true
1604
+ }
1605
+ ]
1606
+ },
1607
+ "receiver": {
1608
+ "multiple": false,
1609
+ "required": true,
1610
+ "types": [
1611
+ {
1612
+ "type": "parameter_list",
1613
+ "named": true
1614
+ }
1615
+ ]
1616
+ },
1617
+ "result": {
1618
+ "multiple": false,
1619
+ "required": false,
1620
+ "types": [
1621
+ {
1622
+ "type": "_simple_type",
1623
+ "named": true
1624
+ },
1625
+ {
1626
+ "type": "parameter_list",
1627
+ "named": true
1628
+ }
1629
+ ]
1630
+ }
1631
+ }
1632
+ },
1633
+ {
1634
+ "type": "method_elem",
1635
+ "named": true,
1636
+ "fields": {
1637
+ "name": {
1638
+ "multiple": false,
1639
+ "required": true,
1640
+ "types": [
1641
+ {
1642
+ "type": "field_identifier",
1643
+ "named": true
1644
+ }
1645
+ ]
1646
+ },
1647
+ "parameters": {
1648
+ "multiple": false,
1649
+ "required": true,
1650
+ "types": [
1651
+ {
1652
+ "type": "parameter_list",
1653
+ "named": true
1654
+ }
1655
+ ]
1656
+ },
1657
+ "result": {
1658
+ "multiple": false,
1659
+ "required": false,
1660
+ "types": [
1661
+ {
1662
+ "type": "_simple_type",
1663
+ "named": true
1664
+ },
1665
+ {
1666
+ "type": "parameter_list",
1667
+ "named": true
1668
+ }
1669
+ ]
1670
+ }
1671
+ }
1672
+ },
1673
+ {
1674
+ "type": "negated_type",
1675
+ "named": true,
1676
+ "fields": {},
1677
+ "children": {
1678
+ "multiple": false,
1679
+ "required": true,
1680
+ "types": [
1681
+ {
1682
+ "type": "_type",
1683
+ "named": true
1684
+ }
1685
+ ]
1686
+ }
1687
+ },
1688
+ {
1689
+ "type": "package_clause",
1690
+ "named": true,
1691
+ "fields": {},
1692
+ "children": {
1693
+ "multiple": false,
1694
+ "required": true,
1695
+ "types": [
1696
+ {
1697
+ "type": "package_identifier",
1698
+ "named": true
1699
+ }
1700
+ ]
1701
+ }
1702
+ },
1703
+ {
1704
+ "type": "parameter_declaration",
1705
+ "named": true,
1706
+ "fields": {
1707
+ "name": {
1708
+ "multiple": true,
1709
+ "required": false,
1710
+ "types": [
1711
+ {
1712
+ "type": "identifier",
1713
+ "named": true
1714
+ }
1715
+ ]
1716
+ },
1717
+ "type": {
1718
+ "multiple": false,
1719
+ "required": true,
1720
+ "types": [
1721
+ {
1722
+ "type": "_type",
1723
+ "named": true
1724
+ }
1725
+ ]
1726
+ }
1727
+ }
1728
+ },
1729
+ {
1730
+ "type": "parameter_list",
1731
+ "named": true,
1732
+ "fields": {},
1733
+ "children": {
1734
+ "multiple": true,
1735
+ "required": false,
1736
+ "types": [
1737
+ {
1738
+ "type": "parameter_declaration",
1739
+ "named": true
1740
+ },
1741
+ {
1742
+ "type": "variadic_parameter_declaration",
1743
+ "named": true
1744
+ }
1745
+ ]
1746
+ }
1747
+ },
1748
+ {
1749
+ "type": "parenthesized_expression",
1750
+ "named": true,
1751
+ "fields": {},
1752
+ "children": {
1753
+ "multiple": false,
1754
+ "required": true,
1755
+ "types": [
1756
+ {
1757
+ "type": "_expression",
1758
+ "named": true
1759
+ }
1760
+ ]
1761
+ }
1762
+ },
1763
+ {
1764
+ "type": "parenthesized_type",
1765
+ "named": true,
1766
+ "fields": {},
1767
+ "children": {
1768
+ "multiple": false,
1769
+ "required": true,
1770
+ "types": [
1771
+ {
1772
+ "type": "_type",
1773
+ "named": true
1774
+ }
1775
+ ]
1776
+ }
1777
+ },
1778
+ {
1779
+ "type": "pointer_type",
1780
+ "named": true,
1781
+ "fields": {},
1782
+ "children": {
1783
+ "multiple": false,
1784
+ "required": true,
1785
+ "types": [
1786
+ {
1787
+ "type": "_type",
1788
+ "named": true
1789
+ }
1790
+ ]
1791
+ }
1792
+ },
1793
+ {
1794
+ "type": "qualified_type",
1795
+ "named": true,
1796
+ "fields": {
1797
+ "name": {
1798
+ "multiple": false,
1799
+ "required": true,
1800
+ "types": [
1801
+ {
1802
+ "type": "type_identifier",
1803
+ "named": true
1804
+ }
1805
+ ]
1806
+ },
1807
+ "package": {
1808
+ "multiple": false,
1809
+ "required": true,
1810
+ "types": [
1811
+ {
1812
+ "type": "package_identifier",
1813
+ "named": true
1814
+ }
1815
+ ]
1816
+ }
1817
+ }
1818
+ },
1819
+ {
1820
+ "type": "range_clause",
1821
+ "named": true,
1822
+ "fields": {
1823
+ "left": {
1824
+ "multiple": false,
1825
+ "required": false,
1826
+ "types": [
1827
+ {
1828
+ "type": "expression_list",
1829
+ "named": true
1830
+ }
1831
+ ]
1832
+ },
1833
+ "right": {
1834
+ "multiple": false,
1835
+ "required": true,
1836
+ "types": [
1837
+ {
1838
+ "type": "_expression",
1839
+ "named": true
1840
+ }
1841
+ ]
1842
+ }
1843
+ }
1844
+ },
1845
+ {
1846
+ "type": "raw_string_literal",
1847
+ "named": true,
1848
+ "fields": {},
1849
+ "children": {
1850
+ "multiple": false,
1851
+ "required": true,
1852
+ "types": [
1853
+ {
1854
+ "type": "raw_string_literal_content",
1855
+ "named": true
1856
+ }
1857
+ ]
1858
+ }
1859
+ },
1860
+ {
1861
+ "type": "receive_statement",
1862
+ "named": true,
1863
+ "fields": {
1864
+ "left": {
1865
+ "multiple": false,
1866
+ "required": false,
1867
+ "types": [
1868
+ {
1869
+ "type": "expression_list",
1870
+ "named": true
1871
+ }
1872
+ ]
1873
+ },
1874
+ "right": {
1875
+ "multiple": false,
1876
+ "required": true,
1877
+ "types": [
1878
+ {
1879
+ "type": "_expression",
1880
+ "named": true
1881
+ }
1882
+ ]
1883
+ }
1884
+ }
1885
+ },
1886
+ {
1887
+ "type": "return_statement",
1888
+ "named": true,
1889
+ "fields": {},
1890
+ "children": {
1891
+ "multiple": false,
1892
+ "required": false,
1893
+ "types": [
1894
+ {
1895
+ "type": "expression_list",
1896
+ "named": true
1897
+ }
1898
+ ]
1899
+ }
1900
+ },
1901
+ {
1902
+ "type": "select_statement",
1903
+ "named": true,
1904
+ "fields": {},
1905
+ "children": {
1906
+ "multiple": true,
1907
+ "required": false,
1908
+ "types": [
1909
+ {
1910
+ "type": "communication_case",
1911
+ "named": true
1912
+ },
1913
+ {
1914
+ "type": "default_case",
1915
+ "named": true
1916
+ }
1917
+ ]
1918
+ }
1919
+ },
1920
+ {
1921
+ "type": "selector_expression",
1922
+ "named": true,
1923
+ "fields": {
1924
+ "field": {
1925
+ "multiple": false,
1926
+ "required": true,
1927
+ "types": [
1928
+ {
1929
+ "type": "field_identifier",
1930
+ "named": true
1931
+ }
1932
+ ]
1933
+ },
1934
+ "operand": {
1935
+ "multiple": false,
1936
+ "required": true,
1937
+ "types": [
1938
+ {
1939
+ "type": "_expression",
1940
+ "named": true
1941
+ }
1942
+ ]
1943
+ }
1944
+ }
1945
+ },
1946
+ {
1947
+ "type": "send_statement",
1948
+ "named": true,
1949
+ "fields": {
1950
+ "channel": {
1951
+ "multiple": false,
1952
+ "required": true,
1953
+ "types": [
1954
+ {
1955
+ "type": "_expression",
1956
+ "named": true
1957
+ }
1958
+ ]
1959
+ },
1960
+ "value": {
1961
+ "multiple": false,
1962
+ "required": true,
1963
+ "types": [
1964
+ {
1965
+ "type": "_expression",
1966
+ "named": true
1967
+ }
1968
+ ]
1969
+ }
1970
+ }
1971
+ },
1972
+ {
1973
+ "type": "short_var_declaration",
1974
+ "named": true,
1975
+ "fields": {
1976
+ "left": {
1977
+ "multiple": false,
1978
+ "required": true,
1979
+ "types": [
1980
+ {
1981
+ "type": "expression_list",
1982
+ "named": true
1983
+ }
1984
+ ]
1985
+ },
1986
+ "right": {
1987
+ "multiple": false,
1988
+ "required": true,
1989
+ "types": [
1990
+ {
1991
+ "type": "expression_list",
1992
+ "named": true
1993
+ }
1994
+ ]
1995
+ }
1996
+ }
1997
+ },
1998
+ {
1999
+ "type": "slice_expression",
2000
+ "named": true,
2001
+ "fields": {
2002
+ "capacity": {
2003
+ "multiple": false,
2004
+ "required": false,
2005
+ "types": [
2006
+ {
2007
+ "type": "_expression",
2008
+ "named": true
2009
+ }
2010
+ ]
2011
+ },
2012
+ "end": {
2013
+ "multiple": false,
2014
+ "required": false,
2015
+ "types": [
2016
+ {
2017
+ "type": "_expression",
2018
+ "named": true
2019
+ }
2020
+ ]
2021
+ },
2022
+ "operand": {
2023
+ "multiple": false,
2024
+ "required": true,
2025
+ "types": [
2026
+ {
2027
+ "type": "_expression",
2028
+ "named": true
2029
+ }
2030
+ ]
2031
+ },
2032
+ "start": {
2033
+ "multiple": false,
2034
+ "required": false,
2035
+ "types": [
2036
+ {
2037
+ "type": "_expression",
2038
+ "named": true
2039
+ }
2040
+ ]
2041
+ }
2042
+ }
2043
+ },
2044
+ {
2045
+ "type": "slice_type",
2046
+ "named": true,
2047
+ "fields": {
2048
+ "element": {
2049
+ "multiple": false,
2050
+ "required": true,
2051
+ "types": [
2052
+ {
2053
+ "type": "_type",
2054
+ "named": true
2055
+ }
2056
+ ]
2057
+ }
2058
+ }
2059
+ },
2060
+ {
2061
+ "type": "source_file",
2062
+ "named": true,
2063
+ "root": true,
2064
+ "fields": {},
2065
+ "children": {
2066
+ "multiple": true,
2067
+ "required": false,
2068
+ "types": [
2069
+ {
2070
+ "type": "_statement",
2071
+ "named": true
2072
+ },
2073
+ {
2074
+ "type": "function_declaration",
2075
+ "named": true
2076
+ },
2077
+ {
2078
+ "type": "import_declaration",
2079
+ "named": true
2080
+ },
2081
+ {
2082
+ "type": "method_declaration",
2083
+ "named": true
2084
+ },
2085
+ {
2086
+ "type": "package_clause",
2087
+ "named": true
2088
+ }
2089
+ ]
2090
+ }
2091
+ },
2092
+ {
2093
+ "type": "struct_type",
2094
+ "named": true,
2095
+ "fields": {},
2096
+ "children": {
2097
+ "multiple": false,
2098
+ "required": true,
2099
+ "types": [
2100
+ {
2101
+ "type": "field_declaration_list",
2102
+ "named": true
2103
+ }
2104
+ ]
2105
+ }
2106
+ },
2107
+ {
2108
+ "type": "type_alias",
2109
+ "named": true,
2110
+ "fields": {
2111
+ "name": {
2112
+ "multiple": false,
2113
+ "required": true,
2114
+ "types": [
2115
+ {
2116
+ "type": "type_identifier",
2117
+ "named": true
2118
+ }
2119
+ ]
2120
+ },
2121
+ "type": {
2122
+ "multiple": false,
2123
+ "required": true,
2124
+ "types": [
2125
+ {
2126
+ "type": "_type",
2127
+ "named": true
2128
+ }
2129
+ ]
2130
+ }
2131
+ }
2132
+ },
2133
+ {
2134
+ "type": "type_arguments",
2135
+ "named": true,
2136
+ "fields": {},
2137
+ "children": {
2138
+ "multiple": true,
2139
+ "required": true,
2140
+ "types": [
2141
+ {
2142
+ "type": "type_elem",
2143
+ "named": true
2144
+ }
2145
+ ]
2146
+ }
2147
+ },
2148
+ {
2149
+ "type": "type_assertion_expression",
2150
+ "named": true,
2151
+ "fields": {
2152
+ "operand": {
2153
+ "multiple": false,
2154
+ "required": true,
2155
+ "types": [
2156
+ {
2157
+ "type": "_expression",
2158
+ "named": true
2159
+ }
2160
+ ]
2161
+ },
2162
+ "type": {
2163
+ "multiple": false,
2164
+ "required": true,
2165
+ "types": [
2166
+ {
2167
+ "type": "_type",
2168
+ "named": true
2169
+ }
2170
+ ]
2171
+ }
2172
+ }
2173
+ },
2174
+ {
2175
+ "type": "type_case",
2176
+ "named": true,
2177
+ "fields": {
2178
+ "type": {
2179
+ "multiple": true,
2180
+ "required": true,
2181
+ "types": [
2182
+ {
2183
+ "type": ",",
2184
+ "named": false
2185
+ },
2186
+ {
2187
+ "type": "_type",
2188
+ "named": true
2189
+ }
2190
+ ]
2191
+ }
2192
+ },
2193
+ "children": {
2194
+ "multiple": true,
2195
+ "required": false,
2196
+ "types": [
2197
+ {
2198
+ "type": "_statement",
2199
+ "named": true
2200
+ }
2201
+ ]
2202
+ }
2203
+ },
2204
+ {
2205
+ "type": "type_constraint",
2206
+ "named": true,
2207
+ "fields": {},
2208
+ "children": {
2209
+ "multiple": true,
2210
+ "required": true,
2211
+ "types": [
2212
+ {
2213
+ "type": "_type",
2214
+ "named": true
2215
+ }
2216
+ ]
2217
+ }
2218
+ },
2219
+ {
2220
+ "type": "type_conversion_expression",
2221
+ "named": true,
2222
+ "fields": {
2223
+ "operand": {
2224
+ "multiple": false,
2225
+ "required": true,
2226
+ "types": [
2227
+ {
2228
+ "type": "_expression",
2229
+ "named": true
2230
+ }
2231
+ ]
2232
+ },
2233
+ "type": {
2234
+ "multiple": false,
2235
+ "required": true,
2236
+ "types": [
2237
+ {
2238
+ "type": "_type",
2239
+ "named": true
2240
+ }
2241
+ ]
2242
+ }
2243
+ }
2244
+ },
2245
+ {
2246
+ "type": "type_declaration",
2247
+ "named": true,
2248
+ "fields": {},
2249
+ "children": {
2250
+ "multiple": true,
2251
+ "required": false,
2252
+ "types": [
2253
+ {
2254
+ "type": "type_alias",
2255
+ "named": true
2256
+ },
2257
+ {
2258
+ "type": "type_spec",
2259
+ "named": true
2260
+ }
2261
+ ]
2262
+ }
2263
+ },
2264
+ {
2265
+ "type": "type_elem",
2266
+ "named": true,
2267
+ "fields": {},
2268
+ "children": {
2269
+ "multiple": true,
2270
+ "required": true,
2271
+ "types": [
2272
+ {
2273
+ "type": "_type",
2274
+ "named": true
2275
+ }
2276
+ ]
2277
+ }
2278
+ },
2279
+ {
2280
+ "type": "type_instantiation_expression",
2281
+ "named": true,
2282
+ "fields": {
2283
+ "type": {
2284
+ "multiple": false,
2285
+ "required": true,
2286
+ "types": [
2287
+ {
2288
+ "type": "_type",
2289
+ "named": true
2290
+ }
2291
+ ]
2292
+ }
2293
+ },
2294
+ "children": {
2295
+ "multiple": true,
2296
+ "required": true,
2297
+ "types": [
2298
+ {
2299
+ "type": "_type",
2300
+ "named": true
2301
+ }
2302
+ ]
2303
+ }
2304
+ },
2305
+ {
2306
+ "type": "type_parameter_declaration",
2307
+ "named": true,
2308
+ "fields": {
2309
+ "name": {
2310
+ "multiple": true,
2311
+ "required": true,
2312
+ "types": [
2313
+ {
2314
+ "type": "identifier",
2315
+ "named": true
2316
+ }
2317
+ ]
2318
+ },
2319
+ "type": {
2320
+ "multiple": false,
2321
+ "required": true,
2322
+ "types": [
2323
+ {
2324
+ "type": "type_constraint",
2325
+ "named": true
2326
+ }
2327
+ ]
2328
+ }
2329
+ }
2330
+ },
2331
+ {
2332
+ "type": "type_parameter_list",
2333
+ "named": true,
2334
+ "fields": {},
2335
+ "children": {
2336
+ "multiple": true,
2337
+ "required": true,
2338
+ "types": [
2339
+ {
2340
+ "type": "type_parameter_declaration",
2341
+ "named": true
2342
+ }
2343
+ ]
2344
+ }
2345
+ },
2346
+ {
2347
+ "type": "type_spec",
2348
+ "named": true,
2349
+ "fields": {
2350
+ "name": {
2351
+ "multiple": false,
2352
+ "required": true,
2353
+ "types": [
2354
+ {
2355
+ "type": "type_identifier",
2356
+ "named": true
2357
+ }
2358
+ ]
2359
+ },
2360
+ "type": {
2361
+ "multiple": false,
2362
+ "required": true,
2363
+ "types": [
2364
+ {
2365
+ "type": "_type",
2366
+ "named": true
2367
+ }
2368
+ ]
2369
+ },
2370
+ "type_parameters": {
2371
+ "multiple": false,
2372
+ "required": false,
2373
+ "types": [
2374
+ {
2375
+ "type": "type_parameter_list",
2376
+ "named": true
2377
+ }
2378
+ ]
2379
+ }
2380
+ }
2381
+ },
2382
+ {
2383
+ "type": "type_switch_statement",
2384
+ "named": true,
2385
+ "fields": {
2386
+ "alias": {
2387
+ "multiple": false,
2388
+ "required": false,
2389
+ "types": [
2390
+ {
2391
+ "type": "expression_list",
2392
+ "named": true
2393
+ }
2394
+ ]
2395
+ },
2396
+ "initializer": {
2397
+ "multiple": false,
2398
+ "required": false,
2399
+ "types": [
2400
+ {
2401
+ "type": "_simple_statement",
2402
+ "named": true
2403
+ }
2404
+ ]
2405
+ },
2406
+ "value": {
2407
+ "multiple": false,
2408
+ "required": true,
2409
+ "types": [
2410
+ {
2411
+ "type": "_expression",
2412
+ "named": true
2413
+ }
2414
+ ]
2415
+ }
2416
+ },
2417
+ "children": {
2418
+ "multiple": true,
2419
+ "required": false,
2420
+ "types": [
2421
+ {
2422
+ "type": "default_case",
2423
+ "named": true
2424
+ },
2425
+ {
2426
+ "type": "type_case",
2427
+ "named": true
2428
+ }
2429
+ ]
2430
+ }
2431
+ },
2432
+ {
2433
+ "type": "unary_expression",
2434
+ "named": true,
2435
+ "fields": {
2436
+ "operand": {
2437
+ "multiple": false,
2438
+ "required": true,
2439
+ "types": [
2440
+ {
2441
+ "type": "_expression",
2442
+ "named": true
2443
+ }
2444
+ ]
2445
+ },
2446
+ "operator": {
2447
+ "multiple": false,
2448
+ "required": true,
2449
+ "types": [
2450
+ {
2451
+ "type": "!",
2452
+ "named": false
2453
+ },
2454
+ {
2455
+ "type": "&",
2456
+ "named": false
2457
+ },
2458
+ {
2459
+ "type": "*",
2460
+ "named": false
2461
+ },
2462
+ {
2463
+ "type": "+",
2464
+ "named": false
2465
+ },
2466
+ {
2467
+ "type": "-",
2468
+ "named": false
2469
+ },
2470
+ {
2471
+ "type": "<-",
2472
+ "named": false
2473
+ },
2474
+ {
2475
+ "type": "^",
2476
+ "named": false
2477
+ }
2478
+ ]
2479
+ }
2480
+ }
2481
+ },
2482
+ {
2483
+ "type": "var_declaration",
2484
+ "named": true,
2485
+ "fields": {},
2486
+ "children": {
2487
+ "multiple": false,
2488
+ "required": true,
2489
+ "types": [
2490
+ {
2491
+ "type": "var_spec",
2492
+ "named": true
2493
+ },
2494
+ {
2495
+ "type": "var_spec_list",
2496
+ "named": true
2497
+ }
2498
+ ]
2499
+ }
2500
+ },
2501
+ {
2502
+ "type": "var_spec",
2503
+ "named": true,
2504
+ "fields": {
2505
+ "name": {
2506
+ "multiple": true,
2507
+ "required": true,
2508
+ "types": [
2509
+ {
2510
+ "type": "identifier",
2511
+ "named": true
2512
+ }
2513
+ ]
2514
+ },
2515
+ "type": {
2516
+ "multiple": false,
2517
+ "required": false,
2518
+ "types": [
2519
+ {
2520
+ "type": "_type",
2521
+ "named": true
2522
+ }
2523
+ ]
2524
+ },
2525
+ "value": {
2526
+ "multiple": false,
2527
+ "required": false,
2528
+ "types": [
2529
+ {
2530
+ "type": "expression_list",
2531
+ "named": true
2532
+ }
2533
+ ]
2534
+ }
2535
+ }
2536
+ },
2537
+ {
2538
+ "type": "var_spec_list",
2539
+ "named": true,
2540
+ "fields": {},
2541
+ "children": {
2542
+ "multiple": true,
2543
+ "required": false,
2544
+ "types": [
2545
+ {
2546
+ "type": "var_spec",
2547
+ "named": true
2548
+ }
2549
+ ]
2550
+ }
2551
+ },
2552
+ {
2553
+ "type": "variadic_argument",
2554
+ "named": true,
2555
+ "fields": {},
2556
+ "children": {
2557
+ "multiple": false,
2558
+ "required": true,
2559
+ "types": [
2560
+ {
2561
+ "type": "_expression",
2562
+ "named": true
2563
+ }
2564
+ ]
2565
+ }
2566
+ },
2567
+ {
2568
+ "type": "variadic_parameter_declaration",
2569
+ "named": true,
2570
+ "fields": {
2571
+ "name": {
2572
+ "multiple": false,
2573
+ "required": false,
2574
+ "types": [
2575
+ {
2576
+ "type": "identifier",
2577
+ "named": true
2578
+ }
2579
+ ]
2580
+ },
2581
+ "type": {
2582
+ "multiple": false,
2583
+ "required": true,
2584
+ "types": [
2585
+ {
2586
+ "type": "_type",
2587
+ "named": true
2588
+ }
2589
+ ]
2590
+ }
2591
+ }
2592
+ },
2593
+ {
2594
+ "type": "\u0000",
2595
+ "named": false
2596
+ },
2597
+ {
2598
+ "type": "!",
2599
+ "named": false
2600
+ },
2601
+ {
2602
+ "type": "!=",
2603
+ "named": false
2604
+ },
2605
+ {
2606
+ "type": "\"",
2607
+ "named": false
2608
+ },
2609
+ {
2610
+ "type": "%",
2611
+ "named": false
2612
+ },
2613
+ {
2614
+ "type": "%=",
2615
+ "named": false
2616
+ },
2617
+ {
2618
+ "type": "&",
2619
+ "named": false
2620
+ },
2621
+ {
2622
+ "type": "&&",
2623
+ "named": false
2624
+ },
2625
+ {
2626
+ "type": "&=",
2627
+ "named": false
2628
+ },
2629
+ {
2630
+ "type": "&^",
2631
+ "named": false
2632
+ },
2633
+ {
2634
+ "type": "&^=",
2635
+ "named": false
2636
+ },
2637
+ {
2638
+ "type": "(",
2639
+ "named": false
2640
+ },
2641
+ {
2642
+ "type": ")",
2643
+ "named": false
2644
+ },
2645
+ {
2646
+ "type": "*",
2647
+ "named": false
2648
+ },
2649
+ {
2650
+ "type": "*=",
2651
+ "named": false
2652
+ },
2653
+ {
2654
+ "type": "+",
2655
+ "named": false
2656
+ },
2657
+ {
2658
+ "type": "++",
2659
+ "named": false
2660
+ },
2661
+ {
2662
+ "type": "+=",
2663
+ "named": false
2664
+ },
2665
+ {
2666
+ "type": ",",
2667
+ "named": false
2668
+ },
2669
+ {
2670
+ "type": "-",
2671
+ "named": false
2672
+ },
2673
+ {
2674
+ "type": "--",
2675
+ "named": false
2676
+ },
2677
+ {
2678
+ "type": "-=",
2679
+ "named": false
2680
+ },
2681
+ {
2682
+ "type": ".",
2683
+ "named": false
2684
+ },
2685
+ {
2686
+ "type": "...",
2687
+ "named": false
2688
+ },
2689
+ {
2690
+ "type": "/",
2691
+ "named": false
2692
+ },
2693
+ {
2694
+ "type": "/=",
2695
+ "named": false
2696
+ },
2697
+ {
2698
+ "type": ":",
2699
+ "named": false
2700
+ },
2701
+ {
2702
+ "type": ":=",
2703
+ "named": false
2704
+ },
2705
+ {
2706
+ "type": ";",
2707
+ "named": false
2708
+ },
2709
+ {
2710
+ "type": "<",
2711
+ "named": false
2712
+ },
2713
+ {
2714
+ "type": "<-",
2715
+ "named": false
2716
+ },
2717
+ {
2718
+ "type": "<<",
2719
+ "named": false
2720
+ },
2721
+ {
2722
+ "type": "<<=",
2723
+ "named": false
2724
+ },
2725
+ {
2726
+ "type": "<=",
2727
+ "named": false
2728
+ },
2729
+ {
2730
+ "type": "=",
2731
+ "named": false
2732
+ },
2733
+ {
2734
+ "type": "==",
2735
+ "named": false
2736
+ },
2737
+ {
2738
+ "type": ">",
2739
+ "named": false
2740
+ },
2741
+ {
2742
+ "type": ">=",
2743
+ "named": false
2744
+ },
2745
+ {
2746
+ "type": ">>",
2747
+ "named": false
2748
+ },
2749
+ {
2750
+ "type": ">>=",
2751
+ "named": false
2752
+ },
2753
+ {
2754
+ "type": "[",
2755
+ "named": false
2756
+ },
2757
+ {
2758
+ "type": "]",
2759
+ "named": false
2760
+ },
2761
+ {
2762
+ "type": "^",
2763
+ "named": false
2764
+ },
2765
+ {
2766
+ "type": "^=",
2767
+ "named": false
2768
+ },
2769
+ {
2770
+ "type": "`",
2771
+ "named": false
2772
+ },
2773
+ {
2774
+ "type": "blank_identifier",
2775
+ "named": true
2776
+ },
2777
+ {
2778
+ "type": "break",
2779
+ "named": false
2780
+ },
2781
+ {
2782
+ "type": "case",
2783
+ "named": false
2784
+ },
2785
+ {
2786
+ "type": "chan",
2787
+ "named": false
2788
+ },
2789
+ {
2790
+ "type": "comment",
2791
+ "named": true
2792
+ },
2793
+ {
2794
+ "type": "const",
2795
+ "named": false
2796
+ },
2797
+ {
2798
+ "type": "continue",
2799
+ "named": false
2800
+ },
2801
+ {
2802
+ "type": "default",
2803
+ "named": false
2804
+ },
2805
+ {
2806
+ "type": "defer",
2807
+ "named": false
2808
+ },
2809
+ {
2810
+ "type": "else",
2811
+ "named": false
2812
+ },
2813
+ {
2814
+ "type": "escape_sequence",
2815
+ "named": true
2816
+ },
2817
+ {
2818
+ "type": "fallthrough",
2819
+ "named": false
2820
+ },
2821
+ {
2822
+ "type": "false",
2823
+ "named": true
2824
+ },
2825
+ {
2826
+ "type": "field_identifier",
2827
+ "named": true
2828
+ },
2829
+ {
2830
+ "type": "float_literal",
2831
+ "named": true
2832
+ },
2833
+ {
2834
+ "type": "for",
2835
+ "named": false
2836
+ },
2837
+ {
2838
+ "type": "func",
2839
+ "named": false
2840
+ },
2841
+ {
2842
+ "type": "go",
2843
+ "named": false
2844
+ },
2845
+ {
2846
+ "type": "goto",
2847
+ "named": false
2848
+ },
2849
+ {
2850
+ "type": "identifier",
2851
+ "named": true
2852
+ },
2853
+ {
2854
+ "type": "if",
2855
+ "named": false
2856
+ },
2857
+ {
2858
+ "type": "imaginary_literal",
2859
+ "named": true
2860
+ },
2861
+ {
2862
+ "type": "import",
2863
+ "named": false
2864
+ },
2865
+ {
2866
+ "type": "int_literal",
2867
+ "named": true
2868
+ },
2869
+ {
2870
+ "type": "interface",
2871
+ "named": false
2872
+ },
2873
+ {
2874
+ "type": "interpreted_string_literal_content",
2875
+ "named": true
2876
+ },
2877
+ {
2878
+ "type": "iota",
2879
+ "named": true
2880
+ },
2881
+ {
2882
+ "type": "label_name",
2883
+ "named": true
2884
+ },
2885
+ {
2886
+ "type": "map",
2887
+ "named": false
2888
+ },
2889
+ {
2890
+ "type": "nil",
2891
+ "named": true
2892
+ },
2893
+ {
2894
+ "type": "package",
2895
+ "named": false
2896
+ },
2897
+ {
2898
+ "type": "package_identifier",
2899
+ "named": true
2900
+ },
2901
+ {
2902
+ "type": "range",
2903
+ "named": false
2904
+ },
2905
+ {
2906
+ "type": "raw_string_literal_content",
2907
+ "named": true
2908
+ },
2909
+ {
2910
+ "type": "return",
2911
+ "named": false
2912
+ },
2913
+ {
2914
+ "type": "rune_literal",
2915
+ "named": true
2916
+ },
2917
+ {
2918
+ "type": "select",
2919
+ "named": false
2920
+ },
2921
+ {
2922
+ "type": "struct",
2923
+ "named": false
2924
+ },
2925
+ {
2926
+ "type": "switch",
2927
+ "named": false
2928
+ },
2929
+ {
2930
+ "type": "true",
2931
+ "named": true
2932
+ },
2933
+ {
2934
+ "type": "type",
2935
+ "named": false
2936
+ },
2937
+ {
2938
+ "type": "type_identifier",
2939
+ "named": true
2940
+ },
2941
+ {
2942
+ "type": "var",
2943
+ "named": false
2944
+ },
2945
+ {
2946
+ "type": "{",
2947
+ "named": false
2948
+ },
2949
+ {
2950
+ "type": "|",
2951
+ "named": false
2952
+ },
2953
+ {
2954
+ "type": "|=",
2955
+ "named": false
2956
+ },
2957
+ {
2958
+ "type": "||",
2959
+ "named": false
2960
+ },
2961
+ {
2962
+ "type": "}",
2963
+ "named": false
2964
+ },
2965
+ {
2966
+ "type": "~",
2967
+ "named": false
2968
+ }
2969
+ ]