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