rapydscript-ng 0.7.23 → 0.8.0

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