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