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