1[
   2  {
   3    "type": "_abstract_declarator",
   4    "named": true,
   5    "subtypes": [
   6      {
   7        "type": "abstract_array_declarator",
   8        "named": true
   9      },
  10      {
  11        "type": "abstract_function_declarator",
  12        "named": true
  13      },
  14      {
  15        "type": "abstract_parenthesized_declarator",
  16        "named": true
  17      },
  18      {
  19        "type": "abstract_pointer_declarator",
  20        "named": true
  21      },
  22      {
  23        "type": "abstract_reference_declarator",
  24        "named": true
  25      }
  26    ]
  27  },
  28  {
  29    "type": "_declarator",
  30    "named": true,
  31    "subtypes": [
  32      {
  33        "type": "array_declarator",
  34        "named": true
  35      },
  36      {
  37        "type": "attributed_declarator",
  38        "named": true
  39      },
  40      {
  41        "type": "destructor_name",
  42        "named": true
  43      },
  44      {
  45        "type": "function_declarator",
  46        "named": true
  47      },
  48      {
  49        "type": "identifier",
  50        "named": true
  51      },
  52      {
  53        "type": "operator_name",
  54        "named": true
  55      },
  56      {
  57        "type": "parenthesized_declarator",
  58        "named": true
  59      },
  60      {
  61        "type": "pointer_declarator",
  62        "named": true
  63      },
  64      {
  65        "type": "qualified_identifier",
  66        "named": true
  67      },
  68      {
  69        "type": "reference_declarator",
  70        "named": true
  71      },
  72      {
  73        "type": "structured_binding_declarator",
  74        "named": true
  75      },
  76      {
  77        "type": "template_function",
  78        "named": true
  79      }
  80    ]
  81  },
  82  {
  83    "type": "_field_declarator",
  84    "named": true,
  85    "subtypes": [
  86      {
  87        "type": "array_declarator",
  88        "named": true
  89      },
  90      {
  91        "type": "attributed_declarator",
  92        "named": true
  93      },
  94      {
  95        "type": "field_identifier",
  96        "named": true
  97      },
  98      {
  99        "type": "function_declarator",
 100        "named": true
 101      },
 102      {
 103        "type": "operator_name",
 104        "named": true
 105      },
 106      {
 107        "type": "parenthesized_declarator",
 108        "named": true
 109      },
 110      {
 111        "type": "pointer_declarator",
 112        "named": true
 113      },
 114      {
 115        "type": "reference_declarator",
 116        "named": true
 117      },
 118      {
 119        "type": "template_method",
 120        "named": true
 121      }
 122    ]
 123  },
 124  {
 125    "type": "_type_declarator",
 126    "named": true,
 127    "subtypes": [
 128      {
 129        "type": "array_declarator",
 130        "named": true
 131      },
 132      {
 133        "type": "attributed_declarator",
 134        "named": true
 135      },
 136      {
 137        "type": "function_declarator",
 138        "named": true
 139      },
 140      {
 141        "type": "parenthesized_declarator",
 142        "named": true
 143      },
 144      {
 145        "type": "pointer_declarator",
 146        "named": true
 147      },
 148      {
 149        "type": "primitive_type",
 150        "named": true
 151      },
 152      {
 153        "type": "reference_declarator",
 154        "named": true
 155      },
 156      {
 157        "type": "type_identifier",
 158        "named": true
 159      }
 160    ]
 161  },
 162  {
 163    "type": "expression",
 164    "named": true,
 165    "subtypes": [
 166      {
 167        "type": "alignof_expression",
 168        "named": true
 169      },
 170      {
 171        "type": "assignment_expression",
 172        "named": true
 173      },
 174      {
 175        "type": "binary_expression",
 176        "named": true
 177      },
 178      {
 179        "type": "call_expression",
 180        "named": true
 181      },
 182      {
 183        "type": "cast_expression",
 184        "named": true
 185      },
 186      {
 187        "type": "char_literal",
 188        "named": true
 189      },
 190      {
 191        "type": "co_await_expression",
 192        "named": true
 193      },
 194      {
 195        "type": "compound_literal_expression",
 196        "named": true
 197      },
 198      {
 199        "type": "concatenated_string",
 200        "named": true
 201      },
 202      {
 203        "type": "conditional_expression",
 204        "named": true
 205      },
 206      {
 207        "type": "delete_expression",
 208        "named": true
 209      },
 210      {
 211        "type": "false",
 212        "named": true
 213      },
 214      {
 215        "type": "field_expression",
 216        "named": true
 217      },
 218      {
 219        "type": "fold_expression",
 220        "named": true
 221      },
 222      {
 223        "type": "generic_expression",
 224        "named": true
 225      },
 226      {
 227        "type": "gnu_asm_expression",
 228        "named": true
 229      },
 230      {
 231        "type": "identifier",
 232        "named": true
 233      },
 234      {
 235        "type": "lambda_expression",
 236        "named": true
 237      },
 238      {
 239        "type": "new_expression",
 240        "named": true
 241      },
 242      {
 243        "type": "null",
 244        "named": true
 245      },
 246      {
 247        "type": "number_literal",
 248        "named": true
 249      },
 250      {
 251        "type": "offsetof_expression",
 252        "named": true
 253      },
 254      {
 255        "type": "parameter_pack_expansion",
 256        "named": true
 257      },
 258      {
 259        "type": "parenthesized_expression",
 260        "named": true
 261      },
 262      {
 263        "type": "pointer_expression",
 264        "named": true
 265      },
 266      {
 267        "type": "qualified_identifier",
 268        "named": true
 269      },
 270      {
 271        "type": "raw_string_literal",
 272        "named": true
 273      },
 274      {
 275        "type": "requires_clause",
 276        "named": true
 277      },
 278      {
 279        "type": "requires_expression",
 280        "named": true
 281      },
 282      {
 283        "type": "sizeof_expression",
 284        "named": true
 285      },
 286      {
 287        "type": "string_literal",
 288        "named": true
 289      },
 290      {
 291        "type": "subscript_expression",
 292        "named": true
 293      },
 294      {
 295        "type": "template_function",
 296        "named": true
 297      },
 298      {
 299        "type": "this",
 300        "named": true
 301      },
 302      {
 303        "type": "true",
 304        "named": true
 305      },
 306      {
 307        "type": "unary_expression",
 308        "named": true
 309      },
 310      {
 311        "type": "update_expression",
 312        "named": true
 313      },
 314      {
 315        "type": "user_defined_literal",
 316        "named": true
 317      }
 318    ]
 319  },
 320  {
 321    "type": "statement",
 322    "named": true,
 323    "subtypes": [
 324      {
 325        "type": "attributed_statement",
 326        "named": true
 327      },
 328      {
 329        "type": "break_statement",
 330        "named": true
 331      },
 332      {
 333        "type": "case_statement",
 334        "named": true
 335      },
 336      {
 337        "type": "co_return_statement",
 338        "named": true
 339      },
 340      {
 341        "type": "co_yield_statement",
 342        "named": true
 343      },
 344      {
 345        "type": "compound_statement",
 346        "named": true
 347      },
 348      {
 349        "type": "continue_statement",
 350        "named": true
 351      },
 352      {
 353        "type": "do_statement",
 354        "named": true
 355      },
 356      {
 357        "type": "expression_statement",
 358        "named": true
 359      },
 360      {
 361        "type": "for_range_loop",
 362        "named": true
 363      },
 364      {
 365        "type": "for_statement",
 366        "named": true
 367      },
 368      {
 369        "type": "goto_statement",
 370        "named": true
 371      },
 372      {
 373        "type": "if_statement",
 374        "named": true
 375      },
 376      {
 377        "type": "labeled_statement",
 378        "named": true
 379      },
 380      {
 381        "type": "return_statement",
 382        "named": true
 383      },
 384      {
 385        "type": "seh_leave_statement",
 386        "named": true
 387      },
 388      {
 389        "type": "seh_try_statement",
 390        "named": true
 391      },
 392      {
 393        "type": "switch_statement",
 394        "named": true
 395      },
 396      {
 397        "type": "throw_statement",
 398        "named": true
 399      },
 400      {
 401        "type": "try_statement",
 402        "named": true
 403      },
 404      {
 405        "type": "while_statement",
 406        "named": true
 407      }
 408    ]
 409  },
 410  {
 411    "type": "type_specifier",
 412    "named": true,
 413    "subtypes": [
 414      {
 415        "type": "class_specifier",
 416        "named": true
 417      },
 418      {
 419        "type": "decltype",
 420        "named": true
 421      },
 422      {
 423        "type": "dependent_type",
 424        "named": true
 425      },
 426      {
 427        "type": "enum_specifier",
 428        "named": true
 429      },
 430      {
 431        "type": "placeholder_type_specifier",
 432        "named": true
 433      },
 434      {
 435        "type": "primitive_type",
 436        "named": true
 437      },
 438      {
 439        "type": "qualified_identifier",
 440        "named": true
 441      },
 442      {
 443        "type": "sized_type_specifier",
 444        "named": true
 445      },
 446      {
 447        "type": "struct_specifier",
 448        "named": true
 449      },
 450      {
 451        "type": "template_type",
 452        "named": true
 453      },
 454      {
 455        "type": "type_identifier",
 456        "named": true
 457      },
 458      {
 459        "type": "union_specifier",
 460        "named": true
 461      }
 462    ]
 463  },
 464  {
 465    "type": "abstract_array_declarator",
 466    "named": true,
 467    "fields": {
 468      "declarator": {
 469        "multiple": false,
 470        "required": false,
 471        "types": [
 472          {
 473            "type": "_abstract_declarator",
 474            "named": true
 475          }
 476        ]
 477      },
 478      "size": {
 479        "multiple": false,
 480        "required": false,
 481        "types": [
 482          {
 483            "type": "*",
 484            "named": false
 485          },
 486          {
 487            "type": "expression",
 488            "named": true
 489          }
 490        ]
 491      }
 492    },
 493    "children": {
 494      "multiple": true,
 495      "required": false,
 496      "types": [
 497        {
 498          "type": "type_qualifier",
 499          "named": true
 500        }
 501      ]
 502    }
 503  },
 504  {
 505    "type": "abstract_function_declarator",
 506    "named": true,
 507    "fields": {
 508      "declarator": {
 509        "multiple": false,
 510        "required": false,
 511        "types": [
 512          {
 513            "type": "_abstract_declarator",
 514            "named": true
 515          }
 516        ]
 517      },
 518      "parameters": {
 519        "multiple": false,
 520        "required": true,
 521        "types": [
 522          {
 523            "type": "parameter_list",
 524            "named": true
 525          }
 526        ]
 527      }
 528    },
 529    "children": {
 530      "multiple": true,
 531      "required": false,
 532      "types": [
 533        {
 534          "type": "attribute_declaration",
 535          "named": true
 536        },
 537        {
 538          "type": "attribute_specifier",
 539          "named": true
 540        },
 541        {
 542          "type": "gnu_asm_expression",
 543          "named": true
 544        },
 545        {
 546          "type": "noexcept",
 547          "named": true
 548        },
 549        {
 550          "type": "ref_qualifier",
 551          "named": true
 552        },
 553        {
 554          "type": "requires_clause",
 555          "named": true
 556        },
 557        {
 558          "type": "throw_specifier",
 559          "named": true
 560        },
 561        {
 562          "type": "trailing_return_type",
 563          "named": true
 564        },
 565        {
 566          "type": "type_qualifier",
 567          "named": true
 568        },
 569        {
 570          "type": "virtual_specifier",
 571          "named": true
 572        }
 573      ]
 574    }
 575  },
 576  {
 577    "type": "abstract_parenthesized_declarator",
 578    "named": true,
 579    "fields": {},
 580    "children": {
 581      "multiple": true,
 582      "required": true,
 583      "types": [
 584        {
 585          "type": "_abstract_declarator",
 586          "named": true
 587        },
 588        {
 589          "type": "ms_call_modifier",
 590          "named": true
 591        }
 592      ]
 593    }
 594  },
 595  {
 596    "type": "abstract_pointer_declarator",
 597    "named": true,
 598    "fields": {
 599      "declarator": {
 600        "multiple": false,
 601        "required": false,
 602        "types": [
 603          {
 604            "type": "_abstract_declarator",
 605            "named": true
 606          }
 607        ]
 608      }
 609    },
 610    "children": {
 611      "multiple": true,
 612      "required": false,
 613      "types": [
 614        {
 615          "type": "ms_pointer_modifier",
 616          "named": true
 617        },
 618        {
 619          "type": "type_qualifier",
 620          "named": true
 621        }
 622      ]
 623    }
 624  },
 625  {
 626    "type": "abstract_reference_declarator",
 627    "named": true,
 628    "fields": {},
 629    "children": {
 630      "multiple": false,
 631      "required": false,
 632      "types": [
 633        {
 634          "type": "_abstract_declarator",
 635          "named": true
 636        }
 637      ]
 638    }
 639  },
 640  {
 641    "type": "access_specifier",
 642    "named": true,
 643    "fields": {}
 644  },
 645  {
 646    "type": "alias_declaration",
 647    "named": true,
 648    "fields": {
 649      "name": {
 650        "multiple": false,
 651        "required": true,
 652        "types": [
 653          {
 654            "type": "type_identifier",
 655            "named": true
 656          }
 657        ]
 658      },
 659      "type": {
 660        "multiple": false,
 661        "required": true,
 662        "types": [
 663          {
 664            "type": "type_descriptor",
 665            "named": true
 666          }
 667        ]
 668      }
 669    },
 670    "children": {
 671      "multiple": true,
 672      "required": false,
 673      "types": [
 674        {
 675          "type": "attribute_declaration",
 676          "named": true
 677        }
 678      ]
 679    }
 680  },
 681  {
 682    "type": "alignas_qualifier",
 683    "named": true,
 684    "fields": {},
 685    "children": {
 686      "multiple": false,
 687      "required": true,
 688      "types": [
 689        {
 690          "type": "expression",
 691          "named": true
 692        },
 693        {
 694          "type": "type_descriptor",
 695          "named": true
 696        }
 697      ]
 698    }
 699  },
 700  {
 701    "type": "alignof_expression",
 702    "named": true,
 703    "fields": {
 704      "type": {
 705        "multiple": false,
 706        "required": true,
 707        "types": [
 708          {
 709            "type": "type_descriptor",
 710            "named": true
 711          }
 712        ]
 713      }
 714    }
 715  },
 716  {
 717    "type": "argument_list",
 718    "named": true,
 719    "fields": {},
 720    "children": {
 721      "multiple": true,
 722      "required": false,
 723      "types": [
 724        {
 725          "type": "compound_statement",
 726          "named": true
 727        },
 728        {
 729          "type": "expression",
 730          "named": true
 731        },
 732        {
 733          "type": "initializer_list",
 734          "named": true
 735        },
 736        {
 737          "type": "preproc_defined",
 738          "named": true
 739        }
 740      ]
 741    }
 742  },
 743  {
 744    "type": "array_declarator",
 745    "named": true,
 746    "fields": {
 747      "declarator": {
 748        "multiple": false,
 749        "required": true,
 750        "types": [
 751          {
 752            "type": "_declarator",
 753            "named": true
 754          },
 755          {
 756            "type": "_field_declarator",
 757            "named": true
 758          },
 759          {
 760            "type": "_type_declarator",
 761            "named": true
 762          }
 763        ]
 764      },
 765      "size": {
 766        "multiple": false,
 767        "required": false,
 768        "types": [
 769          {
 770            "type": "*",
 771            "named": false
 772          },
 773          {
 774            "type": "expression",
 775            "named": true
 776          }
 777        ]
 778      }
 779    },
 780    "children": {
 781      "multiple": true,
 782      "required": false,
 783      "types": [
 784        {
 785          "type": "type_qualifier",
 786          "named": true
 787        }
 788      ]
 789    }
 790  },
 791  {
 792    "type": "assignment_expression",
 793    "named": true,
 794    "fields": {
 795      "left": {
 796        "multiple": false,
 797        "required": true,
 798        "types": [
 799          {
 800            "type": "expression",
 801            "named": true
 802          }
 803        ]
 804      },
 805      "operator": {
 806        "multiple": false,
 807        "required": true,
 808        "types": [
 809          {
 810            "type": "%=",
 811            "named": false
 812          },
 813          {
 814            "type": "&=",
 815            "named": false
 816          },
 817          {
 818            "type": "*=",
 819            "named": false
 820          },
 821          {
 822            "type": "+=",
 823            "named": false
 824          },
 825          {
 826            "type": "-=",
 827            "named": false
 828          },
 829          {
 830            "type": "/=",
 831            "named": false
 832          },
 833          {
 834            "type": "<<=",
 835            "named": false
 836          },
 837          {
 838            "type": "=",
 839            "named": false
 840          },
 841          {
 842            "type": ">>=",
 843            "named": false
 844          },
 845          {
 846            "type": "^=",
 847            "named": false
 848          },
 849          {
 850            "type": "and_eq",
 851            "named": false
 852          },
 853          {
 854            "type": "or_eq",
 855            "named": false
 856          },
 857          {
 858            "type": "xor_eq",
 859            "named": false
 860          },
 861          {
 862            "type": "|=",
 863            "named": false
 864          }
 865        ]
 866      },
 867      "right": {
 868        "multiple": false,
 869        "required": true,
 870        "types": [
 871          {
 872            "type": "expression",
 873            "named": true
 874          },
 875          {
 876            "type": "initializer_list",
 877            "named": true
 878          }
 879        ]
 880      }
 881    }
 882  },
 883  {
 884    "type": "attribute",
 885    "named": true,
 886    "fields": {
 887      "name": {
 888        "multiple": false,
 889        "required": true,
 890        "types": [
 891          {
 892            "type": "identifier",
 893            "named": true
 894          }
 895        ]
 896      },
 897      "prefix": {
 898        "multiple": false,
 899        "required": false,
 900        "types": [
 901          {
 902            "type": "identifier",
 903            "named": true
 904          }
 905        ]
 906      }
 907    },
 908    "children": {
 909      "multiple": false,
 910      "required": false,
 911      "types": [
 912        {
 913          "type": "argument_list",
 914          "named": true
 915        }
 916      ]
 917    }
 918  },
 919  {
 920    "type": "attribute_declaration",
 921    "named": true,
 922    "fields": {},
 923    "children": {
 924      "multiple": true,
 925      "required": true,
 926      "types": [
 927        {
 928          "type": "attribute",
 929          "named": true
 930        }
 931      ]
 932    }
 933  },
 934  {
 935    "type": "attribute_specifier",
 936    "named": true,
 937    "fields": {},
 938    "children": {
 939      "multiple": false,
 940      "required": true,
 941      "types": [
 942        {
 943          "type": "argument_list",
 944          "named": true
 945        }
 946      ]
 947    }
 948  },
 949  {
 950    "type": "attributed_declarator",
 951    "named": true,
 952    "fields": {},
 953    "children": {
 954      "multiple": true,
 955      "required": true,
 956      "types": [
 957        {
 958          "type": "_declarator",
 959          "named": true
 960        },
 961        {
 962          "type": "_field_declarator",
 963          "named": true
 964        },
 965        {
 966          "type": "_type_declarator",
 967          "named": true
 968        },
 969        {
 970          "type": "attribute_declaration",
 971          "named": true
 972        }
 973      ]
 974    }
 975  },
 976  {
 977    "type": "attributed_statement",
 978    "named": true,
 979    "fields": {},
 980    "children": {
 981      "multiple": true,
 982      "required": true,
 983      "types": [
 984        {
 985          "type": "attribute_declaration",
 986          "named": true
 987        },
 988        {
 989          "type": "statement",
 990          "named": true
 991        }
 992      ]
 993    }
 994  },
 995  {
 996    "type": "base_class_clause",
 997    "named": true,
 998    "fields": {},
 999    "children": {
1000      "multiple": true,
1001      "required": true,
1002      "types": [
1003        {
1004          "type": "access_specifier",
1005          "named": true
1006        },
1007        {
1008          "type": "attribute_declaration",
1009          "named": true
1010        },
1011        {
1012          "type": "qualified_identifier",
1013          "named": true
1014        },
1015        {
1016          "type": "template_type",
1017          "named": true
1018        },
1019        {
1020          "type": "type_identifier",
1021          "named": true
1022        },
1023        {
1024          "type": "virtual",
1025          "named": true
1026        }
1027      ]
1028    }
1029  },
1030  {
1031    "type": "binary_expression",
1032    "named": true,
1033    "fields": {
1034      "left": {
1035        "multiple": false,
1036        "required": true,
1037        "types": [
1038          {
1039            "type": "expression",
1040            "named": true
1041          },
1042          {
1043            "type": "preproc_defined",
1044            "named": true
1045          }
1046        ]
1047      },
1048      "operator": {
1049        "multiple": false,
1050        "required": true,
1051        "types": [
1052          {
1053            "type": "!=",
1054            "named": false
1055          },
1056          {
1057            "type": "%",
1058            "named": false
1059          },
1060          {
1061            "type": "&",
1062            "named": false
1063          },
1064          {
1065            "type": "&&",
1066            "named": false
1067          },
1068          {
1069            "type": "*",
1070            "named": false
1071          },
1072          {
1073            "type": "+",
1074            "named": false
1075          },
1076          {
1077            "type": "-",
1078            "named": false
1079          },
1080          {
1081            "type": "/",
1082            "named": false
1083          },
1084          {
1085            "type": "<",
1086            "named": false
1087          },
1088          {
1089            "type": "<<",
1090            "named": false
1091          },
1092          {
1093            "type": "<=",
1094            "named": false
1095          },
1096          {
1097            "type": "<=>",
1098            "named": false
1099          },
1100          {
1101            "type": "==",
1102            "named": false
1103          },
1104          {
1105            "type": ">",
1106            "named": false
1107          },
1108          {
1109            "type": ">=",
1110            "named": false
1111          },
1112          {
1113            "type": ">>",
1114            "named": false
1115          },
1116          {
1117            "type": "^",
1118            "named": false
1119          },
1120          {
1121            "type": "and",
1122            "named": false
1123          },
1124          {
1125            "type": "bitand",
1126            "named": false
1127          },
1128          {
1129            "type": "bitor",
1130            "named": false
1131          },
1132          {
1133            "type": "not_eq",
1134            "named": false
1135          },
1136          {
1137            "type": "or",
1138            "named": false
1139          },
1140          {
1141            "type": "xor",
1142            "named": false
1143          },
1144          {
1145            "type": "|",
1146            "named": false
1147          },
1148          {
1149            "type": "||",
1150            "named": false
1151          }
1152        ]
1153      },
1154      "right": {
1155        "multiple": false,
1156        "required": true,
1157        "types": [
1158          {
1159            "type": "expression",
1160            "named": true
1161          },
1162          {
1163            "type": "preproc_defined",
1164            "named": true
1165          }
1166        ]
1167      }
1168    }
1169  },
1170  {
1171    "type": "bitfield_clause",
1172    "named": true,
1173    "fields": {},
1174    "children": {
1175      "multiple": false,
1176      "required": true,
1177      "types": [
1178        {
1179          "type": "expression",
1180          "named": true
1181        }
1182      ]
1183    }
1184  },
1185  {
1186    "type": "break_statement",
1187    "named": true,
1188    "fields": {}
1189  },
1190  {
1191    "type": "call_expression",
1192    "named": true,
1193    "fields": {
1194      "arguments": {
1195        "multiple": false,
1196        "required": true,
1197        "types": [
1198          {
1199            "type": "argument_list",
1200            "named": true
1201          }
1202        ]
1203      },
1204      "function": {
1205        "multiple": false,
1206        "required": true,
1207        "types": [
1208          {
1209            "type": "expression",
1210            "named": true
1211          },
1212          {
1213            "type": "primitive_type",
1214            "named": true
1215          }
1216        ]
1217      }
1218    },
1219    "children": {
1220      "multiple": false,
1221      "required": false,
1222      "types": [
1223        {
1224          "type": "kernel_call_syntax",
1225          "named": true
1226        }
1227      ]
1228    }
1229  },
1230  {
1231    "type": "case_statement",
1232    "named": true,
1233    "fields": {
1234      "value": {
1235        "multiple": false,
1236        "required": false,
1237        "types": [
1238          {
1239            "type": "expression",
1240            "named": true
1241          }
1242        ]
1243      }
1244    },
1245    "children": {
1246      "multiple": true,
1247      "required": false,
1248      "types": [
1249        {
1250          "type": "attributed_statement",
1251          "named": true
1252        },
1253        {
1254          "type": "break_statement",
1255          "named": true
1256        },
1257        {
1258          "type": "co_return_statement",
1259          "named": true
1260        },
1261        {
1262          "type": "co_yield_statement",
1263          "named": true
1264        },
1265        {
1266          "type": "compound_statement",
1267          "named": true
1268        },
1269        {
1270          "type": "continue_statement",
1271          "named": true
1272        },
1273        {
1274          "type": "declaration",
1275          "named": true
1276        },
1277        {
1278          "type": "do_statement",
1279          "named": true
1280        },
1281        {
1282          "type": "expression_statement",
1283          "named": true
1284        },
1285        {
1286          "type": "for_range_loop",
1287          "named": true
1288        },
1289        {
1290          "type": "for_statement",
1291          "named": true
1292        },
1293        {
1294          "type": "goto_statement",
1295          "named": true
1296        },
1297        {
1298          "type": "if_statement",
1299          "named": true
1300        },
1301        {
1302          "type": "labeled_statement",
1303          "named": true
1304        },
1305        {
1306          "type": "return_statement",
1307          "named": true
1308        },
1309        {
1310          "type": "seh_leave_statement",
1311          "named": true
1312        },
1313        {
1314          "type": "seh_try_statement",
1315          "named": true
1316        },
1317        {
1318          "type": "switch_statement",
1319          "named": true
1320        },
1321        {
1322          "type": "throw_statement",
1323          "named": true
1324        },
1325        {
1326          "type": "try_statement",
1327          "named": true
1328        },
1329        {
1330          "type": "type_definition",
1331          "named": true
1332        },
1333        {
1334          "type": "while_statement",
1335          "named": true
1336        }
1337      ]
1338    }
1339  },
1340  {
1341    "type": "cast_expression",
1342    "named": true,
1343    "fields": {
1344      "type": {
1345        "multiple": false,
1346        "required": true,
1347        "types": [
1348          {
1349            "type": "type_descriptor",
1350            "named": true
1351          }
1352        ]
1353      },
1354      "value": {
1355        "multiple": false,
1356        "required": true,
1357        "types": [
1358          {
1359            "type": "expression",
1360            "named": true
1361          }
1362        ]
1363      }
1364    }
1365  },
1366  {
1367    "type": "catch_clause",
1368    "named": true,
1369    "fields": {
1370      "body": {
1371        "multiple": false,
1372        "required": true,
1373        "types": [
1374          {
1375            "type": "compound_statement",
1376            "named": true
1377          }
1378        ]
1379      },
1380      "parameters": {
1381        "multiple": false,
1382        "required": true,
1383        "types": [
1384          {
1385            "type": "parameter_list",
1386            "named": true
1387          }
1388        ]
1389      }
1390    }
1391  },
1392  {
1393    "type": "char_literal",
1394    "named": true,
1395    "fields": {},
1396    "children": {
1397      "multiple": true,
1398      "required": true,
1399      "types": [
1400        {
1401          "type": "character",
1402          "named": true
1403        },
1404        {
1405          "type": "escape_sequence",
1406          "named": true
1407        }
1408      ]
1409    }
1410  },
1411  {
1412    "type": "class_specifier",
1413    "named": true,
1414    "fields": {
1415      "body": {
1416        "multiple": false,
1417        "required": false,
1418        "types": [
1419          {
1420            "type": "field_declaration_list",
1421            "named": true
1422          }
1423        ]
1424      },
1425      "name": {
1426        "multiple": false,
1427        "required": false,
1428        "types": [
1429          {
1430            "type": "qualified_identifier",
1431            "named": true
1432          },
1433          {
1434            "type": "template_type",
1435            "named": true
1436          },
1437          {
1438            "type": "type_identifier",
1439            "named": true
1440          }
1441        ]
1442      }
1443    },
1444    "children": {
1445      "multiple": true,
1446      "required": false,
1447      "types": [
1448        {
1449          "type": "alignas_qualifier",
1450          "named": true
1451        },
1452        {
1453          "type": "attribute_declaration",
1454          "named": true
1455        },
1456        {
1457          "type": "attribute_specifier",
1458          "named": true
1459        },
1460        {
1461          "type": "base_class_clause",
1462          "named": true
1463        },
1464        {
1465          "type": "ms_declspec_modifier",
1466          "named": true
1467        },
1468        {
1469          "type": "virtual_specifier",
1470          "named": true
1471        }
1472      ]
1473    }
1474  },
1475  {
1476    "type": "co_await_expression",
1477    "named": true,
1478    "fields": {
1479      "argument": {
1480        "multiple": false,
1481        "required": true,
1482        "types": [
1483          {
1484            "type": "expression",
1485            "named": true
1486          }
1487        ]
1488      },
1489      "operator": {
1490        "multiple": false,
1491        "required": true,
1492        "types": [
1493          {
1494            "type": "co_await",
1495            "named": false
1496          }
1497        ]
1498      }
1499    }
1500  },
1501  {
1502    "type": "co_return_statement",
1503    "named": true,
1504    "fields": {},
1505    "children": {
1506      "multiple": false,
1507      "required": false,
1508      "types": [
1509        {
1510          "type": "expression",
1511          "named": true
1512        }
1513      ]
1514    }
1515  },
1516  {
1517    "type": "co_yield_statement",
1518    "named": true,
1519    "fields": {},
1520    "children": {
1521      "multiple": false,
1522      "required": true,
1523      "types": [
1524        {
1525          "type": "expression",
1526          "named": true
1527        }
1528      ]
1529    }
1530  },
1531  {
1532    "type": "comma_expression",
1533    "named": true,
1534    "fields": {
1535      "left": {
1536        "multiple": false,
1537        "required": true,
1538        "types": [
1539          {
1540            "type": "expression",
1541            "named": true
1542          }
1543        ]
1544      },
1545      "right": {
1546        "multiple": false,
1547        "required": true,
1548        "types": [
1549          {
1550            "type": "comma_expression",
1551            "named": true
1552          },
1553          {
1554            "type": "expression",
1555            "named": true
1556          }
1557        ]
1558      }
1559    }
1560  },
1561  {
1562    "type": "compound_literal_expression",
1563    "named": true,
1564    "fields": {
1565      "type": {
1566        "multiple": false,
1567        "required": true,
1568        "types": [
1569          {
1570            "type": "primitive_type",
1571            "named": true
1572          },
1573          {
1574            "type": "qualified_identifier",
1575            "named": true
1576          },
1577          {
1578            "type": "template_type",
1579            "named": true
1580          },
1581          {
1582            "type": "type_descriptor",
1583            "named": true
1584          },
1585          {
1586            "type": "type_identifier",
1587            "named": true
1588          }
1589        ]
1590      },
1591      "value": {
1592        "multiple": false,
1593        "required": true,
1594        "types": [
1595          {
1596            "type": "initializer_list",
1597            "named": true
1598          }
1599        ]
1600      }
1601    }
1602  },
1603  {
1604    "type": "compound_requirement",
1605    "named": true,
1606    "fields": {},
1607    "children": {
1608      "multiple": true,
1609      "required": true,
1610      "types": [
1611        {
1612          "type": "expression",
1613          "named": true
1614        },
1615        {
1616          "type": "trailing_return_type",
1617          "named": true
1618        }
1619      ]
1620    }
1621  },
1622  {
1623    "type": "compound_statement",
1624    "named": true,
1625    "fields": {},
1626    "children": {
1627      "multiple": true,
1628      "required": false,
1629      "types": [
1630        {
1631          "type": "alias_declaration",
1632          "named": true
1633        },
1634        {
1635          "type": "concept_definition",
1636          "named": true
1637        },
1638        {
1639          "type": "declaration",
1640          "named": true
1641        },
1642        {
1643          "type": "function_definition",
1644          "named": true
1645        },
1646        {
1647          "type": "linkage_specification",
1648          "named": true
1649        },
1650        {
1651          "type": "namespace_alias_definition",
1652          "named": true
1653        },
1654        {
1655          "type": "namespace_definition",
1656          "named": true
1657        },
1658        {
1659          "type": "preproc_call",
1660          "named": true
1661        },
1662        {
1663          "type": "preproc_def",
1664          "named": true
1665        },
1666        {
1667          "type": "preproc_function_def",
1668          "named": true
1669        },
1670        {
1671          "type": "preproc_if",
1672          "named": true
1673        },
1674        {
1675          "type": "preproc_ifdef",
1676          "named": true
1677        },
1678        {
1679          "type": "preproc_include",
1680          "named": true
1681        },
1682        {
1683          "type": "statement",
1684          "named": true
1685        },
1686        {
1687          "type": "static_assert_declaration",
1688          "named": true
1689        },
1690        {
1691          "type": "template_declaration",
1692          "named": true
1693        },
1694        {
1695          "type": "template_instantiation",
1696          "named": true
1697        },
1698        {
1699          "type": "type_definition",
1700          "named": true
1701        },
1702        {
1703          "type": "type_specifier",
1704          "named": true
1705        },
1706        {
1707          "type": "using_declaration",
1708          "named": true
1709        }
1710      ]
1711    }
1712  },
1713  {
1714    "type": "concatenated_string",
1715    "named": true,
1716    "fields": {},
1717    "children": {
1718      "multiple": true,
1719      "required": true,
1720      "types": [
1721        {
1722          "type": "identifier",
1723          "named": true
1724        },
1725        {
1726          "type": "raw_string_literal",
1727          "named": true
1728        },
1729        {
1730          "type": "string_literal",
1731          "named": true
1732        }
1733      ]
1734    }
1735  },
1736  {
1737    "type": "concept_definition",
1738    "named": true,
1739    "fields": {
1740      "name": {
1741        "multiple": false,
1742        "required": true,
1743        "types": [
1744          {
1745            "type": "identifier",
1746            "named": true
1747          }
1748        ]
1749      }
1750    },
1751    "children": {
1752      "multiple": false,
1753      "required": true,
1754      "types": [
1755        {
1756          "type": "expression",
1757          "named": true
1758        }
1759      ]
1760    }
1761  },
1762  {
1763    "type": "condition_clause",
1764    "named": true,
1765    "fields": {
1766      "initializer": {
1767        "multiple": false,
1768        "required": false,
1769        "types": [
1770          {
1771            "type": "init_statement",
1772            "named": true
1773          }
1774        ]
1775      },
1776      "value": {
1777        "multiple": false,
1778        "required": true,
1779        "types": [
1780          {
1781            "type": "comma_expression",
1782            "named": true
1783          },
1784          {
1785            "type": "declaration",
1786            "named": true
1787          },
1788          {
1789            "type": "expression",
1790            "named": true
1791          }
1792        ]
1793      }
1794    }
1795  },
1796  {
1797    "type": "conditional_expression",
1798    "named": true,
1799    "fields": {
1800      "alternative": {
1801        "multiple": false,
1802        "required": true,
1803        "types": [
1804          {
1805            "type": "expression",
1806            "named": true
1807          }
1808        ]
1809      },
1810      "condition": {
1811        "multiple": false,
1812        "required": true,
1813        "types": [
1814          {
1815            "type": "expression",
1816            "named": true
1817          }
1818        ]
1819      },
1820      "consequence": {
1821        "multiple": false,
1822        "required": false,
1823        "types": [
1824          {
1825            "type": "comma_expression",
1826            "named": true
1827          },
1828          {
1829            "type": "expression",
1830            "named": true
1831          }
1832        ]
1833      }
1834    }
1835  },
1836  {
1837    "type": "constraint_conjunction",
1838    "named": true,
1839    "fields": {
1840      "left": {
1841        "multiple": true,
1842        "required": true,
1843        "types": [
1844          {
1845            "type": "(",
1846            "named": false
1847          },
1848          {
1849            "type": ")",
1850            "named": false
1851          },
1852          {
1853            "type": "constraint_conjunction",
1854            "named": true
1855          },
1856          {
1857            "type": "constraint_disjunction",
1858            "named": true
1859          },
1860          {
1861            "type": "expression",
1862            "named": true
1863          },
1864          {
1865            "type": "template_type",
1866            "named": true
1867          },
1868          {
1869            "type": "type_identifier",
1870            "named": true
1871          }
1872        ]
1873      },
1874      "operator": {
1875        "multiple": false,
1876        "required": true,
1877        "types": [
1878          {
1879            "type": "&&",
1880            "named": false
1881          },
1882          {
1883            "type": "and",
1884            "named": false
1885          }
1886        ]
1887      },
1888      "right": {
1889        "multiple": true,
1890        "required": true,
1891        "types": [
1892          {
1893            "type": "(",
1894            "named": false
1895          },
1896          {
1897            "type": ")",
1898            "named": false
1899          },
1900          {
1901            "type": "constraint_conjunction",
1902            "named": true
1903          },
1904          {
1905            "type": "constraint_disjunction",
1906            "named": true
1907          },
1908          {
1909            "type": "expression",
1910            "named": true
1911          },
1912          {
1913            "type": "template_type",
1914            "named": true
1915          },
1916          {
1917            "type": "type_identifier",
1918            "named": true
1919          }
1920        ]
1921      }
1922    }
1923  },
1924  {
1925    "type": "constraint_disjunction",
1926    "named": true,
1927    "fields": {
1928      "left": {
1929        "multiple": true,
1930        "required": true,
1931        "types": [
1932          {
1933            "type": "(",
1934            "named": false
1935          },
1936          {
1937            "type": ")",
1938            "named": false
1939          },
1940          {
1941            "type": "constraint_conjunction",
1942            "named": true
1943          },
1944          {
1945            "type": "constraint_disjunction",
1946            "named": true
1947          },
1948          {
1949            "type": "expression",
1950            "named": true
1951          },
1952          {
1953            "type": "template_type",
1954            "named": true
1955          },
1956          {
1957            "type": "type_identifier",
1958            "named": true
1959          }
1960        ]
1961      },
1962      "operator": {
1963        "multiple": false,
1964        "required": true,
1965        "types": [
1966          {
1967            "type": "or",
1968            "named": false
1969          },
1970          {
1971            "type": "||",
1972            "named": false
1973          }
1974        ]
1975      },
1976      "right": {
1977        "multiple": true,
1978        "required": true,
1979        "types": [
1980          {
1981            "type": "(",
1982            "named": false
1983          },
1984          {
1985            "type": ")",
1986            "named": false
1987          },
1988          {
1989            "type": "constraint_conjunction",
1990            "named": true
1991          },
1992          {
1993            "type": "constraint_disjunction",
1994            "named": true
1995          },
1996          {
1997            "type": "expression",
1998            "named": true
1999          },
2000          {
2001            "type": "template_type",
2002            "named": true
2003          },
2004          {
2005            "type": "type_identifier",
2006            "named": true
2007          }
2008        ]
2009      }
2010    }
2011  },
2012  {
2013    "type": "continue_statement",
2014    "named": true,
2015    "fields": {}
2016  },
2017  {
2018    "type": "declaration",
2019    "named": true,
2020    "fields": {
2021      "declarator": {
2022        "multiple": true,
2023        "required": true,
2024        "types": [
2025          {
2026            "type": "_declarator",
2027            "named": true
2028          },
2029          {
2030            "type": "gnu_asm_expression",
2031            "named": true
2032          },
2033          {
2034            "type": "init_declarator",
2035            "named": true
2036          },
2037          {
2038            "type": "operator_cast",
2039            "named": true
2040          }
2041        ]
2042      },
2043      "default_value": {
2044        "multiple": false,
2045        "required": false,
2046        "types": [
2047          {
2048            "type": "expression",
2049            "named": true
2050          }
2051        ]
2052      },
2053      "type": {
2054        "multiple": false,
2055        "required": false,
2056        "types": [
2057          {
2058            "type": "type_specifier",
2059            "named": true
2060          }
2061        ]
2062      },
2063      "value": {
2064        "multiple": false,
2065        "required": false,
2066        "types": [
2067          {
2068            "type": "expression",
2069            "named": true
2070          },
2071          {
2072            "type": "initializer_list",
2073            "named": true
2074          }
2075        ]
2076      }
2077    },
2078    "children": {
2079      "multiple": true,
2080      "required": false,
2081      "types": [
2082        {
2083          "type": "attribute_declaration",
2084          "named": true
2085        },
2086        {
2087          "type": "attribute_specifier",
2088          "named": true
2089        },
2090        {
2091          "type": "explicit_function_specifier",
2092          "named": true
2093        },
2094        {
2095          "type": "launch_bounds",
2096          "named": true
2097        },
2098        {
2099          "type": "ms_declspec_modifier",
2100          "named": true
2101        },
2102        {
2103          "type": "storage_class_specifier",
2104          "named": true
2105        },
2106        {
2107          "type": "type_qualifier",
2108          "named": true
2109        },
2110        {
2111          "type": "virtual",
2112          "named": true
2113        }
2114      ]
2115    }
2116  },
2117  {
2118    "type": "declaration_list",
2119    "named": true,
2120    "fields": {},
2121    "children": {
2122      "multiple": true,
2123      "required": false,
2124      "types": [
2125        {
2126          "type": "alias_declaration",
2127          "named": true
2128        },
2129        {
2130          "type": "concept_definition",
2131          "named": true
2132        },
2133        {
2134          "type": "declaration",
2135          "named": true
2136        },
2137        {
2138          "type": "function_definition",
2139          "named": true
2140        },
2141        {
2142          "type": "linkage_specification",
2143          "named": true
2144        },
2145        {
2146          "type": "namespace_alias_definition",
2147          "named": true
2148        },
2149        {
2150          "type": "namespace_definition",
2151          "named": true
2152        },
2153        {
2154          "type": "preproc_call",
2155          "named": true
2156        },
2157        {
2158          "type": "preproc_def",
2159          "named": true
2160        },
2161        {
2162          "type": "preproc_function_def",
2163          "named": true
2164        },
2165        {
2166          "type": "preproc_if",
2167          "named": true
2168        },
2169        {
2170          "type": "preproc_ifdef",
2171          "named": true
2172        },
2173        {
2174          "type": "preproc_include",
2175          "named": true
2176        },
2177        {
2178          "type": "statement",
2179          "named": true
2180        },
2181        {
2182          "type": "static_assert_declaration",
2183          "named": true
2184        },
2185        {
2186          "type": "template_declaration",
2187          "named": true
2188        },
2189        {
2190          "type": "template_instantiation",
2191          "named": true
2192        },
2193        {
2194          "type": "type_definition",
2195          "named": true
2196        },
2197        {
2198          "type": "type_specifier",
2199          "named": true
2200        },
2201        {
2202          "type": "using_declaration",
2203          "named": true
2204        }
2205      ]
2206    }
2207  },
2208  {
2209    "type": "decltype",
2210    "named": true,
2211    "fields": {},
2212    "children": {
2213      "multiple": false,
2214      "required": true,
2215      "types": [
2216        {
2217          "type": "auto",
2218          "named": true
2219        },
2220        {
2221          "type": "expression",
2222          "named": true
2223        }
2224      ]
2225    }
2226  },
2227  {
2228    "type": "default_method_clause",
2229    "named": true,
2230    "fields": {}
2231  },
2232  {
2233    "type": "delete_expression",
2234    "named": true,
2235    "fields": {},
2236    "children": {
2237      "multiple": false,
2238      "required": true,
2239      "types": [
2240        {
2241          "type": "expression",
2242          "named": true
2243        }
2244      ]
2245    }
2246  },
2247  {
2248    "type": "delete_method_clause",
2249    "named": true,
2250    "fields": {}
2251  },
2252  {
2253    "type": "dependent_name",
2254    "named": true,
2255    "fields": {},
2256    "children": {
2257      "multiple": false,
2258      "required": true,
2259      "types": [
2260        {
2261          "type": "template_function",
2262          "named": true
2263        },
2264        {
2265          "type": "template_method",
2266          "named": true
2267        },
2268        {
2269          "type": "template_type",
2270          "named": true
2271        }
2272      ]
2273    }
2274  },
2275  {
2276    "type": "dependent_type",
2277    "named": true,
2278    "fields": {},
2279    "children": {
2280      "multiple": false,
2281      "required": true,
2282      "types": [
2283        {
2284          "type": "type_specifier",
2285          "named": true
2286        }
2287      ]
2288    }
2289  },
2290  {
2291    "type": "destructor_name",
2292    "named": true,
2293    "fields": {},
2294    "children": {
2295      "multiple": false,
2296      "required": true,
2297      "types": [
2298        {
2299          "type": "identifier",
2300          "named": true
2301        }
2302      ]
2303    }
2304  },
2305  {
2306    "type": "do_statement",
2307    "named": true,
2308    "fields": {
2309      "body": {
2310        "multiple": false,
2311        "required": true,
2312        "types": [
2313          {
2314            "type": "statement",
2315            "named": true
2316          }
2317        ]
2318      },
2319      "condition": {
2320        "multiple": false,
2321        "required": true,
2322        "types": [
2323          {
2324            "type": "parenthesized_expression",
2325            "named": true
2326          }
2327        ]
2328      }
2329    }
2330  },
2331  {
2332    "type": "else_clause",
2333    "named": true,
2334    "fields": {},
2335    "children": {
2336      "multiple": false,
2337      "required": true,
2338      "types": [
2339        {
2340          "type": "statement",
2341          "named": true
2342        }
2343      ]
2344    }
2345  },
2346  {
2347    "type": "enum_specifier",
2348    "named": true,
2349    "fields": {
2350      "base": {
2351        "multiple": false,
2352        "required": false,
2353        "types": [
2354          {
2355            "type": "primitive_type",
2356            "named": true
2357          },
2358          {
2359            "type": "qualified_identifier",
2360            "named": true
2361          },
2362          {
2363            "type": "sized_type_specifier",
2364            "named": true
2365          },
2366          {
2367            "type": "type_identifier",
2368            "named": true
2369          }
2370        ]
2371      },
2372      "body": {
2373        "multiple": false,
2374        "required": false,
2375        "types": [
2376          {
2377            "type": "enumerator_list",
2378            "named": true
2379          }
2380        ]
2381      },
2382      "name": {
2383        "multiple": false,
2384        "required": false,
2385        "types": [
2386          {
2387            "type": "qualified_identifier",
2388            "named": true
2389          },
2390          {
2391            "type": "template_type",
2392            "named": true
2393          },
2394          {
2395            "type": "type_identifier",
2396            "named": true
2397          }
2398        ]
2399      }
2400    },
2401    "children": {
2402      "multiple": false,
2403      "required": false,
2404      "types": [
2405        {
2406          "type": "attribute_specifier",
2407          "named": true
2408        }
2409      ]
2410    }
2411  },
2412  {
2413    "type": "enumerator",
2414    "named": true,
2415    "fields": {
2416      "name": {
2417        "multiple": false,
2418        "required": true,
2419        "types": [
2420          {
2421            "type": "identifier",
2422            "named": true
2423          }
2424        ]
2425      },
2426      "value": {
2427        "multiple": false,
2428        "required": false,
2429        "types": [
2430          {
2431            "type": "expression",
2432            "named": true
2433          }
2434        ]
2435      }
2436    }
2437  },
2438  {
2439    "type": "enumerator_list",
2440    "named": true,
2441    "fields": {},
2442    "children": {
2443      "multiple": true,
2444      "required": false,
2445      "types": [
2446        {
2447          "type": "enumerator",
2448          "named": true
2449        },
2450        {
2451          "type": "preproc_call",
2452          "named": true
2453        },
2454        {
2455          "type": "preproc_if",
2456          "named": true
2457        },
2458        {
2459          "type": "preproc_ifdef",
2460          "named": true
2461        }
2462      ]
2463    }
2464  },
2465  {
2466    "type": "explicit_function_specifier",
2467    "named": true,
2468    "fields": {},
2469    "children": {
2470      "multiple": false,
2471      "required": false,
2472      "types": [
2473        {
2474          "type": "expression",
2475          "named": true
2476        }
2477      ]
2478    }
2479  },
2480  {
2481    "type": "expression_statement",
2482    "named": true,
2483    "fields": {},
2484    "children": {
2485      "multiple": false,
2486      "required": false,
2487      "types": [
2488        {
2489          "type": "comma_expression",
2490          "named": true
2491        },
2492        {
2493          "type": "expression",
2494          "named": true
2495        }
2496      ]
2497    }
2498  },
2499  {
2500    "type": "field_declaration",
2501    "named": true,
2502    "fields": {
2503      "declarator": {
2504        "multiple": true,
2505        "required": false,
2506        "types": [
2507          {
2508            "type": "_field_declarator",
2509            "named": true
2510          }
2511        ]
2512      },
2513      "default_value": {
2514        "multiple": true,
2515        "required": false,
2516        "types": [
2517          {
2518            "type": "expression",
2519            "named": true
2520          },
2521          {
2522            "type": "initializer_list",
2523            "named": true
2524          }
2525        ]
2526      },
2527      "type": {
2528        "multiple": false,
2529        "required": true,
2530        "types": [
2531          {
2532            "type": "type_specifier",
2533            "named": true
2534          }
2535        ]
2536      }
2537    },
2538    "children": {
2539      "multiple": true,
2540      "required": false,
2541      "types": [
2542        {
2543          "type": "attribute_declaration",
2544          "named": true
2545        },
2546        {
2547          "type": "attribute_specifier",
2548          "named": true
2549        },
2550        {
2551          "type": "bitfield_clause",
2552          "named": true
2553        },
2554        {
2555          "type": "launch_bounds",
2556          "named": true
2557        },
2558        {
2559          "type": "ms_declspec_modifier",
2560          "named": true
2561        },
2562        {
2563          "type": "storage_class_specifier",
2564          "named": true
2565        },
2566        {
2567          "type": "type_qualifier",
2568          "named": true
2569        },
2570        {
2571          "type": "virtual",
2572          "named": true
2573        }
2574      ]
2575    }
2576  },
2577  {
2578    "type": "field_declaration_list",
2579    "named": true,
2580    "fields": {},
2581    "children": {
2582      "multiple": true,
2583      "required": false,
2584      "types": [
2585        {
2586          "type": "access_specifier",
2587          "named": true
2588        },
2589        {
2590          "type": "alias_declaration",
2591          "named": true
2592        },
2593        {
2594          "type": "declaration",
2595          "named": true
2596        },
2597        {
2598          "type": "field_declaration",
2599          "named": true
2600        },
2601        {
2602          "type": "friend_declaration",
2603          "named": true
2604        },
2605        {
2606          "type": "function_definition",
2607          "named": true
2608        },
2609        {
2610          "type": "preproc_call",
2611          "named": true
2612        },
2613        {
2614          "type": "preproc_def",
2615          "named": true
2616        },
2617        {
2618          "type": "preproc_function_def",
2619          "named": true
2620        },
2621        {
2622          "type": "preproc_if",
2623          "named": true
2624        },
2625        {
2626          "type": "preproc_ifdef",
2627          "named": true
2628        },
2629        {
2630          "type": "static_assert_declaration",
2631          "named": true
2632        },
2633        {
2634          "type": "template_declaration",
2635          "named": true
2636        },
2637        {
2638          "type": "type_definition",
2639          "named": true
2640        },
2641        {
2642          "type": "using_declaration",
2643          "named": true
2644        }
2645      ]
2646    }
2647  },
2648  {
2649    "type": "field_designator",
2650    "named": true,
2651    "fields": {},
2652    "children": {
2653      "multiple": false,
2654      "required": true,
2655      "types": [
2656        {
2657          "type": "field_identifier",
2658          "named": true
2659        }
2660      ]
2661    }
2662  },
2663  {
2664    "type": "field_expression",
2665    "named": true,
2666    "fields": {
2667      "argument": {
2668        "multiple": false,
2669        "required": true,
2670        "types": [
2671          {
2672            "type": "expression",
2673            "named": true
2674          }
2675        ]
2676      },
2677      "field": {
2678        "multiple": false,
2679        "required": true,
2680        "types": [
2681          {
2682            "type": "dependent_name",
2683            "named": true
2684          },
2685          {
2686            "type": "destructor_name",
2687            "named": true
2688          },
2689          {
2690            "type": "field_identifier",
2691            "named": true
2692          },
2693          {
2694            "type": "qualified_identifier",
2695            "named": true
2696          },
2697          {
2698            "type": "template_method",
2699            "named": true
2700          }
2701        ]
2702      },
2703      "operator": {
2704        "multiple": false,
2705        "required": true,
2706        "types": [
2707          {
2708            "type": "->",
2709            "named": false
2710          },
2711          {
2712            "type": ".",
2713            "named": false
2714          },
2715          {
2716            "type": ".*",
2717            "named": false
2718          }
2719        ]
2720      }
2721    }
2722  },
2723  {
2724    "type": "field_initializer",
2725    "named": true,
2726    "fields": {},
2727    "children": {
2728      "multiple": true,
2729      "required": true,
2730      "types": [
2731        {
2732          "type": "argument_list",
2733          "named": true
2734        },
2735        {
2736          "type": "field_identifier",
2737          "named": true
2738        },
2739        {
2740          "type": "initializer_list",
2741          "named": true
2742        },
2743        {
2744          "type": "qualified_identifier",
2745          "named": true
2746        },
2747        {
2748          "type": "template_method",
2749          "named": true
2750        }
2751      ]
2752    }
2753  },
2754  {
2755    "type": "field_initializer_list",
2756    "named": true,
2757    "fields": {},
2758    "children": {
2759      "multiple": true,
2760      "required": true,
2761      "types": [
2762        {
2763          "type": "field_initializer",
2764          "named": true
2765        }
2766      ]
2767    }
2768  },
2769  {
2770    "type": "fold_expression",
2771    "named": true,
2772    "fields": {
2773      "left": {
2774        "multiple": false,
2775        "required": true,
2776        "types": [
2777          {
2778            "type": "...",
2779            "named": false
2780          },
2781          {
2782            "type": "expression",
2783            "named": true
2784          }
2785        ]
2786      },
2787      "operator": {
2788        "multiple": false,
2789        "required": true,
2790        "types": [
2791          {
2792            "type": "!=",
2793            "named": false
2794          },
2795          {
2796            "type": "%",
2797            "named": false
2798          },
2799          {
2800            "type": "%=",
2801            "named": false
2802          },
2803          {
2804            "type": "&",
2805            "named": false
2806          },
2807          {
2808            "type": "&&",
2809            "named": false
2810          },
2811          {
2812            "type": "&=",
2813            "named": false
2814          },
2815          {
2816            "type": "*",
2817            "named": false
2818          },
2819          {
2820            "type": "*=",
2821            "named": false
2822          },
2823          {
2824            "type": "+",
2825            "named": false
2826          },
2827          {
2828            "type": "+=",
2829            "named": false
2830          },
2831          {
2832            "type": ",",
2833            "named": false
2834          },
2835          {
2836            "type": "-",
2837            "named": false
2838          },
2839          {
2840            "type": "-=",
2841            "named": false
2842          },
2843          {
2844            "type": "->*",
2845            "named": false
2846          },
2847          {
2848            "type": ".*",
2849            "named": false
2850          },
2851          {
2852            "type": "/",
2853            "named": false
2854          },
2855          {
2856            "type": "/=",
2857            "named": false
2858          },
2859          {
2860            "type": "<",
2861            "named": false
2862          },
2863          {
2864            "type": "<<",
2865            "named": false
2866          },
2867          {
2868            "type": "<<=",
2869            "named": false
2870          },
2871          {
2872            "type": "<=",
2873            "named": false
2874          },
2875          {
2876            "type": "=",
2877            "named": false
2878          },
2879          {
2880            "type": "==",
2881            "named": false
2882          },
2883          {
2884            "type": ">",
2885            "named": false
2886          },
2887          {
2888            "type": ">=",
2889            "named": false
2890          },
2891          {
2892            "type": ">>",
2893            "named": false
2894          },
2895          {
2896            "type": ">>=",
2897            "named": false
2898          },
2899          {
2900            "type": "^",
2901            "named": false
2902          },
2903          {
2904            "type": "^=",
2905            "named": false
2906          },
2907          {
2908            "type": "and",
2909            "named": false
2910          },
2911          {
2912            "type": "bitand",
2913            "named": false
2914          },
2915          {
2916            "type": "bitor",
2917            "named": false
2918          },
2919          {
2920            "type": "not_eq",
2921            "named": false
2922          },
2923          {
2924            "type": "or",
2925            "named": false
2926          },
2927          {
2928            "type": "xor",
2929            "named": false
2930          },
2931          {
2932            "type": "|",
2933            "named": false
2934          },
2935          {
2936            "type": "|=",
2937            "named": false
2938          },
2939          {
2940            "type": "||",
2941            "named": false
2942          }
2943        ]
2944      },
2945      "right": {
2946        "multiple": false,
2947        "required": true,
2948        "types": [
2949          {
2950            "type": "...",
2951            "named": false
2952          },
2953          {
2954            "type": "expression",
2955            "named": true
2956          }
2957        ]
2958      }
2959    }
2960  },
2961  {
2962    "type": "for_range_loop",
2963    "named": true,
2964    "fields": {
2965      "body": {
2966        "multiple": false,
2967        "required": true,
2968        "types": [
2969          {
2970            "type": "statement",
2971            "named": true
2972          }
2973        ]
2974      },
2975      "declarator": {
2976        "multiple": false,
2977        "required": true,
2978        "types": [
2979          {
2980            "type": "_declarator",
2981            "named": true
2982          }
2983        ]
2984      },
2985      "initializer": {
2986        "multiple": false,
2987        "required": false,
2988        "types": [
2989          {
2990            "type": "init_statement",
2991            "named": true
2992          }
2993        ]
2994      },
2995      "right": {
2996        "multiple": false,
2997        "required": true,
2998        "types": [
2999          {
3000            "type": "expression",
3001            "named": true
3002          },
3003          {
3004            "type": "initializer_list",
3005            "named": true
3006          }
3007        ]
3008      },
3009      "type": {
3010        "multiple": false,
3011        "required": true,
3012        "types": [
3013          {
3014            "type": "type_specifier",
3015            "named": true
3016          }
3017        ]
3018      }
3019    },
3020    "children": {
3021      "multiple": true,
3022      "required": false,
3023      "types": [
3024        {
3025          "type": "attribute_declaration",
3026          "named": true
3027        },
3028        {
3029          "type": "attribute_specifier",
3030          "named": true
3031        },
3032        {
3033          "type": "launch_bounds",
3034          "named": true
3035        },
3036        {
3037          "type": "ms_declspec_modifier",
3038          "named": true
3039        },
3040        {
3041          "type": "storage_class_specifier",
3042          "named": true
3043        },
3044        {
3045          "type": "type_qualifier",
3046          "named": true
3047        },
3048        {
3049          "type": "virtual",
3050          "named": true
3051        }
3052      ]
3053    }
3054  },
3055  {
3056    "type": "for_statement",
3057    "named": true,
3058    "fields": {
3059      "body": {
3060        "multiple": false,
3061        "required": true,
3062        "types": [
3063          {
3064            "type": "statement",
3065            "named": true
3066          }
3067        ]
3068      },
3069      "condition": {
3070        "multiple": false,
3071        "required": false,
3072        "types": [
3073          {
3074            "type": "comma_expression",
3075            "named": true
3076          },
3077          {
3078            "type": "expression",
3079            "named": true
3080          }
3081        ]
3082      },
3083      "initializer": {
3084        "multiple": false,
3085        "required": false,
3086        "types": [
3087          {
3088            "type": "comma_expression",
3089            "named": true
3090          },
3091          {
3092            "type": "declaration",
3093            "named": true
3094          },
3095          {
3096            "type": "expression",
3097            "named": true
3098          }
3099        ]
3100      },
3101      "update": {
3102        "multiple": false,
3103        "required": false,
3104        "types": [
3105          {
3106            "type": "comma_expression",
3107            "named": true
3108          },
3109          {
3110            "type": "expression",
3111            "named": true
3112          }
3113        ]
3114      }
3115    }
3116  },
3117  {
3118    "type": "friend_declaration",
3119    "named": true,
3120    "fields": {},
3121    "children": {
3122      "multiple": false,
3123      "required": true,
3124      "types": [
3125        {
3126          "type": "declaration",
3127          "named": true
3128        },
3129        {
3130          "type": "function_definition",
3131          "named": true
3132        },
3133        {
3134          "type": "qualified_identifier",
3135          "named": true
3136        },
3137        {
3138          "type": "template_type",
3139          "named": true
3140        },
3141        {
3142          "type": "type_identifier",
3143          "named": true
3144        }
3145      ]
3146    }
3147  },
3148  {
3149    "type": "function_declarator",
3150    "named": true,
3151    "fields": {
3152      "declarator": {
3153        "multiple": false,
3154        "required": true,
3155        "types": [
3156          {
3157            "type": "_declarator",
3158            "named": true
3159          },
3160          {
3161            "type": "_field_declarator",
3162            "named": true
3163          },
3164          {
3165            "type": "_type_declarator",
3166            "named": true
3167          }
3168        ]
3169      },
3170      "parameters": {
3171        "multiple": false,
3172        "required": true,
3173        "types": [
3174          {
3175            "type": "parameter_list",
3176            "named": true
3177          }
3178        ]
3179      }
3180    },
3181    "children": {
3182      "multiple": true,
3183      "required": false,
3184      "types": [
3185        {
3186          "type": "attribute_declaration",
3187          "named": true
3188        },
3189        {
3190          "type": "attribute_specifier",
3191          "named": true
3192        },
3193        {
3194          "type": "gnu_asm_expression",
3195          "named": true
3196        },
3197        {
3198          "type": "noexcept",
3199          "named": true
3200        },
3201        {
3202          "type": "ref_qualifier",
3203          "named": true
3204        },
3205        {
3206          "type": "requires_clause",
3207          "named": true
3208        },
3209        {
3210          "type": "throw_specifier",
3211          "named": true
3212        },
3213        {
3214          "type": "trailing_return_type",
3215          "named": true
3216        },
3217        {
3218          "type": "type_qualifier",
3219          "named": true
3220        },
3221        {
3222          "type": "virtual_specifier",
3223          "named": true
3224        }
3225      ]
3226    }
3227  },
3228  {
3229    "type": "function_definition",
3230    "named": true,
3231    "fields": {
3232      "body": {
3233        "multiple": false,
3234        "required": false,
3235        "types": [
3236          {
3237            "type": "compound_statement",
3238            "named": true
3239          },
3240          {
3241            "type": "try_statement",
3242            "named": true
3243          }
3244        ]
3245      },
3246      "declarator": {
3247        "multiple": false,
3248        "required": true,
3249        "types": [
3250          {
3251            "type": "_declarator",
3252            "named": true
3253          },
3254          {
3255            "type": "_field_declarator",
3256            "named": true
3257          },
3258          {
3259            "type": "operator_cast",
3260            "named": true
3261          }
3262        ]
3263      },
3264      "type": {
3265        "multiple": false,
3266        "required": false,
3267        "types": [
3268          {
3269            "type": "type_specifier",
3270            "named": true
3271          }
3272        ]
3273      }
3274    },
3275    "children": {
3276      "multiple": true,
3277      "required": false,
3278      "types": [
3279        {
3280          "type": "attribute_declaration",
3281          "named": true
3282        },
3283        {
3284          "type": "attribute_specifier",
3285          "named": true
3286        },
3287        {
3288          "type": "default_method_clause",
3289          "named": true
3290        },
3291        {
3292          "type": "delete_method_clause",
3293          "named": true
3294        },
3295        {
3296          "type": "explicit_function_specifier",
3297          "named": true
3298        },
3299        {
3300          "type": "field_initializer_list",
3301          "named": true
3302        },
3303        {
3304          "type": "launch_bounds",
3305          "named": true
3306        },
3307        {
3308          "type": "ms_call_modifier",
3309          "named": true
3310        },
3311        {
3312          "type": "ms_declspec_modifier",
3313          "named": true
3314        },
3315        {
3316          "type": "pure_virtual_clause",
3317          "named": true
3318        },
3319        {
3320          "type": "storage_class_specifier",
3321          "named": true
3322        },
3323        {
3324          "type": "try_statement",
3325          "named": true
3326        },
3327        {
3328          "type": "type_qualifier",
3329          "named": true
3330        },
3331        {
3332          "type": "virtual",
3333          "named": true
3334        }
3335      ]
3336    }
3337  },
3338  {
3339    "type": "generic_expression",
3340    "named": true,
3341    "fields": {},
3342    "children": {
3343      "multiple": true,
3344      "required": true,
3345      "types": [
3346        {
3347          "type": "expression",
3348          "named": true
3349        },
3350        {
3351          "type": "type_descriptor",
3352          "named": true
3353        }
3354      ]
3355    }
3356  },
3357  {
3358    "type": "gnu_asm_clobber_list",
3359    "named": true,
3360    "fields": {
3361      "register": {
3362        "multiple": true,
3363        "required": false,
3364        "types": [
3365          {
3366            "type": "concatenated_string",
3367            "named": true
3368          },
3369          {
3370            "type": "string_literal",
3371            "named": true
3372          }
3373        ]
3374      }
3375    }
3376  },
3377  {
3378    "type": "gnu_asm_expression",
3379    "named": true,
3380    "fields": {
3381      "assembly_code": {
3382        "multiple": false,
3383        "required": true,
3384        "types": [
3385          {
3386            "type": "concatenated_string",
3387            "named": true
3388          },
3389          {
3390            "type": "string_literal",
3391            "named": true
3392          }
3393        ]
3394      },
3395      "clobbers": {
3396        "multiple": false,
3397        "required": false,
3398        "types": [
3399          {
3400            "type": "gnu_asm_clobber_list",
3401            "named": true
3402          }
3403        ]
3404      },
3405      "goto_labels": {
3406        "multiple": false,
3407        "required": false,
3408        "types": [
3409          {
3410            "type": "gnu_asm_goto_list",
3411            "named": true
3412          }
3413        ]
3414      },
3415      "input_operands": {
3416        "multiple": false,
3417        "required": false,
3418        "types": [
3419          {
3420            "type": "gnu_asm_input_operand_list",
3421            "named": true
3422          }
3423        ]
3424      },
3425      "output_operands": {
3426        "multiple": false,
3427        "required": false,
3428        "types": [
3429          {
3430            "type": "gnu_asm_output_operand_list",
3431            "named": true
3432          }
3433        ]
3434      }
3435    },
3436    "children": {
3437      "multiple": true,
3438      "required": false,
3439      "types": [
3440        {
3441          "type": "gnu_asm_qualifier",
3442          "named": true
3443        }
3444      ]
3445    }
3446  },
3447  {
3448    "type": "gnu_asm_goto_list",
3449    "named": true,
3450    "fields": {
3451      "label": {
3452        "multiple": true,
3453        "required": false,
3454        "types": [
3455          {
3456            "type": "identifier",
3457            "named": true
3458          }
3459        ]
3460      }
3461    }
3462  },
3463  {
3464    "type": "gnu_asm_input_operand",
3465    "named": true,
3466    "fields": {
3467      "constraint": {
3468        "multiple": false,
3469        "required": true,
3470        "types": [
3471          {
3472            "type": "string_literal",
3473            "named": true
3474          }
3475        ]
3476      },
3477      "symbol": {
3478        "multiple": false,
3479        "required": false,
3480        "types": [
3481          {
3482            "type": "identifier",
3483            "named": true
3484          }
3485        ]
3486      },
3487      "value": {
3488        "multiple": false,
3489        "required": true,
3490        "types": [
3491          {
3492            "type": "expression",
3493            "named": true
3494          }
3495        ]
3496      }
3497    }
3498  },
3499  {
3500    "type": "gnu_asm_input_operand_list",
3501    "named": true,
3502    "fields": {
3503      "operand": {
3504        "multiple": true,
3505        "required": false,
3506        "types": [
3507          {
3508            "type": "gnu_asm_input_operand",
3509            "named": true
3510          }
3511        ]
3512      }
3513    }
3514  },
3515  {
3516    "type": "gnu_asm_output_operand",
3517    "named": true,
3518    "fields": {
3519      "constraint": {
3520        "multiple": false,
3521        "required": true,
3522        "types": [
3523          {
3524            "type": "string_literal",
3525            "named": true
3526          }
3527        ]
3528      },
3529      "symbol": {
3530        "multiple": false,
3531        "required": false,
3532        "types": [
3533          {
3534            "type": "identifier",
3535            "named": true
3536          }
3537        ]
3538      },
3539      "value": {
3540        "multiple": false,
3541        "required": true,
3542        "types": [
3543          {
3544            "type": "identifier",
3545            "named": true
3546          }
3547        ]
3548      }
3549    }
3550  },
3551  {
3552    "type": "gnu_asm_output_operand_list",
3553    "named": true,
3554    "fields": {
3555      "operand": {
3556        "multiple": true,
3557        "required": false,
3558        "types": [
3559          {
3560            "type": "gnu_asm_output_operand",
3561            "named": true
3562          }
3563        ]
3564      }
3565    }
3566  },
3567  {
3568    "type": "gnu_asm_qualifier",
3569    "named": true,
3570    "fields": {}
3571  },
3572  {
3573    "type": "goto_statement",
3574    "named": true,
3575    "fields": {
3576      "label": {
3577        "multiple": false,
3578        "required": true,
3579        "types": [
3580          {
3581            "type": "statement_identifier",
3582            "named": true
3583          }
3584        ]
3585      }
3586    }
3587  },
3588  {
3589    "type": "if_statement",
3590    "named": true,
3591    "fields": {
3592      "alternative": {
3593        "multiple": false,
3594        "required": false,
3595        "types": [
3596          {
3597            "type": "else_clause",
3598            "named": true
3599          }
3600        ]
3601      },
3602      "condition": {
3603        "multiple": false,
3604        "required": true,
3605        "types": [
3606          {
3607            "type": "condition_clause",
3608            "named": true
3609          }
3610        ]
3611      },
3612      "consequence": {
3613        "multiple": false,
3614        "required": true,
3615        "types": [
3616          {
3617            "type": "statement",
3618            "named": true
3619          }
3620        ]
3621      }
3622    }
3623  },
3624  {
3625    "type": "init_declarator",
3626    "named": true,
3627    "fields": {
3628      "declarator": {
3629        "multiple": false,
3630        "required": true,
3631        "types": [
3632          {
3633            "type": "_declarator",
3634            "named": true
3635          }
3636        ]
3637      },
3638      "value": {
3639        "multiple": false,
3640        "required": true,
3641        "types": [
3642          {
3643            "type": "argument_list",
3644            "named": true
3645          },
3646          {
3647            "type": "expression",
3648            "named": true
3649          },
3650          {
3651            "type": "initializer_list",
3652            "named": true
3653          }
3654        ]
3655      }
3656    }
3657  },
3658  {
3659    "type": "init_statement",
3660    "named": true,
3661    "fields": {},
3662    "children": {
3663      "multiple": false,
3664      "required": true,
3665      "types": [
3666        {
3667          "type": "alias_declaration",
3668          "named": true
3669        },
3670        {
3671          "type": "declaration",
3672          "named": true
3673        },
3674        {
3675          "type": "expression_statement",
3676          "named": true
3677        },
3678        {
3679          "type": "type_definition",
3680          "named": true
3681        }
3682      ]
3683    }
3684  },
3685  {
3686    "type": "initializer_list",
3687    "named": true,
3688    "fields": {},
3689    "children": {
3690      "multiple": true,
3691      "required": false,
3692      "types": [
3693        {
3694          "type": "expression",
3695          "named": true
3696        },
3697        {
3698          "type": "initializer_list",
3699          "named": true
3700        },
3701        {
3702          "type": "initializer_pair",
3703          "named": true
3704        }
3705      ]
3706    }
3707  },
3708  {
3709    "type": "initializer_pair",
3710    "named": true,
3711    "fields": {
3712      "designator": {
3713        "multiple": true,
3714        "required": true,
3715        "types": [
3716          {
3717            "type": "field_designator",
3718            "named": true
3719          },
3720          {
3721            "type": "field_identifier",
3722            "named": true
3723          },
3724          {
3725            "type": "subscript_designator",
3726            "named": true
3727          },
3728          {
3729            "type": "subscript_range_designator",
3730            "named": true
3731          }
3732        ]
3733      },
3734      "value": {
3735        "multiple": false,
3736        "required": true,
3737        "types": [
3738          {
3739            "type": "expression",
3740            "named": true
3741          },
3742          {
3743            "type": "initializer_list",
3744            "named": true
3745          }
3746        ]
3747      }
3748    }
3749  },
3750  {
3751    "type": "kernel_call_syntax",
3752    "named": true,
3753    "fields": {},
3754    "children": {
3755      "multiple": true,
3756      "required": true,
3757      "types": [
3758        {
3759          "type": "expression",
3760          "named": true
3761        }
3762      ]
3763    }
3764  },
3765  {
3766    "type": "labeled_statement",
3767    "named": true,
3768    "fields": {
3769      "label": {
3770        "multiple": false,
3771        "required": true,
3772        "types": [
3773          {
3774            "type": "statement_identifier",
3775            "named": true
3776          }
3777        ]
3778      }
3779    },
3780    "children": {
3781      "multiple": false,
3782      "required": true,
3783      "types": [
3784        {
3785          "type": "statement",
3786          "named": true
3787        }
3788      ]
3789    }
3790  },
3791  {
3792    "type": "lambda_capture_specifier",
3793    "named": true,
3794    "fields": {},
3795    "children": {
3796      "multiple": true,
3797      "required": false,
3798      "types": [
3799        {
3800          "type": "expression",
3801          "named": true
3802        },
3803        {
3804          "type": "lambda_default_capture",
3805          "named": true
3806        }
3807      ]
3808    }
3809  },
3810  {
3811    "type": "lambda_default_capture",
3812    "named": true,
3813    "fields": {}
3814  },
3815  {
3816    "type": "lambda_expression",
3817    "named": true,
3818    "fields": {
3819      "body": {
3820        "multiple": false,
3821        "required": true,
3822        "types": [
3823          {
3824            "type": "compound_statement",
3825            "named": true
3826          }
3827        ]
3828      },
3829      "captures": {
3830        "multiple": false,
3831        "required": true,
3832        "types": [
3833          {
3834            "type": "lambda_capture_specifier",
3835            "named": true
3836          }
3837        ]
3838      },
3839      "constraint": {
3840        "multiple": false,
3841        "required": false,
3842        "types": [
3843          {
3844            "type": "requires_clause",
3845            "named": true
3846          }
3847        ]
3848      },
3849      "declarator": {
3850        "multiple": false,
3851        "required": false,
3852        "types": [
3853          {
3854            "type": "abstract_function_declarator",
3855            "named": true
3856          }
3857        ]
3858      },
3859      "template_parameters": {
3860        "multiple": false,
3861        "required": false,
3862        "types": [
3863          {
3864            "type": "template_parameter_list",
3865            "named": true
3866          }
3867        ]
3868      }
3869    }
3870  },
3871  {
3872    "type": "launch_bounds",
3873    "named": true,
3874    "fields": {},
3875    "children": {
3876      "multiple": true,
3877      "required": true,
3878      "types": [
3879        {
3880          "type": "expression",
3881          "named": true
3882        }
3883      ]
3884    }
3885  },
3886  {
3887    "type": "linkage_specification",
3888    "named": true,
3889    "fields": {
3890      "body": {
3891        "multiple": false,
3892        "required": true,
3893        "types": [
3894          {
3895            "type": "declaration",
3896            "named": true
3897          },
3898          {
3899            "type": "declaration_list",
3900            "named": true
3901          },
3902          {
3903            "type": "function_definition",
3904            "named": true
3905          }
3906        ]
3907      },
3908      "value": {
3909        "multiple": false,
3910        "required": true,
3911        "types": [
3912          {
3913            "type": "string_literal",
3914            "named": true
3915          }
3916        ]
3917      }
3918    }
3919  },
3920  {
3921    "type": "ms_based_modifier",
3922    "named": true,
3923    "fields": {},
3924    "children": {
3925      "multiple": false,
3926      "required": true,
3927      "types": [
3928        {
3929          "type": "argument_list",
3930          "named": true
3931        }
3932      ]
3933    }
3934  },
3935  {
3936    "type": "ms_call_modifier",
3937    "named": true,
3938    "fields": {}
3939  },
3940  {
3941    "type": "ms_declspec_modifier",
3942    "named": true,
3943    "fields": {},
3944    "children": {
3945      "multiple": false,
3946      "required": true,
3947      "types": [
3948        {
3949          "type": "identifier",
3950          "named": true
3951        }
3952      ]
3953    }
3954  },
3955  {
3956    "type": "ms_pointer_modifier",
3957    "named": true,
3958    "fields": {},
3959    "children": {
3960      "multiple": false,
3961      "required": true,
3962      "types": [
3963        {
3964          "type": "ms_restrict_modifier",
3965          "named": true
3966        },
3967        {
3968          "type": "ms_signed_ptr_modifier",
3969          "named": true
3970        },
3971        {
3972          "type": "ms_unaligned_ptr_modifier",
3973          "named": true
3974        },
3975        {
3976          "type": "ms_unsigned_ptr_modifier",
3977          "named": true
3978        }
3979      ]
3980    }
3981  },
3982  {
3983    "type": "ms_unaligned_ptr_modifier",
3984    "named": true,
3985    "fields": {}
3986  },
3987  {
3988    "type": "namespace_alias_definition",
3989    "named": true,
3990    "fields": {
3991      "name": {
3992        "multiple": false,
3993        "required": true,
3994        "types": [
3995          {
3996            "type": "namespace_identifier",
3997            "named": true
3998          }
3999        ]
4000      }
4001    },
4002    "children": {
4003      "multiple": false,
4004      "required": true,
4005      "types": [
4006        {
4007          "type": "namespace_identifier",
4008          "named": true
4009        },
4010        {
4011          "type": "nested_namespace_specifier",
4012          "named": true
4013        }
4014      ]
4015    }
4016  },
4017  {
4018    "type": "namespace_definition",
4019    "named": true,
4020    "fields": {
4021      "body": {
4022        "multiple": false,
4023        "required": true,
4024        "types": [
4025          {
4026            "type": "declaration_list",
4027            "named": true
4028          }
4029        ]
4030      },
4031      "name": {
4032        "multiple": false,
4033        "required": false,
4034        "types": [
4035          {
4036            "type": "namespace_identifier",
4037            "named": true
4038          },
4039          {
4040            "type": "nested_namespace_specifier",
4041            "named": true
4042          }
4043        ]
4044      }
4045    },
4046    "children": {
4047      "multiple": false,
4048      "required": false,
4049      "types": [
4050        {
4051          "type": "attribute_declaration",
4052          "named": true
4053        }
4054      ]
4055    }
4056  },
4057  {
4058    "type": "nested_namespace_specifier",
4059    "named": true,
4060    "fields": {},
4061    "children": {
4062      "multiple": true,
4063      "required": false,
4064      "types": [
4065        {
4066          "type": "namespace_identifier",
4067          "named": true
4068        },
4069        {
4070          "type": "nested_namespace_specifier",
4071          "named": true
4072        }
4073      ]
4074    }
4075  },
4076  {
4077    "type": "new_declarator",
4078    "named": true,
4079    "fields": {
4080      "length": {
4081        "multiple": false,
4082        "required": true,
4083        "types": [
4084          {
4085            "type": "expression",
4086            "named": true
4087          }
4088        ]
4089      }
4090    },
4091    "children": {
4092      "multiple": false,
4093      "required": false,
4094      "types": [
4095        {
4096          "type": "new_declarator",
4097          "named": true
4098        }
4099      ]
4100    }
4101  },
4102  {
4103    "type": "new_expression",
4104    "named": true,
4105    "fields": {
4106      "arguments": {
4107        "multiple": false,
4108        "required": false,
4109        "types": [
4110          {
4111            "type": "argument_list",
4112            "named": true
4113          },
4114          {
4115            "type": "initializer_list",
4116            "named": true
4117          }
4118        ]
4119      },
4120      "declarator": {
4121        "multiple": false,
4122        "required": false,
4123        "types": [
4124          {
4125            "type": "new_declarator",
4126            "named": true
4127          }
4128        ]
4129      },
4130      "placement": {
4131        "multiple": false,
4132        "required": false,
4133        "types": [
4134          {
4135            "type": "argument_list",
4136            "named": true
4137          }
4138        ]
4139      },
4140      "type": {
4141        "multiple": false,
4142        "required": true,
4143        "types": [
4144          {
4145            "type": "type_specifier",
4146            "named": true
4147          }
4148        ]
4149      }
4150    }
4151  },
4152  {
4153    "type": "noexcept",
4154    "named": true,
4155    "fields": {},
4156    "children": {
4157      "multiple": false,
4158      "required": false,
4159      "types": [
4160        {
4161          "type": "expression",
4162          "named": true
4163        }
4164      ]
4165    }
4166  },
4167  {
4168    "type": "null",
4169    "named": true,
4170    "fields": {}
4171  },
4172  {
4173    "type": "offsetof_expression",
4174    "named": true,
4175    "fields": {
4176      "member": {
4177        "multiple": false,
4178        "required": true,
4179        "types": [
4180          {
4181            "type": "field_identifier",
4182            "named": true
4183          }
4184        ]
4185      },
4186      "type": {
4187        "multiple": false,
4188        "required": true,
4189        "types": [
4190          {
4191            "type": "type_descriptor",
4192            "named": true
4193          }
4194        ]
4195      }
4196    }
4197  },
4198  {
4199    "type": "operator_cast",
4200    "named": true,
4201    "fields": {
4202      "declarator": {
4203        "multiple": false,
4204        "required": true,
4205        "types": [
4206          {
4207            "type": "_abstract_declarator",
4208            "named": true
4209          }
4210        ]
4211      },
4212      "type": {
4213        "multiple": false,
4214        "required": true,
4215        "types": [
4216          {
4217            "type": "type_specifier",
4218            "named": true
4219          }
4220        ]
4221      }
4222    },
4223    "children": {
4224      "multiple": true,
4225      "required": false,
4226      "types": [
4227        {
4228          "type": "attribute_declaration",
4229          "named": true
4230        },
4231        {
4232          "type": "attribute_specifier",
4233          "named": true
4234        },
4235        {
4236          "type": "launch_bounds",
4237          "named": true
4238        },
4239        {
4240          "type": "ms_declspec_modifier",
4241          "named": true
4242        },
4243        {
4244          "type": "storage_class_specifier",
4245          "named": true
4246        },
4247        {
4248          "type": "type_qualifier",
4249          "named": true
4250        },
4251        {
4252          "type": "virtual",
4253          "named": true
4254        }
4255      ]
4256    }
4257  },
4258  {
4259    "type": "operator_name",
4260    "named": true,
4261    "fields": {},
4262    "children": {
4263      "multiple": false,
4264      "required": false,
4265      "types": [
4266        {
4267          "type": "identifier",
4268          "named": true
4269        }
4270      ]
4271    }
4272  },
4273  {
4274    "type": "optional_parameter_declaration",
4275    "named": true,
4276    "fields": {
4277      "declarator": {
4278        "multiple": false,
4279        "required": false,
4280        "types": [
4281          {
4282            "type": "_declarator",
4283            "named": true
4284          },
4285          {
4286            "type": "abstract_reference_declarator",
4287            "named": true
4288          }
4289        ]
4290      },
4291      "default_value": {
4292        "multiple": false,
4293        "required": true,
4294        "types": [
4295          {
4296            "type": "expression",
4297            "named": true
4298          }
4299        ]
4300      },
4301      "type": {
4302        "multiple": false,
4303        "required": true,
4304        "types": [
4305          {
4306            "type": "type_specifier",
4307            "named": true
4308          }
4309        ]
4310      }
4311    },
4312    "children": {
4313      "multiple": true,
4314      "required": false,
4315      "types": [
4316        {
4317          "type": "attribute_declaration",
4318          "named": true
4319        },
4320        {
4321          "type": "attribute_specifier",
4322          "named": true
4323        },
4324        {
4325          "type": "launch_bounds",
4326          "named": true
4327        },
4328        {
4329          "type": "ms_declspec_modifier",
4330          "named": true
4331        },
4332        {
4333          "type": "storage_class_specifier",
4334          "named": true
4335        },
4336        {
4337          "type": "type_qualifier",
4338          "named": true
4339        },
4340        {
4341          "type": "virtual",
4342          "named": true
4343        }
4344      ]
4345    }
4346  },
4347  {
4348    "type": "optional_type_parameter_declaration",
4349    "named": true,
4350    "fields": {
4351      "default_type": {
4352        "multiple": false,
4353        "required": true,
4354        "types": [
4355          {
4356            "type": "type_specifier",
4357            "named": true
4358          }
4359        ]
4360      },
4361      "name": {
4362        "multiple": false,
4363        "required": false,
4364        "types": [
4365          {
4366            "type": "type_identifier",
4367            "named": true
4368          }
4369        ]
4370      }
4371    }
4372  },
4373  {
4374    "type": "parameter_declaration",
4375    "named": true,
4376    "fields": {
4377      "declarator": {
4378        "multiple": false,
4379        "required": false,
4380        "types": [
4381          {
4382            "type": "_abstract_declarator",
4383            "named": true
4384          },
4385          {
4386            "type": "_declarator",
4387            "named": true
4388          }
4389        ]
4390      },
4391      "type": {
4392        "multiple": false,
4393        "required": true,
4394        "types": [
4395          {
4396            "type": "type_specifier",
4397            "named": true
4398          }
4399        ]
4400      }
4401    },
4402    "children": {
4403      "multiple": true,
4404      "required": false,
4405      "types": [
4406        {
4407          "type": "attribute_declaration",
4408          "named": true
4409        },
4410        {
4411          "type": "attribute_specifier",
4412          "named": true
4413        },
4414        {
4415          "type": "launch_bounds",
4416          "named": true
4417        },
4418        {
4419          "type": "ms_declspec_modifier",
4420          "named": true
4421        },
4422        {
4423          "type": "storage_class_specifier",
4424          "named": true
4425        },
4426        {
4427          "type": "type_qualifier",
4428          "named": true
4429        },
4430        {
4431          "type": "virtual",
4432          "named": true
4433        }
4434      ]
4435    }
4436  },
4437  {
4438    "type": "parameter_list",
4439    "named": true,
4440    "fields": {},
4441    "children": {
4442      "multiple": true,
4443      "required": false,
4444      "types": [
4445        {
4446          "type": "identifier",
4447          "named": true
4448        },
4449        {
4450          "type": "optional_parameter_declaration",
4451          "named": true
4452        },
4453        {
4454          "type": "parameter_declaration",
4455          "named": true
4456        },
4457        {
4458          "type": "variadic_parameter",
4459          "named": true
4460        },
4461        {
4462          "type": "variadic_parameter_declaration",
4463          "named": true
4464        }
4465      ]
4466    }
4467  },
4468  {
4469    "type": "parameter_pack_expansion",
4470    "named": true,
4471    "fields": {
4472      "pattern": {
4473        "multiple": false,
4474        "required": true,
4475        "types": [
4476          {
4477            "type": "expression",
4478            "named": true
4479          },
4480          {
4481            "type": "type_descriptor",
4482            "named": true
4483          }
4484        ]
4485      }
4486    }
4487  },
4488  {
4489    "type": "parenthesized_declarator",
4490    "named": true,
4491    "fields": {},
4492    "children": {
4493      "multiple": true,
4494      "required": true,
4495      "types": [
4496        {
4497          "type": "_declarator",
4498          "named": true
4499        },
4500        {
4501          "type": "_field_declarator",
4502          "named": true
4503        },
4504        {
4505          "type": "_type_declarator",
4506          "named": true
4507        },
4508        {
4509          "type": "ms_call_modifier",
4510          "named": true
4511        }
4512      ]
4513    }
4514  },
4515  {
4516    "type": "parenthesized_expression",
4517    "named": true,
4518    "fields": {},
4519    "children": {
4520      "multiple": false,
4521      "required": true,
4522      "types": [
4523        {
4524          "type": "comma_expression",
4525          "named": true
4526        },
4527        {
4528          "type": "expression",
4529          "named": true
4530        },
4531        {
4532          "type": "preproc_defined",
4533          "named": true
4534        }
4535      ]
4536    }
4537  },
4538  {
4539    "type": "placeholder_type_specifier",
4540    "named": true,
4541    "fields": {
4542      "constraint": {
4543        "multiple": false,
4544        "required": false,
4545        "types": [
4546          {
4547            "type": "type_specifier",
4548            "named": true
4549          }
4550        ]
4551      }
4552    },
4553    "children": {
4554      "multiple": false,
4555      "required": true,
4556      "types": [
4557        {
4558          "type": "auto",
4559          "named": true
4560        },
4561        {
4562          "type": "decltype",
4563          "named": true
4564        }
4565      ]
4566    }
4567  },
4568  {
4569    "type": "pointer_declarator",
4570    "named": true,
4571    "fields": {
4572      "declarator": {
4573        "multiple": false,
4574        "required": true,
4575        "types": [
4576          {
4577            "type": "_declarator",
4578            "named": true
4579          },
4580          {
4581            "type": "_field_declarator",
4582            "named": true
4583          },
4584          {
4585            "type": "_type_declarator",
4586            "named": true
4587          }
4588        ]
4589      }
4590    },
4591    "children": {
4592      "multiple": true,
4593      "required": false,
4594      "types": [
4595        {
4596          "type": "ms_based_modifier",
4597          "named": true
4598        },
4599        {
4600          "type": "ms_pointer_modifier",
4601          "named": true
4602        },
4603        {
4604          "type": "type_qualifier",
4605          "named": true
4606        }
4607      ]
4608    }
4609  },
4610  {
4611    "type": "pointer_expression",
4612    "named": true,
4613    "fields": {
4614      "argument": {
4615        "multiple": false,
4616        "required": true,
4617        "types": [
4618          {
4619            "type": "expression",
4620            "named": true
4621          }
4622        ]
4623      },
4624      "operator": {
4625        "multiple": false,
4626        "required": true,
4627        "types": [
4628          {
4629            "type": "&",
4630            "named": false
4631          },
4632          {
4633            "type": "*",
4634            "named": false
4635          }
4636        ]
4637      }
4638    }
4639  },
4640  {
4641    "type": "pointer_type_declarator",
4642    "named": true,
4643    "fields": {
4644      "declarator": {
4645        "multiple": false,
4646        "required": true,
4647        "types": [
4648          {
4649            "type": "_type_declarator",
4650            "named": true
4651          }
4652        ]
4653      }
4654    },
4655    "children": {
4656      "multiple": true,
4657      "required": false,
4658      "types": [
4659        {
4660          "type": "ms_based_modifier",
4661          "named": true
4662        },
4663        {
4664          "type": "ms_pointer_modifier",
4665          "named": true
4666        },
4667        {
4668          "type": "type_qualifier",
4669          "named": true
4670        }
4671      ]
4672    }
4673  },
4674  {
4675    "type": "preproc_call",
4676    "named": true,
4677    "fields": {
4678      "argument": {
4679        "multiple": false,
4680        "required": false,
4681        "types": [
4682          {
4683            "type": "preproc_arg",
4684            "named": true
4685          }
4686        ]
4687      },
4688      "directive": {
4689        "multiple": false,
4690        "required": true,
4691        "types": [
4692          {
4693            "type": "preproc_directive",
4694            "named": true
4695          }
4696        ]
4697      }
4698    }
4699  },
4700  {
4701    "type": "preproc_def",
4702    "named": true,
4703    "fields": {
4704      "name": {
4705        "multiple": false,
4706        "required": true,
4707        "types": [
4708          {
4709            "type": "identifier",
4710            "named": true
4711          }
4712        ]
4713      },
4714      "value": {
4715        "multiple": false,
4716        "required": false,
4717        "types": [
4718          {
4719            "type": "preproc_arg",
4720            "named": true
4721          }
4722        ]
4723      }
4724    }
4725  },
4726  {
4727    "type": "preproc_defined",
4728    "named": true,
4729    "fields": {},
4730    "children": {
4731      "multiple": false,
4732      "required": true,
4733      "types": [
4734        {
4735          "type": "identifier",
4736          "named": true
4737        }
4738      ]
4739    }
4740  },
4741  {
4742    "type": "preproc_elif",
4743    "named": true,
4744    "fields": {
4745      "alternative": {
4746        "multiple": false,
4747        "required": false,
4748        "types": [
4749          {
4750            "type": "preproc_elif",
4751            "named": true
4752          },
4753          {
4754            "type": "preproc_elifdef",
4755            "named": true
4756          },
4757          {
4758            "type": "preproc_else",
4759            "named": true
4760          }
4761        ]
4762      },
4763      "condition": {
4764        "multiple": false,
4765        "required": true,
4766        "types": [
4767          {
4768            "type": "binary_expression",
4769            "named": true
4770          },
4771          {
4772            "type": "call_expression",
4773            "named": true
4774          },
4775          {
4776            "type": "char_literal",
4777            "named": true
4778          },
4779          {
4780            "type": "identifier",
4781            "named": true
4782          },
4783          {
4784            "type": "number_literal",
4785            "named": true
4786          },
4787          {
4788            "type": "parenthesized_expression",
4789            "named": true
4790          },
4791          {
4792            "type": "preproc_defined",
4793            "named": true
4794          },
4795          {
4796            "type": "unary_expression",
4797            "named": true
4798          }
4799        ]
4800      }
4801    },
4802    "children": {
4803      "multiple": true,
4804      "required": false,
4805      "types": [
4806        {
4807          "type": "access_specifier",
4808          "named": true
4809        },
4810        {
4811          "type": "alias_declaration",
4812          "named": true
4813        },
4814        {
4815          "type": "concept_definition",
4816          "named": true
4817        },
4818        {
4819          "type": "declaration",
4820          "named": true
4821        },
4822        {
4823          "type": "enumerator",
4824          "named": true
4825        },
4826        {
4827          "type": "field_declaration",
4828          "named": true
4829        },
4830        {
4831          "type": "friend_declaration",
4832          "named": true
4833        },
4834        {
4835          "type": "function_definition",
4836          "named": true
4837        },
4838        {
4839          "type": "linkage_specification",
4840          "named": true
4841        },
4842        {
4843          "type": "namespace_alias_definition",
4844          "named": true
4845        },
4846        {
4847          "type": "namespace_definition",
4848          "named": true
4849        },
4850        {
4851          "type": "preproc_call",
4852          "named": true
4853        },
4854        {
4855          "type": "preproc_def",
4856          "named": true
4857        },
4858        {
4859          "type": "preproc_function_def",
4860          "named": true
4861        },
4862        {
4863          "type": "preproc_if",
4864          "named": true
4865        },
4866        {
4867          "type": "preproc_ifdef",
4868          "named": true
4869        },
4870        {
4871          "type": "preproc_include",
4872          "named": true
4873        },
4874        {
4875          "type": "statement",
4876          "named": true
4877        },
4878        {
4879          "type": "static_assert_declaration",
4880          "named": true
4881        },
4882        {
4883          "type": "template_declaration",
4884          "named": true
4885        },
4886        {
4887          "type": "template_instantiation",
4888          "named": true
4889        },
4890        {
4891          "type": "type_definition",
4892          "named": true
4893        },
4894        {
4895          "type": "type_specifier",
4896          "named": true
4897        },
4898        {
4899          "type": "using_declaration",
4900          "named": true
4901        }
4902      ]
4903    }
4904  },
4905  {
4906    "type": "preproc_elifdef",
4907    "named": true,
4908    "fields": {
4909      "alternative": {
4910        "multiple": false,
4911        "required": false,
4912        "types": [
4913          {
4914            "type": "preproc_elif",
4915            "named": true
4916          },
4917          {
4918            "type": "preproc_elifdef",
4919            "named": true
4920          },
4921          {
4922            "type": "preproc_else",
4923            "named": true
4924          }
4925        ]
4926      },
4927      "name": {
4928        "multiple": false,
4929        "required": true,
4930        "types": [
4931          {
4932            "type": "identifier",
4933            "named": true
4934          }
4935        ]
4936      }
4937    },
4938    "children": {
4939      "multiple": true,
4940      "required": false,
4941      "types": [
4942        {
4943          "type": "access_specifier",
4944          "named": true
4945        },
4946        {
4947          "type": "alias_declaration",
4948          "named": true
4949        },
4950        {
4951          "type": "concept_definition",
4952          "named": true
4953        },
4954        {
4955          "type": "declaration",
4956          "named": true
4957        },
4958        {
4959          "type": "enumerator",
4960          "named": true
4961        },
4962        {
4963          "type": "field_declaration",
4964          "named": true
4965        },
4966        {
4967          "type": "friend_declaration",
4968          "named": true
4969        },
4970        {
4971          "type": "function_definition",
4972          "named": true
4973        },
4974        {
4975          "type": "linkage_specification",
4976          "named": true
4977        },
4978        {
4979          "type": "namespace_alias_definition",
4980          "named": true
4981        },
4982        {
4983          "type": "namespace_definition",
4984          "named": true
4985        },
4986        {
4987          "type": "preproc_call",
4988          "named": true
4989        },
4990        {
4991          "type": "preproc_def",
4992          "named": true
4993        },
4994        {
4995          "type": "preproc_function_def",
4996          "named": true
4997        },
4998        {
4999          "type": "preproc_if",
5000          "named": true
5001        },
5002        {
5003          "type": "preproc_ifdef",
5004          "named": true
5005        },
5006        {
5007          "type": "preproc_include",
5008          "named": true
5009        },
5010        {
5011          "type": "statement",
5012          "named": true
5013        },
5014        {
5015          "type": "static_assert_declaration",
5016          "named": true
5017        },
5018        {
5019          "type": "template_declaration",
5020          "named": true
5021        },
5022        {
5023          "type": "template_instantiation",
5024          "named": true
5025        },
5026        {
5027          "type": "type_definition",
5028          "named": true
5029        },
5030        {
5031          "type": "type_specifier",
5032          "named": true
5033        },
5034        {
5035          "type": "using_declaration",
5036          "named": true
5037        }
5038      ]
5039    }
5040  },
5041  {
5042    "type": "preproc_else",
5043    "named": true,
5044    "fields": {},
5045    "children": {
5046      "multiple": true,
5047      "required": false,
5048      "types": [
5049        {
5050          "type": "access_specifier",
5051          "named": true
5052        },
5053        {
5054          "type": "alias_declaration",
5055          "named": true
5056        },
5057        {
5058          "type": "concept_definition",
5059          "named": true
5060        },
5061        {
5062          "type": "declaration",
5063          "named": true
5064        },
5065        {
5066          "type": "enumerator",
5067          "named": true
5068        },
5069        {
5070          "type": "field_declaration",
5071          "named": true
5072        },
5073        {
5074          "type": "friend_declaration",
5075          "named": true
5076        },
5077        {
5078          "type": "function_definition",
5079          "named": true
5080        },
5081        {
5082          "type": "linkage_specification",
5083          "named": true
5084        },
5085        {
5086          "type": "namespace_alias_definition",
5087          "named": true
5088        },
5089        {
5090          "type": "namespace_definition",
5091          "named": true
5092        },
5093        {
5094          "type": "preproc_call",
5095          "named": true
5096        },
5097        {
5098          "type": "preproc_def",
5099          "named": true
5100        },
5101        {
5102          "type": "preproc_function_def",
5103          "named": true
5104        },
5105        {
5106          "type": "preproc_if",
5107          "named": true
5108        },
5109        {
5110          "type": "preproc_ifdef",
5111          "named": true
5112        },
5113        {
5114          "type": "preproc_include",
5115          "named": true
5116        },
5117        {
5118          "type": "statement",
5119          "named": true
5120        },
5121        {
5122          "type": "static_assert_declaration",
5123          "named": true
5124        },
5125        {
5126          "type": "template_declaration",
5127          "named": true
5128        },
5129        {
5130          "type": "template_instantiation",
5131          "named": true
5132        },
5133        {
5134          "type": "type_definition",
5135          "named": true
5136        },
5137        {
5138          "type": "type_specifier",
5139          "named": true
5140        },
5141        {
5142          "type": "using_declaration",
5143          "named": true
5144        }
5145      ]
5146    }
5147  },
5148  {
5149    "type": "preproc_function_def",
5150    "named": true,
5151    "fields": {
5152      "name": {
5153        "multiple": false,
5154        "required": true,
5155        "types": [
5156          {
5157            "type": "identifier",
5158            "named": true
5159          }
5160        ]
5161      },
5162      "parameters": {
5163        "multiple": false,
5164        "required": true,
5165        "types": [
5166          {
5167            "type": "preproc_params",
5168            "named": true
5169          }
5170        ]
5171      },
5172      "value": {
5173        "multiple": false,
5174        "required": false,
5175        "types": [
5176          {
5177            "type": "preproc_arg",
5178            "named": true
5179          }
5180        ]
5181      }
5182    }
5183  },
5184  {
5185    "type": "preproc_if",
5186    "named": true,
5187    "fields": {
5188      "alternative": {
5189        "multiple": false,
5190        "required": false,
5191        "types": [
5192          {
5193            "type": "preproc_elif",
5194            "named": true
5195          },
5196          {
5197            "type": "preproc_elifdef",
5198            "named": true
5199          },
5200          {
5201            "type": "preproc_else",
5202            "named": true
5203          }
5204        ]
5205      },
5206      "condition": {
5207        "multiple": false,
5208        "required": true,
5209        "types": [
5210          {
5211            "type": "binary_expression",
5212            "named": true
5213          },
5214          {
5215            "type": "call_expression",
5216            "named": true
5217          },
5218          {
5219            "type": "char_literal",
5220            "named": true
5221          },
5222          {
5223            "type": "identifier",
5224            "named": true
5225          },
5226          {
5227            "type": "number_literal",
5228            "named": true
5229          },
5230          {
5231            "type": "parenthesized_expression",
5232            "named": true
5233          },
5234          {
5235            "type": "preproc_defined",
5236            "named": true
5237          },
5238          {
5239            "type": "unary_expression",
5240            "named": true
5241          }
5242        ]
5243      }
5244    },
5245    "children": {
5246      "multiple": true,
5247      "required": false,
5248      "types": [
5249        {
5250          "type": "access_specifier",
5251          "named": true
5252        },
5253        {
5254          "type": "alias_declaration",
5255          "named": true
5256        },
5257        {
5258          "type": "concept_definition",
5259          "named": true
5260        },
5261        {
5262          "type": "declaration",
5263          "named": true
5264        },
5265        {
5266          "type": "enumerator",
5267          "named": true
5268        },
5269        {
5270          "type": "field_declaration",
5271          "named": true
5272        },
5273        {
5274          "type": "friend_declaration",
5275          "named": true
5276        },
5277        {
5278          "type": "function_definition",
5279          "named": true
5280        },
5281        {
5282          "type": "linkage_specification",
5283          "named": true
5284        },
5285        {
5286          "type": "namespace_alias_definition",
5287          "named": true
5288        },
5289        {
5290          "type": "namespace_definition",
5291          "named": true
5292        },
5293        {
5294          "type": "preproc_call",
5295          "named": true
5296        },
5297        {
5298          "type": "preproc_def",
5299          "named": true
5300        },
5301        {
5302          "type": "preproc_function_def",
5303          "named": true
5304        },
5305        {
5306          "type": "preproc_if",
5307          "named": true
5308        },
5309        {
5310          "type": "preproc_ifdef",
5311          "named": true
5312        },
5313        {
5314          "type": "preproc_include",
5315          "named": true
5316        },
5317        {
5318          "type": "statement",
5319          "named": true
5320        },
5321        {
5322          "type": "static_assert_declaration",
5323          "named": true
5324        },
5325        {
5326          "type": "template_declaration",
5327          "named": true
5328        },
5329        {
5330          "type": "template_instantiation",
5331          "named": true
5332        },
5333        {
5334          "type": "type_definition",
5335          "named": true
5336        },
5337        {
5338          "type": "type_specifier",
5339          "named": true
5340        },
5341        {
5342          "type": "using_declaration",
5343          "named": true
5344        }
5345      ]
5346    }
5347  },
5348  {
5349    "type": "preproc_ifdef",
5350    "named": true,
5351    "fields": {
5352      "alternative": {
5353        "multiple": false,
5354        "required": false,
5355        "types": [
5356          {
5357            "type": "preproc_elif",
5358            "named": true
5359          },
5360          {
5361            "type": "preproc_elifdef",
5362            "named": true
5363          },
5364          {
5365            "type": "preproc_else",
5366            "named": true
5367          }
5368        ]
5369      },
5370      "name": {
5371        "multiple": false,
5372        "required": true,
5373        "types": [
5374          {
5375            "type": "identifier",
5376            "named": true
5377          }
5378        ]
5379      }
5380    },
5381    "children": {
5382      "multiple": true,
5383      "required": false,
5384      "types": [
5385        {
5386          "type": "access_specifier",
5387          "named": true
5388        },
5389        {
5390          "type": "alias_declaration",
5391          "named": true
5392        },
5393        {
5394          "type": "concept_definition",
5395          "named": true
5396        },
5397        {
5398          "type": "declaration",
5399          "named": true
5400        },
5401        {
5402          "type": "enumerator",
5403          "named": true
5404        },
5405        {
5406          "type": "field_declaration",
5407          "named": true
5408        },
5409        {
5410          "type": "friend_declaration",
5411          "named": true
5412        },
5413        {
5414          "type": "function_definition",
5415          "named": true
5416        },
5417        {
5418          "type": "linkage_specification",
5419          "named": true
5420        },
5421        {
5422          "type": "namespace_alias_definition",
5423          "named": true
5424        },
5425        {
5426          "type": "namespace_definition",
5427          "named": true
5428        },
5429        {
5430          "type": "preproc_call",
5431          "named": true
5432        },
5433        {
5434          "type": "preproc_def",
5435          "named": true
5436        },
5437        {
5438          "type": "preproc_function_def",
5439          "named": true
5440        },
5441        {
5442          "type": "preproc_if",
5443          "named": true
5444        },
5445        {
5446          "type": "preproc_ifdef",
5447          "named": true
5448        },
5449        {
5450          "type": "preproc_include",
5451          "named": true
5452        },
5453        {
5454          "type": "statement",
5455          "named": true
5456        },
5457        {
5458          "type": "static_assert_declaration",
5459          "named": true
5460        },
5461        {
5462          "type": "template_declaration",
5463          "named": true
5464        },
5465        {
5466          "type": "template_instantiation",
5467          "named": true
5468        },
5469        {
5470          "type": "type_definition",
5471          "named": true
5472        },
5473        {
5474          "type": "type_specifier",
5475          "named": true
5476        },
5477        {
5478          "type": "using_declaration",
5479          "named": true
5480        }
5481      ]
5482    }
5483  },
5484  {
5485    "type": "preproc_include",
5486    "named": true,
5487    "fields": {
5488      "path": {
5489        "multiple": false,
5490        "required": true,
5491        "types": [
5492          {
5493            "type": "call_expression",
5494            "named": true
5495          },
5496          {
5497            "type": "identifier",
5498            "named": true
5499          },
5500          {
5501            "type": "string_literal",
5502            "named": true
5503          },
5504          {
5505            "type": "system_lib_string",
5506            "named": true
5507          }
5508        ]
5509      }
5510    }
5511  },
5512  {
5513    "type": "preproc_params",
5514    "named": true,
5515    "fields": {},
5516    "children": {
5517      "multiple": true,
5518      "required": false,
5519      "types": [
5520        {
5521          "type": "identifier",
5522          "named": true
5523        }
5524      ]
5525    }
5526  },
5527  {
5528    "type": "pure_virtual_clause",
5529    "named": true,
5530    "fields": {}
5531  },
5532  {
5533    "type": "qualified_identifier",
5534    "named": true,
5535    "fields": {
5536      "name": {
5537        "multiple": true,
5538        "required": true,
5539        "types": [
5540          {
5541            "type": "dependent_name",
5542            "named": true
5543          },
5544          {
5545            "type": "destructor_name",
5546            "named": true
5547          },
5548          {
5549            "type": "field_identifier",
5550            "named": true
5551          },
5552          {
5553            "type": "identifier",
5554            "named": true
5555          },
5556          {
5557            "type": "operator_cast",
5558            "named": true
5559          },
5560          {
5561            "type": "operator_name",
5562            "named": true
5563          },
5564          {
5565            "type": "pointer_type_declarator",
5566            "named": true
5567          },
5568          {
5569            "type": "qualified_identifier",
5570            "named": true
5571          },
5572          {
5573            "type": "template",
5574            "named": false
5575          },
5576          {
5577            "type": "template_function",
5578            "named": true
5579          },
5580          {
5581            "type": "template_method",
5582            "named": true
5583          },
5584          {
5585            "type": "template_type",
5586            "named": true
5587          },
5588          {
5589            "type": "type_identifier",
5590            "named": true
5591          }
5592        ]
5593      },
5594      "scope": {
5595        "multiple": false,
5596        "required": false,
5597        "types": [
5598          {
5599            "type": "decltype",
5600            "named": true
5601          },
5602          {
5603            "type": "dependent_name",
5604            "named": true
5605          },
5606          {
5607            "type": "namespace_identifier",
5608            "named": true
5609          },
5610          {
5611            "type": "template_type",
5612            "named": true
5613          }
5614        ]
5615      }
5616    }
5617  },
5618  {
5619    "type": "raw_string_literal",
5620    "named": true,
5621    "fields": {
5622      "delimiter": {
5623        "multiple": false,
5624        "required": false,
5625        "types": [
5626          {
5627            "type": "raw_string_delimiter",
5628            "named": true
5629          }
5630        ]
5631      }
5632    },
5633    "children": {
5634      "multiple": true,
5635      "required": true,
5636      "types": [
5637        {
5638          "type": "raw_string_content",
5639          "named": true
5640        },
5641        {
5642          "type": "raw_string_delimiter",
5643          "named": true
5644        }
5645      ]
5646    }
5647  },
5648  {
5649    "type": "ref_qualifier",
5650    "named": true,
5651    "fields": {}
5652  },
5653  {
5654    "type": "reference_declarator",
5655    "named": true,
5656    "fields": {},
5657    "children": {
5658      "multiple": false,
5659      "required": true,
5660      "types": [
5661        {
5662          "type": "_declarator",
5663          "named": true
5664        },
5665        {
5666          "type": "_field_declarator",
5667          "named": true
5668        },
5669        {
5670          "type": "_type_declarator",
5671          "named": true
5672        },
5673        {
5674          "type": "variadic_declarator",
5675          "named": true
5676        }
5677      ]
5678    }
5679  },
5680  {
5681    "type": "requirement_seq",
5682    "named": true,
5683    "fields": {},
5684    "children": {
5685      "multiple": true,
5686      "required": false,
5687      "types": [
5688        {
5689          "type": "compound_requirement",
5690          "named": true
5691        },
5692        {
5693          "type": "simple_requirement",
5694          "named": true
5695        },
5696        {
5697          "type": "type_requirement",
5698          "named": true
5699        }
5700      ]
5701    }
5702  },
5703  {
5704    "type": "requires_clause",
5705    "named": true,
5706    "fields": {
5707      "constraint": {
5708        "multiple": true,
5709        "required": true,
5710        "types": [
5711          {
5712            "type": "(",
5713            "named": false
5714          },
5715          {
5716            "type": ")",
5717            "named": false
5718          },
5719          {
5720            "type": "constraint_conjunction",
5721            "named": true
5722          },
5723          {
5724            "type": "constraint_disjunction",
5725            "named": true
5726          },
5727          {
5728            "type": "expression",
5729            "named": true
5730          },
5731          {
5732            "type": "template_type",
5733            "named": true
5734          },
5735          {
5736            "type": "type_identifier",
5737            "named": true
5738          }
5739        ]
5740      }
5741    }
5742  },
5743  {
5744    "type": "requires_expression",
5745    "named": true,
5746    "fields": {
5747      "parameters": {
5748        "multiple": false,
5749        "required": false,
5750        "types": [
5751          {
5752            "type": "parameter_list",
5753            "named": true
5754          }
5755        ]
5756      },
5757      "requirements": {
5758        "multiple": false,
5759        "required": true,
5760        "types": [
5761          {
5762            "type": "requirement_seq",
5763            "named": true
5764          }
5765        ]
5766      }
5767    }
5768  },
5769  {
5770    "type": "return_statement",
5771    "named": true,
5772    "fields": {},
5773    "children": {
5774      "multiple": false,
5775      "required": false,
5776      "types": [
5777        {
5778          "type": "comma_expression",
5779          "named": true
5780        },
5781        {
5782          "type": "expression",
5783          "named": true
5784        },
5785        {
5786          "type": "initializer_list",
5787          "named": true
5788        }
5789      ]
5790    }
5791  },
5792  {
5793    "type": "seh_except_clause",
5794    "named": true,
5795    "fields": {
5796      "body": {
5797        "multiple": false,
5798        "required": true,
5799        "types": [
5800          {
5801            "type": "compound_statement",
5802            "named": true
5803          }
5804        ]
5805      },
5806      "filter": {
5807        "multiple": false,
5808        "required": true,
5809        "types": [
5810          {
5811            "type": "parenthesized_expression",
5812            "named": true
5813          }
5814        ]
5815      }
5816    }
5817  },
5818  {
5819    "type": "seh_finally_clause",
5820    "named": true,
5821    "fields": {
5822      "body": {
5823        "multiple": false,
5824        "required": true,
5825        "types": [
5826          {
5827            "type": "compound_statement",
5828            "named": true
5829          }
5830        ]
5831      }
5832    }
5833  },
5834  {
5835    "type": "seh_leave_statement",
5836    "named": true,
5837    "fields": {}
5838  },
5839  {
5840    "type": "seh_try_statement",
5841    "named": true,
5842    "fields": {
5843      "body": {
5844        "multiple": false,
5845        "required": true,
5846        "types": [
5847          {
5848            "type": "compound_statement",
5849            "named": true
5850          }
5851        ]
5852      }
5853    },
5854    "children": {
5855      "multiple": false,
5856      "required": true,
5857      "types": [
5858        {
5859          "type": "seh_except_clause",
5860          "named": true
5861        },
5862        {
5863          "type": "seh_finally_clause",
5864          "named": true
5865        }
5866      ]
5867    }
5868  },
5869  {
5870    "type": "simple_requirement",
5871    "named": true,
5872    "fields": {},
5873    "children": {
5874      "multiple": false,
5875      "required": false,
5876      "types": [
5877        {
5878          "type": "comma_expression",
5879          "named": true
5880        },
5881        {
5882          "type": "expression",
5883          "named": true
5884        }
5885      ]
5886    }
5887  },
5888  {
5889    "type": "sized_type_specifier",
5890    "named": true,
5891    "fields": {
5892      "type": {
5893        "multiple": false,
5894        "required": false,
5895        "types": [
5896          {
5897            "type": "primitive_type",
5898            "named": true
5899          },
5900          {
5901            "type": "type_identifier",
5902            "named": true
5903          }
5904        ]
5905      }
5906    }
5907  },
5908  {
5909    "type": "sizeof_expression",
5910    "named": true,
5911    "fields": {
5912      "type": {
5913        "multiple": false,
5914        "required": false,
5915        "types": [
5916          {
5917            "type": "type_descriptor",
5918            "named": true
5919          }
5920        ]
5921      },
5922      "value": {
5923        "multiple": false,
5924        "required": false,
5925        "types": [
5926          {
5927            "type": "expression",
5928            "named": true
5929          }
5930        ]
5931      }
5932    }
5933  },
5934  {
5935    "type": "static_assert_declaration",
5936    "named": true,
5937    "fields": {
5938      "condition": {
5939        "multiple": false,
5940        "required": true,
5941        "types": [
5942          {
5943            "type": "expression",
5944            "named": true
5945          }
5946        ]
5947      },
5948      "message": {
5949        "multiple": false,
5950        "required": false,
5951        "types": [
5952          {
5953            "type": "concatenated_string",
5954            "named": true
5955          },
5956          {
5957            "type": "raw_string_literal",
5958            "named": true
5959          },
5960          {
5961            "type": "string_literal",
5962            "named": true
5963          }
5964        ]
5965      }
5966    }
5967  },
5968  {
5969    "type": "storage_class_specifier",
5970    "named": true,
5971    "fields": {}
5972  },
5973  {
5974    "type": "string_literal",
5975    "named": true,
5976    "fields": {},
5977    "children": {
5978      "multiple": true,
5979      "required": false,
5980      "types": [
5981        {
5982          "type": "escape_sequence",
5983          "named": true
5984        },
5985        {
5986          "type": "string_content",
5987          "named": true
5988        }
5989      ]
5990    }
5991  },
5992  {
5993    "type": "struct_specifier",
5994    "named": true,
5995    "fields": {
5996      "body": {
5997        "multiple": false,
5998        "required": false,
5999        "types": [
6000          {
6001            "type": "field_declaration_list",
6002            "named": true
6003          }
6004        ]
6005      },
6006      "name": {
6007        "multiple": false,
6008        "required": false,
6009        "types": [
6010          {
6011            "type": "qualified_identifier",
6012            "named": true
6013          },
6014          {
6015            "type": "template_type",
6016            "named": true
6017          },
6018          {
6019            "type": "type_identifier",
6020            "named": true
6021          }
6022        ]
6023      }
6024    },
6025    "children": {
6026      "multiple": true,
6027      "required": false,
6028      "types": [
6029        {
6030          "type": "alignas_qualifier",
6031          "named": true
6032        },
6033        {
6034          "type": "attribute_declaration",
6035          "named": true
6036        },
6037        {
6038          "type": "attribute_specifier",
6039          "named": true
6040        },
6041        {
6042          "type": "base_class_clause",
6043          "named": true
6044        },
6045        {
6046          "type": "ms_declspec_modifier",
6047          "named": true
6048        },
6049        {
6050          "type": "virtual_specifier",
6051          "named": true
6052        }
6053      ]
6054    }
6055  },
6056  {
6057    "type": "structured_binding_declarator",
6058    "named": true,
6059    "fields": {},
6060    "children": {
6061      "multiple": true,
6062      "required": true,
6063      "types": [
6064        {
6065          "type": "identifier",
6066          "named": true
6067        }
6068      ]
6069    }
6070  },
6071  {
6072    "type": "subscript_argument_list",
6073    "named": true,
6074    "fields": {},
6075    "children": {
6076      "multiple": true,
6077      "required": false,
6078      "types": [
6079        {
6080          "type": "expression",
6081          "named": true
6082        },
6083        {
6084          "type": "initializer_list",
6085          "named": true
6086        }
6087      ]
6088    }
6089  },
6090  {
6091    "type": "subscript_designator",
6092    "named": true,
6093    "fields": {},
6094    "children": {
6095      "multiple": false,
6096      "required": true,
6097      "types": [
6098        {
6099          "type": "expression",
6100          "named": true
6101        }
6102      ]
6103    }
6104  },
6105  {
6106    "type": "subscript_expression",
6107    "named": true,
6108    "fields": {
6109      "argument": {
6110        "multiple": false,
6111        "required": true,
6112        "types": [
6113          {
6114            "type": "expression",
6115            "named": true
6116          }
6117        ]
6118      },
6119      "indices": {
6120        "multiple": false,
6121        "required": true,
6122        "types": [
6123          {
6124            "type": "subscript_argument_list",
6125            "named": true
6126          }
6127        ]
6128      }
6129    }
6130  },
6131  {
6132    "type": "subscript_range_designator",
6133    "named": true,
6134    "fields": {
6135      "end": {
6136        "multiple": false,
6137        "required": true,
6138        "types": [
6139          {
6140            "type": "expression",
6141            "named": true
6142          }
6143        ]
6144      },
6145      "start": {
6146        "multiple": false,
6147        "required": true,
6148        "types": [
6149          {
6150            "type": "expression",
6151            "named": true
6152          }
6153        ]
6154      }
6155    }
6156  },
6157  {
6158    "type": "switch_statement",
6159    "named": true,
6160    "fields": {
6161      "body": {
6162        "multiple": false,
6163        "required": true,
6164        "types": [
6165          {
6166            "type": "compound_statement",
6167            "named": true
6168          }
6169        ]
6170      },
6171      "condition": {
6172        "multiple": false,
6173        "required": true,
6174        "types": [
6175          {
6176            "type": "condition_clause",
6177            "named": true
6178          }
6179        ]
6180      }
6181    }
6182  },
6183  {
6184    "type": "template_argument_list",
6185    "named": true,
6186    "fields": {},
6187    "children": {
6188      "multiple": true,
6189      "required": false,
6190      "types": [
6191        {
6192          "type": "expression",
6193          "named": true
6194        },
6195        {
6196          "type": "type_descriptor",
6197          "named": true
6198        }
6199      ]
6200    }
6201  },
6202  {
6203    "type": "template_declaration",
6204    "named": true,
6205    "fields": {
6206      "parameters": {
6207        "multiple": false,
6208        "required": true,
6209        "types": [
6210          {
6211            "type": "template_parameter_list",
6212            "named": true
6213          }
6214        ]
6215      }
6216    },
6217    "children": {
6218      "multiple": true,
6219      "required": true,
6220      "types": [
6221        {
6222          "type": "alias_declaration",
6223          "named": true
6224        },
6225        {
6226          "type": "concept_definition",
6227          "named": true
6228        },
6229        {
6230          "type": "declaration",
6231          "named": true
6232        },
6233        {
6234          "type": "friend_declaration",
6235          "named": true
6236        },
6237        {
6238          "type": "function_definition",
6239          "named": true
6240        },
6241        {
6242          "type": "requires_clause",
6243          "named": true
6244        },
6245        {
6246          "type": "template_declaration",
6247          "named": true
6248        },
6249        {
6250          "type": "type_specifier",
6251          "named": true
6252        }
6253      ]
6254    }
6255  },
6256  {
6257    "type": "template_function",
6258    "named": true,
6259    "fields": {
6260      "arguments": {
6261        "multiple": false,
6262        "required": true,
6263        "types": [
6264          {
6265            "type": "template_argument_list",
6266            "named": true
6267          }
6268        ]
6269      },
6270      "name": {
6271        "multiple": false,
6272        "required": true,
6273        "types": [
6274          {
6275            "type": "identifier",
6276            "named": true
6277          }
6278        ]
6279      }
6280    }
6281  },
6282  {
6283    "type": "template_instantiation",
6284    "named": true,
6285    "fields": {
6286      "declarator": {
6287        "multiple": false,
6288        "required": true,
6289        "types": [
6290          {
6291            "type": "_declarator",
6292            "named": true
6293          }
6294        ]
6295      },
6296      "type": {
6297        "multiple": false,
6298        "required": false,
6299        "types": [
6300          {
6301            "type": "type_specifier",
6302            "named": true
6303          }
6304        ]
6305      }
6306    },
6307    "children": {
6308      "multiple": true,
6309      "required": false,
6310      "types": [
6311        {
6312          "type": "attribute_declaration",
6313          "named": true
6314        },
6315        {
6316          "type": "attribute_specifier",
6317          "named": true
6318        },
6319        {
6320          "type": "launch_bounds",
6321          "named": true
6322        },
6323        {
6324          "type": "ms_declspec_modifier",
6325          "named": true
6326        },
6327        {
6328          "type": "storage_class_specifier",
6329          "named": true
6330        },
6331        {
6332          "type": "type_qualifier",
6333          "named": true
6334        },
6335        {
6336          "type": "virtual",
6337          "named": true
6338        }
6339      ]
6340    }
6341  },
6342  {
6343    "type": "template_method",
6344    "named": true,
6345    "fields": {
6346      "arguments": {
6347        "multiple": false,
6348        "required": true,
6349        "types": [
6350          {
6351            "type": "template_argument_list",
6352            "named": true
6353          }
6354        ]
6355      },
6356      "name": {
6357        "multiple": false,
6358        "required": true,
6359        "types": [
6360          {
6361            "type": "field_identifier",
6362            "named": true
6363          },
6364          {
6365            "type": "operator_name",
6366            "named": true
6367          }
6368        ]
6369      }
6370    }
6371  },
6372  {
6373    "type": "template_parameter_list",
6374    "named": true,
6375    "fields": {},
6376    "children": {
6377      "multiple": true,
6378      "required": false,
6379      "types": [
6380        {
6381          "type": "optional_parameter_declaration",
6382          "named": true
6383        },
6384        {
6385          "type": "optional_type_parameter_declaration",
6386          "named": true
6387        },
6388        {
6389          "type": "parameter_declaration",
6390          "named": true
6391        },
6392        {
6393          "type": "template_template_parameter_declaration",
6394          "named": true
6395        },
6396        {
6397          "type": "type_parameter_declaration",
6398          "named": true
6399        },
6400        {
6401          "type": "variadic_parameter_declaration",
6402          "named": true
6403        },
6404        {
6405          "type": "variadic_type_parameter_declaration",
6406          "named": true
6407        }
6408      ]
6409    }
6410  },
6411  {
6412    "type": "template_template_parameter_declaration",
6413    "named": true,
6414    "fields": {
6415      "parameters": {
6416        "multiple": false,
6417        "required": true,
6418        "types": [
6419          {
6420            "type": "template_parameter_list",
6421            "named": true
6422          }
6423        ]
6424      }
6425    },
6426    "children": {
6427      "multiple": false,
6428      "required": true,
6429      "types": [
6430        {
6431          "type": "optional_type_parameter_declaration",
6432          "named": true
6433        },
6434        {
6435          "type": "type_parameter_declaration",
6436          "named": true
6437        },
6438        {
6439          "type": "variadic_type_parameter_declaration",
6440          "named": true
6441        }
6442      ]
6443    }
6444  },
6445  {
6446    "type": "template_type",
6447    "named": true,
6448    "fields": {
6449      "arguments": {
6450        "multiple": false,
6451        "required": true,
6452        "types": [
6453          {
6454            "type": "template_argument_list",
6455            "named": true
6456          }
6457        ]
6458      },
6459      "name": {
6460        "multiple": false,
6461        "required": true,
6462        "types": [
6463          {
6464            "type": "type_identifier",
6465            "named": true
6466          }
6467        ]
6468      }
6469    }
6470  },
6471  {
6472    "type": "throw_specifier",
6473    "named": true,
6474    "fields": {},
6475    "children": {
6476      "multiple": true,
6477      "required": false,
6478      "types": [
6479        {
6480          "type": "type_descriptor",
6481          "named": true
6482        }
6483      ]
6484    }
6485  },
6486  {
6487    "type": "throw_statement",
6488    "named": true,
6489    "fields": {},
6490    "children": {
6491      "multiple": false,
6492      "required": false,
6493      "types": [
6494        {
6495          "type": "expression",
6496          "named": true
6497        }
6498      ]
6499    }
6500  },
6501  {
6502    "type": "trailing_return_type",
6503    "named": true,
6504    "fields": {},
6505    "children": {
6506      "multiple": false,
6507      "required": true,
6508      "types": [
6509        {
6510          "type": "type_descriptor",
6511          "named": true
6512        }
6513      ]
6514    }
6515  },
6516  {
6517    "type": "translation_unit",
6518    "named": true,
6519    "fields": {},
6520    "children": {
6521      "multiple": true,
6522      "required": false,
6523      "types": [
6524        {
6525          "type": "alias_declaration",
6526          "named": true
6527        },
6528        {
6529          "type": "attributed_statement",
6530          "named": true
6531        },
6532        {
6533          "type": "break_statement",
6534          "named": true
6535        },
6536        {
6537          "type": "case_statement",
6538          "named": true
6539        },
6540        {
6541          "type": "co_return_statement",
6542          "named": true
6543        },
6544        {
6545          "type": "co_yield_statement",
6546          "named": true
6547        },
6548        {
6549          "type": "compound_statement",
6550          "named": true
6551        },
6552        {
6553          "type": "concept_definition",
6554          "named": true
6555        },
6556        {
6557          "type": "continue_statement",
6558          "named": true
6559        },
6560        {
6561          "type": "declaration",
6562          "named": true
6563        },
6564        {
6565          "type": "do_statement",
6566          "named": true
6567        },
6568        {
6569          "type": "expression_statement",
6570          "named": true
6571        },
6572        {
6573          "type": "for_range_loop",
6574          "named": true
6575        },
6576        {
6577          "type": "for_statement",
6578          "named": true
6579        },
6580        {
6581          "type": "function_definition",
6582          "named": true
6583        },
6584        {
6585          "type": "goto_statement",
6586          "named": true
6587        },
6588        {
6589          "type": "if_statement",
6590          "named": true
6591        },
6592        {
6593          "type": "labeled_statement",
6594          "named": true
6595        },
6596        {
6597          "type": "linkage_specification",
6598          "named": true
6599        },
6600        {
6601          "type": "namespace_alias_definition",
6602          "named": true
6603        },
6604        {
6605          "type": "namespace_definition",
6606          "named": true
6607        },
6608        {
6609          "type": "preproc_call",
6610          "named": true
6611        },
6612        {
6613          "type": "preproc_def",
6614          "named": true
6615        },
6616        {
6617          "type": "preproc_function_def",
6618          "named": true
6619        },
6620        {
6621          "type": "preproc_if",
6622          "named": true
6623        },
6624        {
6625          "type": "preproc_ifdef",
6626          "named": true
6627        },
6628        {
6629          "type": "preproc_include",
6630          "named": true
6631        },
6632        {
6633          "type": "return_statement",
6634          "named": true
6635        },
6636        {
6637          "type": "static_assert_declaration",
6638          "named": true
6639        },
6640        {
6641          "type": "switch_statement",
6642          "named": true
6643        },
6644        {
6645          "type": "template_declaration",
6646          "named": true
6647        },
6648        {
6649          "type": "template_instantiation",
6650          "named": true
6651        },
6652        {
6653          "type": "throw_statement",
6654          "named": true
6655        },
6656        {
6657          "type": "try_statement",
6658          "named": true
6659        },
6660        {
6661          "type": "type_definition",
6662          "named": true
6663        },
6664        {
6665          "type": "type_specifier",
6666          "named": true
6667        },
6668        {
6669          "type": "using_declaration",
6670          "named": true
6671        },
6672        {
6673          "type": "while_statement",
6674          "named": true
6675        }
6676      ]
6677    }
6678  },
6679  {
6680    "type": "try_statement",
6681    "named": true,
6682    "fields": {
6683      "body": {
6684        "multiple": false,
6685        "required": true,
6686        "types": [
6687          {
6688            "type": "compound_statement",
6689            "named": true
6690          }
6691        ]
6692      }
6693    },
6694    "children": {
6695      "multiple": true,
6696      "required": true,
6697      "types": [
6698        {
6699          "type": "catch_clause",
6700          "named": true
6701        },
6702        {
6703          "type": "field_initializer_list",
6704          "named": true
6705        }
6706      ]
6707    }
6708  },
6709  {
6710    "type": "type_definition",
6711    "named": true,
6712    "fields": {
6713      "declarator": {
6714        "multiple": true,
6715        "required": true,
6716        "types": [
6717          {
6718            "type": "_type_declarator",
6719            "named": true
6720          }
6721        ]
6722      },
6723      "type": {
6724        "multiple": false,
6725        "required": true,
6726        "types": [
6727          {
6728            "type": "type_specifier",
6729            "named": true
6730          }
6731        ]
6732      }
6733    },
6734    "children": {
6735      "multiple": true,
6736      "required": false,
6737      "types": [
6738        {
6739          "type": "attribute_specifier",
6740          "named": true
6741        },
6742        {
6743          "type": "type_qualifier",
6744          "named": true
6745        }
6746      ]
6747    }
6748  },
6749  {
6750    "type": "type_descriptor",
6751    "named": true,
6752    "fields": {
6753      "declarator": {
6754        "multiple": false,
6755        "required": false,
6756        "types": [
6757          {
6758            "type": "_abstract_declarator",
6759            "named": true
6760          }
6761        ]
6762      },
6763      "type": {
6764        "multiple": false,
6765        "required": true,
6766        "types": [
6767          {
6768            "type": "type_specifier",
6769            "named": true
6770          }
6771        ]
6772      }
6773    },
6774    "children": {
6775      "multiple": true,
6776      "required": false,
6777      "types": [
6778        {
6779          "type": "type_qualifier",
6780          "named": true
6781        }
6782      ]
6783    }
6784  },
6785  {
6786    "type": "type_parameter_declaration",
6787    "named": true,
6788    "fields": {},
6789    "children": {
6790      "multiple": false,
6791      "required": false,
6792      "types": [
6793        {
6794          "type": "type_identifier",
6795          "named": true
6796        }
6797      ]
6798    }
6799  },
6800  {
6801    "type": "type_qualifier",
6802    "named": true,
6803    "fields": {},
6804    "children": {
6805      "multiple": false,
6806      "required": false,
6807      "types": [
6808        {
6809          "type": "alignas_qualifier",
6810          "named": true
6811        }
6812      ]
6813    }
6814  },
6815  {
6816    "type": "type_requirement",
6817    "named": true,
6818    "fields": {},
6819    "children": {
6820      "multiple": false,
6821      "required": true,
6822      "types": [
6823        {
6824          "type": "qualified_identifier",
6825          "named": true
6826        },
6827        {
6828          "type": "template_type",
6829          "named": true
6830        },
6831        {
6832          "type": "type_identifier",
6833          "named": true
6834        }
6835      ]
6836    }
6837  },
6838  {
6839    "type": "unary_expression",
6840    "named": true,
6841    "fields": {
6842      "argument": {
6843        "multiple": false,
6844        "required": true,
6845        "types": [
6846          {
6847            "type": "expression",
6848            "named": true
6849          },
6850          {
6851            "type": "preproc_defined",
6852            "named": true
6853          }
6854        ]
6855      },
6856      "operator": {
6857        "multiple": false,
6858        "required": true,
6859        "types": [
6860          {
6861            "type": "!",
6862            "named": false
6863          },
6864          {
6865            "type": "+",
6866            "named": false
6867          },
6868          {
6869            "type": "-",
6870            "named": false
6871          },
6872          {
6873            "type": "compl",
6874            "named": false
6875          },
6876          {
6877            "type": "not",
6878            "named": false
6879          },
6880          {
6881            "type": "~",
6882            "named": false
6883          }
6884        ]
6885      }
6886    }
6887  },
6888  {
6889    "type": "union_specifier",
6890    "named": true,
6891    "fields": {
6892      "body": {
6893        "multiple": false,
6894        "required": false,
6895        "types": [
6896          {
6897            "type": "field_declaration_list",
6898            "named": true
6899          }
6900        ]
6901      },
6902      "name": {
6903        "multiple": false,
6904        "required": false,
6905        "types": [
6906          {
6907            "type": "qualified_identifier",
6908            "named": true
6909          },
6910          {
6911            "type": "template_type",
6912            "named": true
6913          },
6914          {
6915            "type": "type_identifier",
6916            "named": true
6917          }
6918        ]
6919      }
6920    },
6921    "children": {
6922      "multiple": true,
6923      "required": false,
6924      "types": [
6925        {
6926          "type": "alignas_qualifier",
6927          "named": true
6928        },
6929        {
6930          "type": "attribute_declaration",
6931          "named": true
6932        },
6933        {
6934          "type": "attribute_specifier",
6935          "named": true
6936        },
6937        {
6938          "type": "base_class_clause",
6939          "named": true
6940        },
6941        {
6942          "type": "ms_declspec_modifier",
6943          "named": true
6944        },
6945        {
6946          "type": "virtual_specifier",
6947          "named": true
6948        }
6949      ]
6950    }
6951  },
6952  {
6953    "type": "update_expression",
6954    "named": true,
6955    "fields": {
6956      "argument": {
6957        "multiple": false,
6958        "required": true,
6959        "types": [
6960          {
6961            "type": "expression",
6962            "named": true
6963          }
6964        ]
6965      },
6966      "operator": {
6967        "multiple": false,
6968        "required": true,
6969        "types": [
6970          {
6971            "type": "++",
6972            "named": false
6973          },
6974          {
6975            "type": "--",
6976            "named": false
6977          }
6978        ]
6979      }
6980    }
6981  },
6982  {
6983    "type": "user_defined_literal",
6984    "named": true,
6985    "fields": {},
6986    "children": {
6987      "multiple": true,
6988      "required": true,
6989      "types": [
6990        {
6991          "type": "char_literal",
6992          "named": true
6993        },
6994        {
6995          "type": "concatenated_string",
6996          "named": true
6997        },
6998        {
6999          "type": "literal_suffix",
7000          "named": true
7001        },
7002        {
7003          "type": "number_literal",
7004          "named": true
7005        },
7006        {
7007          "type": "raw_string_literal",
7008          "named": true
7009        },
7010        {
7011          "type": "string_literal",
7012          "named": true
7013        }
7014      ]
7015    }
7016  },
7017  {
7018    "type": "using_declaration",
7019    "named": true,
7020    "fields": {},
7021    "children": {
7022      "multiple": false,
7023      "required": true,
7024      "types": [
7025        {
7026          "type": "identifier",
7027          "named": true
7028        },
7029        {
7030          "type": "qualified_identifier",
7031          "named": true
7032        }
7033      ]
7034    }
7035  },
7036  {
7037    "type": "variadic_declarator",
7038    "named": true,
7039    "fields": {},
7040    "children": {
7041      "multiple": false,
7042      "required": false,
7043      "types": [
7044        {
7045          "type": "identifier",
7046          "named": true
7047        }
7048      ]
7049    }
7050  },
7051  {
7052    "type": "variadic_parameter",
7053    "named": true,
7054    "fields": {}
7055  },
7056  {
7057    "type": "variadic_parameter_declaration",
7058    "named": true,
7059    "fields": {
7060      "declarator": {
7061        "multiple": false,
7062        "required": true,
7063        "types": [
7064          {
7065            "type": "reference_declarator",
7066            "named": true
7067          },
7068          {
7069            "type": "variadic_declarator",
7070            "named": true
7071          }
7072        ]
7073      },
7074      "type": {
7075        "multiple": false,
7076        "required": true,
7077        "types": [
7078          {
7079            "type": "type_specifier",
7080            "named": true
7081          }
7082        ]
7083      }
7084    },
7085    "children": {
7086      "multiple": true,
7087      "required": false,
7088      "types": [
7089        {
7090          "type": "attribute_declaration",
7091          "named": true
7092        },
7093        {
7094          "type": "attribute_specifier",
7095          "named": true
7096        },
7097        {
7098          "type": "launch_bounds",
7099          "named": true
7100        },
7101        {
7102          "type": "ms_declspec_modifier",
7103          "named": true
7104        },
7105        {
7106          "type": "storage_class_specifier",
7107          "named": true
7108        },
7109        {
7110          "type": "type_qualifier",
7111          "named": true
7112        },
7113        {
7114          "type": "virtual",
7115          "named": true
7116        }
7117      ]
7118    }
7119  },
7120  {
7121    "type": "variadic_type_parameter_declaration",
7122    "named": true,
7123    "fields": {},
7124    "children": {
7125      "multiple": false,
7126      "required": false,
7127      "types": [
7128        {
7129          "type": "type_identifier",
7130          "named": true
7131        }
7132      ]
7133    }
7134  },
7135  {
7136    "type": "virtual_specifier",
7137    "named": true,
7138    "fields": {}
7139  },
7140  {
7141    "type": "while_statement",
7142    "named": true,
7143    "fields": {
7144      "body": {
7145        "multiple": false,
7146        "required": true,
7147        "types": [
7148          {
7149            "type": "statement",
7150            "named": true
7151          }
7152        ]
7153      },
7154      "condition": {
7155        "multiple": false,
7156        "required": true,
7157        "types": [
7158          {
7159            "type": "condition_clause",
7160            "named": true
7161          }
7162        ]
7163      }
7164    }
7165  },
7166  {
7167    "type": "\n",
7168    "named": false
7169  },
7170  {
7171    "type": "!",
7172    "named": false
7173  },
7174  {
7175    "type": "!=",
7176    "named": false
7177  },
7178  {
7179    "type": "\"",
7180    "named": false
7181  },
7182  {
7183    "type": "\"\"",
7184    "named": false
7185  },
7186  {
7187    "type": "#define",
7188    "named": false
7189  },
7190  {
7191    "type": "#elif",
7192    "named": false
7193  },
7194  {
7195    "type": "#elifdef",
7196    "named": false
7197  },
7198  {
7199    "type": "#elifndef",
7200    "named": false
7201  },
7202  {
7203    "type": "#else",
7204    "named": false
7205  },
7206  {
7207    "type": "#endif",
7208    "named": false
7209  },
7210  {
7211    "type": "#if",
7212    "named": false
7213  },
7214  {
7215    "type": "#ifdef",
7216    "named": false
7217  },
7218  {
7219    "type": "#ifndef",
7220    "named": false
7221  },
7222  {
7223    "type": "#include",
7224    "named": false
7225  },
7226  {
7227    "type": "%",
7228    "named": false
7229  },
7230  {
7231    "type": "%=",
7232    "named": false
7233  },
7234  {
7235    "type": "&",
7236    "named": false
7237  },
7238  {
7239    "type": "&&",
7240    "named": false
7241  },
7242  {
7243    "type": "&=",
7244    "named": false
7245  },
7246  {
7247    "type": "'",
7248    "named": false
7249  },
7250  {
7251    "type": "(",
7252    "named": false
7253  },
7254  {
7255    "type": "()",
7256    "named": false
7257  },
7258  {
7259    "type": ")",
7260    "named": false
7261  },
7262  {
7263    "type": "*",
7264    "named": false
7265  },
7266  {
7267    "type": "*=",
7268    "named": false
7269  },
7270  {
7271    "type": "+",
7272    "named": false
7273  },
7274  {
7275    "type": "++",
7276    "named": false
7277  },
7278  {
7279    "type": "+=",
7280    "named": false
7281  },
7282  {
7283    "type": ",",
7284    "named": false
7285  },
7286  {
7287    "type": "-",
7288    "named": false
7289  },
7290  {
7291    "type": "--",
7292    "named": false
7293  },
7294  {
7295    "type": "-=",
7296    "named": false
7297  },
7298  {
7299    "type": "->",
7300    "named": false
7301  },
7302  {
7303    "type": "->*",
7304    "named": false
7305  },
7306  {
7307    "type": ".",
7308    "named": false
7309  },
7310  {
7311    "type": ".*",
7312    "named": false
7313  },
7314  {
7315    "type": "...",
7316    "named": false
7317  },
7318  {
7319    "type": "/",
7320    "named": false
7321  },
7322  {
7323    "type": "/=",
7324    "named": false
7325  },
7326  {
7327    "type": "0",
7328    "named": false
7329  },
7330  {
7331    "type": ":",
7332    "named": false
7333  },
7334  {
7335    "type": "::",
7336    "named": false
7337  },
7338  {
7339    "type": ";",
7340    "named": false
7341  },
7342  {
7343    "type": "<",
7344    "named": false
7345  },
7346  {
7347    "type": "<<",
7348    "named": false
7349  },
7350  {
7351    "type": "<<<",
7352    "named": false
7353  },
7354  {
7355    "type": "<<=",
7356    "named": false
7357  },
7358  {
7359    "type": "<=",
7360    "named": false
7361  },
7362  {
7363    "type": "<=>",
7364    "named": false
7365  },
7366  {
7367    "type": "=",
7368    "named": false
7369  },
7370  {
7371    "type": "==",
7372    "named": false
7373  },
7374  {
7375    "type": ">",
7376    "named": false
7377  },
7378  {
7379    "type": ">=",
7380    "named": false
7381  },
7382  {
7383    "type": ">>",
7384    "named": false
7385  },
7386  {
7387    "type": ">>=",
7388    "named": false
7389  },
7390  {
7391    "type": ">>>",
7392    "named": false
7393  },
7394  {
7395    "type": "?",
7396    "named": false
7397  },
7398  {
7399    "type": "L\"",
7400    "named": false
7401  },
7402  {
7403    "type": "L'",
7404    "named": false
7405  },
7406  {
7407    "type": "LR\"",
7408    "named": false
7409  },
7410  {
7411    "type": "NULL",
7412    "named": false
7413  },
7414  {
7415    "type": "R\"",
7416    "named": false
7417  },
7418  {
7419    "type": "U\"",
7420    "named": false
7421  },
7422  {
7423    "type": "U'",
7424    "named": false
7425  },
7426  {
7427    "type": "UR\"",
7428    "named": false
7429  },
7430  {
7431    "type": "[",
7432    "named": false
7433  },
7434  {
7435    "type": "[[",
7436    "named": false
7437  },
7438  {
7439    "type": "[]",
7440    "named": false
7441  },
7442  {
7443    "type": "]",
7444    "named": false
7445  },
7446  {
7447    "type": "]]",
7448    "named": false
7449  },
7450  {
7451    "type": "^",
7452    "named": false
7453  },
7454  {
7455    "type": "^=",
7456    "named": false
7457  },
7458  {
7459    "type": "_Alignas",
7460    "named": false
7461  },
7462  {
7463    "type": "_Alignof",
7464    "named": false
7465  },
7466  {
7467    "type": "_Atomic",
7468    "named": false
7469  },
7470  {
7471    "type": "_Generic",
7472    "named": false
7473  },
7474  {
7475    "type": "_Noreturn",
7476    "named": false
7477  },
7478  {
7479    "type": "__alignof",
7480    "named": false
7481  },
7482  {
7483    "type": "__alignof__",
7484    "named": false
7485  },
7486  {
7487    "type": "__asm__",
7488    "named": false
7489  },
7490  {
7491    "type": "__attribute__",
7492    "named": false
7493  },
7494  {
7495    "type": "__based",
7496    "named": false
7497  },
7498  {
7499    "type": "__cdecl",
7500    "named": false
7501  },
7502  {
7503    "type": "__clrcall",
7504    "named": false
7505  },
7506  {
7507    "type": "__constant__",
7508    "named": false
7509  },
7510  {
7511    "type": "__declspec",
7512    "named": false
7513  },
7514  {
7515    "type": "__device__",
7516    "named": false
7517  },
7518  {
7519    "type": "__except",
7520    "named": false
7521  },
7522  {
7523    "type": "__extension__",
7524    "named": false
7525  },
7526  {
7527    "type": "__fastcall",
7528    "named": false
7529  },
7530  {
7531    "type": "__finally",
7532    "named": false
7533  },
7534  {
7535    "type": "__forceinline",
7536    "named": false
7537  },
7538  {
7539    "type": "__forceinline__",
7540    "named": false
7541  },
7542  {
7543    "type": "__global__",
7544    "named": false
7545  },
7546  {
7547    "type": "__grid_constant__",
7548    "named": false
7549  },
7550  {
7551    "type": "__host__",
7552    "named": false
7553  },
7554  {
7555    "type": "__inline",
7556    "named": false
7557  },
7558  {
7559    "type": "__inline__",
7560    "named": false
7561  },
7562  {
7563    "type": "__launch_bounds__",
7564    "named": false
7565  },
7566  {
7567    "type": "__leave",
7568    "named": false
7569  },
7570  {
7571    "type": "__local__",
7572    "named": false
7573  },
7574  {
7575    "type": "__managed__",
7576    "named": false
7577  },
7578  {
7579    "type": "__noinline__",
7580    "named": false
7581  },
7582  {
7583    "type": "__restrict__",
7584    "named": false
7585  },
7586  {
7587    "type": "__shared__",
7588    "named": false
7589  },
7590  {
7591    "type": "__stdcall",
7592    "named": false
7593  },
7594  {
7595    "type": "__thiscall",
7596    "named": false
7597  },
7598  {
7599    "type": "__thread",
7600    "named": false
7601  },
7602  {
7603    "type": "__try",
7604    "named": false
7605  },
7606  {
7607    "type": "__unaligned",
7608    "named": false
7609  },
7610  {
7611    "type": "__vectorcall",
7612    "named": false
7613  },
7614  {
7615    "type": "_alignof",
7616    "named": false
7617  },
7618  {
7619    "type": "_unaligned",
7620    "named": false
7621  },
7622  {
7623    "type": "alignas",
7624    "named": false
7625  },
7626  {
7627    "type": "alignof",
7628    "named": false
7629  },
7630  {
7631    "type": "and",
7632    "named": false
7633  },
7634  {
7635    "type": "and_eq",
7636    "named": false
7637  },
7638  {
7639    "type": "asm",
7640    "named": false
7641  },
7642  {
7643    "type": "auto",
7644    "named": true
7645  },
7646  {
7647    "type": "bitand",
7648    "named": false
7649  },
7650  {
7651    "type": "bitor",
7652    "named": false
7653  },
7654  {
7655    "type": "break",
7656    "named": false
7657  },
7658  {
7659    "type": "case",
7660    "named": false
7661  },
7662  {
7663    "type": "catch",
7664    "named": false
7665  },
7666  {
7667    "type": "character",
7668    "named": true
7669  },
7670  {
7671    "type": "class",
7672    "named": false
7673  },
7674  {
7675    "type": "co_await",
7676    "named": false
7677  },
7678  {
7679    "type": "co_return",
7680    "named": false
7681  },
7682  {
7683    "type": "co_yield",
7684    "named": false
7685  },
7686  {
7687    "type": "comment",
7688    "named": true
7689  },
7690  {
7691    "type": "compl",
7692    "named": false
7693  },
7694  {
7695    "type": "concept",
7696    "named": false
7697  },
7698  {
7699    "type": "const",
7700    "named": false
7701  },
7702  {
7703    "type": "consteval",
7704    "named": false
7705  },
7706  {
7707    "type": "constexpr",
7708    "named": false
7709  },
7710  {
7711    "type": "constinit",
7712    "named": false
7713  },
7714  {
7715    "type": "continue",
7716    "named": false
7717  },
7718  {
7719    "type": "decltype",
7720    "named": false
7721  },
7722  {
7723    "type": "default",
7724    "named": false
7725  },
7726  {
7727    "type": "defined",
7728    "named": false
7729  },
7730  {
7731    "type": "delete",
7732    "named": false
7733  },
7734  {
7735    "type": "do",
7736    "named": false
7737  },
7738  {
7739    "type": "else",
7740    "named": false
7741  },
7742  {
7743    "type": "enum",
7744    "named": false
7745  },
7746  {
7747    "type": "escape_sequence",
7748    "named": true
7749  },
7750  {
7751    "type": "explicit",
7752    "named": false
7753  },
7754  {
7755    "type": "extern",
7756    "named": false
7757  },
7758  {
7759    "type": "false",
7760    "named": true
7761  },
7762  {
7763    "type": "field_identifier",
7764    "named": true
7765  },
7766  {
7767    "type": "final",
7768    "named": false
7769  },
7770  {
7771    "type": "for",
7772    "named": false
7773  },
7774  {
7775    "type": "friend",
7776    "named": false
7777  },
7778  {
7779    "type": "goto",
7780    "named": false
7781  },
7782  {
7783    "type": "identifier",
7784    "named": true
7785  },
7786  {
7787    "type": "if",
7788    "named": false
7789  },
7790  {
7791    "type": "inline",
7792    "named": false
7793  },
7794  {
7795    "type": "literal_suffix",
7796    "named": true
7797  },
7798  {
7799    "type": "long",
7800    "named": false
7801  },
7802  {
7803    "type": "ms_restrict_modifier",
7804    "named": true
7805  },
7806  {
7807    "type": "ms_signed_ptr_modifier",
7808    "named": true
7809  },
7810  {
7811    "type": "ms_unsigned_ptr_modifier",
7812    "named": true
7813  },
7814  {
7815    "type": "mutable",
7816    "named": false
7817  },
7818  {
7819    "type": "namespace",
7820    "named": false
7821  },
7822  {
7823    "type": "namespace_identifier",
7824    "named": true
7825  },
7826  {
7827    "type": "new",
7828    "named": false
7829  },
7830  {
7831    "type": "noexcept",
7832    "named": false
7833  },
7834  {
7835    "type": "noreturn",
7836    "named": false
7837  },
7838  {
7839    "type": "not",
7840    "named": false
7841  },
7842  {
7843    "type": "not_eq",
7844    "named": false
7845  },
7846  {
7847    "type": "nullptr",
7848    "named": false
7849  },
7850  {
7851    "type": "number_literal",
7852    "named": true
7853  },
7854  {
7855    "type": "offsetof",
7856    "named": false
7857  },
7858  {
7859    "type": "operator",
7860    "named": false
7861  },
7862  {
7863    "type": "or",
7864    "named": false
7865  },
7866  {
7867    "type": "or_eq",
7868    "named": false
7869  },
7870  {
7871    "type": "override",
7872    "named": false
7873  },
7874  {
7875    "type": "preproc_arg",
7876    "named": true
7877  },
7878  {
7879    "type": "preproc_directive",
7880    "named": true
7881  },
7882  {
7883    "type": "primitive_type",
7884    "named": true
7885  },
7886  {
7887    "type": "private",
7888    "named": false
7889  },
7890  {
7891    "type": "protected",
7892    "named": false
7893  },
7894  {
7895    "type": "public",
7896    "named": false
7897  },
7898  {
7899    "type": "raw_string_content",
7900    "named": true
7901  },
7902  {
7903    "type": "raw_string_delimiter",
7904    "named": true
7905  },
7906  {
7907    "type": "register",
7908    "named": false
7909  },
7910  {
7911    "type": "requires",
7912    "named": false
7913  },
7914  {
7915    "type": "restrict",
7916    "named": false
7917  },
7918  {
7919    "type": "return",
7920    "named": false
7921  },
7922  {
7923    "type": "short",
7924    "named": false
7925  },
7926  {
7927    "type": "signed",
7928    "named": false
7929  },
7930  {
7931    "type": "sizeof",
7932    "named": false
7933  },
7934  {
7935    "type": "statement_identifier",
7936    "named": true
7937  },
7938  {
7939    "type": "static",
7940    "named": false
7941  },
7942  {
7943    "type": "static_assert",
7944    "named": false
7945  },
7946  {
7947    "type": "string_content",
7948    "named": true
7949  },
7950  {
7951    "type": "struct",
7952    "named": false
7953  },
7954  {
7955    "type": "switch",
7956    "named": false
7957  },
7958  {
7959    "type": "system_lib_string",
7960    "named": true
7961  },
7962  {
7963    "type": "template",
7964    "named": false
7965  },
7966  {
7967    "type": "this",
7968    "named": true
7969  },
7970  {
7971    "type": "thread_local",
7972    "named": false
7973  },
7974  {
7975    "type": "throw",
7976    "named": false
7977  },
7978  {
7979    "type": "true",
7980    "named": true
7981  },
7982  {
7983    "type": "try",
7984    "named": false
7985  },
7986  {
7987    "type": "type_identifier",
7988    "named": true
7989  },
7990  {
7991    "type": "typedef",
7992    "named": false
7993  },
7994  {
7995    "type": "typename",
7996    "named": false
7997  },
7998  {
7999    "type": "u\"",
8000    "named": false
8001  },
8002  {
8003    "type": "u'",
8004    "named": false
8005  },
8006  {
8007    "type": "u8\"",
8008    "named": false
8009  },
8010  {
8011    "type": "u8'",
8012    "named": false
8013  },
8014  {
8015    "type": "u8R\"",
8016    "named": false
8017  },
8018  {
8019    "type": "uR\"",
8020    "named": false
8021  },
8022  {
8023    "type": "union",
8024    "named": false
8025  },
8026  {
8027    "type": "unsigned",
8028    "named": false
8029  },
8030  {
8031    "type": "using",
8032    "named": false
8033  },
8034  {
8035    "type": "virtual",
8036    "named": true
8037  },
8038  {
8039    "type": "volatile",
8040    "named": false
8041  },
8042  {
8043    "type": "while",
8044    "named": false
8045  },
8046  {
8047    "type": "xor",
8048    "named": false
8049  },
8050  {
8051    "type": "xor_eq",
8052    "named": false
8053  },
8054  {
8055    "type": "{",
8056    "named": false
8057  },
8058  {
8059    "type": "|",
8060    "named": false
8061  },
8062  {
8063    "type": "|=",
8064    "named": false
8065  },
8066  {
8067    "type": "||",
8068    "named": false
8069  },
8070  {
8071    "type": "}",
8072    "named": false
8073  },
8074  {
8075    "type": "~",
8076    "named": false
8077  }
8078]