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