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