1[
   2  {
   3    "type": "expression",
   4    "named": true,
   5    "subtypes": [
   6      {
   7        "type": "assignment_expression",
   8        "named": true
   9      },
  10      {
  11        "type": "augmented_assignment_expression",
  12        "named": true
  13      },
  14      {
  15        "type": "binary_expression",
  16        "named": true
  17      },
  18      {
  19        "type": "cast_expression",
  20        "named": true
  21      },
  22      {
  23        "type": "clone_expression",
  24        "named": true
  25      },
  26      {
  27        "type": "conditional_expression",
  28        "named": true
  29      },
  30      {
  31        "type": "error_suppression_expression",
  32        "named": true
  33      },
  34      {
  35        "type": "include_expression",
  36        "named": true
  37      },
  38      {
  39        "type": "include_once_expression",
  40        "named": true
  41      },
  42      {
  43        "type": "match_expression",
  44        "named": true
  45      },
  46      {
  47        "type": "primary_expression",
  48        "named": true
  49      },
  50      {
  51        "type": "reference_assignment_expression",
  52        "named": true
  53      },
  54      {
  55        "type": "require_expression",
  56        "named": true
  57      },
  58      {
  59        "type": "require_once_expression",
  60        "named": true
  61      },
  62      {
  63        "type": "unary_op_expression",
  64        "named": true
  65      },
  66      {
  67        "type": "yield_expression",
  68        "named": true
  69      }
  70    ]
  71  },
  72  {
  73    "type": "literal",
  74    "named": true,
  75    "subtypes": [
  76      {
  77        "type": "boolean",
  78        "named": true
  79      },
  80      {
  81        "type": "encapsed_string",
  82        "named": true
  83      },
  84      {
  85        "type": "float",
  86        "named": true
  87      },
  88      {
  89        "type": "heredoc",
  90        "named": true
  91      },
  92      {
  93        "type": "integer",
  94        "named": true
  95      },
  96      {
  97        "type": "nowdoc",
  98        "named": true
  99      },
 100      {
 101        "type": "null",
 102        "named": true
 103      },
 104      {
 105        "type": "string",
 106        "named": true
 107      }
 108    ]
 109  },
 110  {
 111    "type": "primary_expression",
 112    "named": true,
 113    "subtypes": [
 114      {
 115        "type": "anonymous_function",
 116        "named": true
 117      },
 118      {
 119        "type": "array_creation_expression",
 120        "named": true
 121      },
 122      {
 123        "type": "arrow_function",
 124        "named": true
 125      },
 126      {
 127        "type": "cast_expression",
 128        "named": true
 129      },
 130      {
 131        "type": "class_constant_access_expression",
 132        "named": true
 133      },
 134      {
 135        "type": "dynamic_variable_name",
 136        "named": true
 137      },
 138      {
 139        "type": "function_call_expression",
 140        "named": true
 141      },
 142      {
 143        "type": "literal",
 144        "named": true
 145      },
 146      {
 147        "type": "member_access_expression",
 148        "named": true
 149      },
 150      {
 151        "type": "member_call_expression",
 152        "named": true
 153      },
 154      {
 155        "type": "name",
 156        "named": true
 157      },
 158      {
 159        "type": "nullsafe_member_access_expression",
 160        "named": true
 161      },
 162      {
 163        "type": "nullsafe_member_call_expression",
 164        "named": true
 165      },
 166      {
 167        "type": "object_creation_expression",
 168        "named": true
 169      },
 170      {
 171        "type": "parenthesized_expression",
 172        "named": true
 173      },
 174      {
 175        "type": "print_intrinsic",
 176        "named": true
 177      },
 178      {
 179        "type": "qualified_name",
 180        "named": true
 181      },
 182      {
 183        "type": "scoped_call_expression",
 184        "named": true
 185      },
 186      {
 187        "type": "scoped_property_access_expression",
 188        "named": true
 189      },
 190      {
 191        "type": "shell_command_expression",
 192        "named": true
 193      },
 194      {
 195        "type": "subscript_expression",
 196        "named": true
 197      },
 198      {
 199        "type": "throw_expression",
 200        "named": true
 201      },
 202      {
 203        "type": "update_expression",
 204        "named": true
 205      },
 206      {
 207        "type": "variable_name",
 208        "named": true
 209      }
 210    ]
 211  },
 212  {
 213    "type": "statement",
 214    "named": true,
 215    "subtypes": [
 216      {
 217        "type": "break_statement",
 218        "named": true
 219      },
 220      {
 221        "type": "class_declaration",
 222        "named": true
 223      },
 224      {
 225        "type": "compound_statement",
 226        "named": true
 227      },
 228      {
 229        "type": "const_declaration",
 230        "named": true
 231      },
 232      {
 233        "type": "continue_statement",
 234        "named": true
 235      },
 236      {
 237        "type": "declare_statement",
 238        "named": true
 239      },
 240      {
 241        "type": "do_statement",
 242        "named": true
 243      },
 244      {
 245        "type": "echo_statement",
 246        "named": true
 247      },
 248      {
 249        "type": "empty_statement",
 250        "named": true
 251      },
 252      {
 253        "type": "enum_declaration",
 254        "named": true
 255      },
 256      {
 257        "type": "exit_statement",
 258        "named": true
 259      },
 260      {
 261        "type": "expression_statement",
 262        "named": true
 263      },
 264      {
 265        "type": "for_statement",
 266        "named": true
 267      },
 268      {
 269        "type": "foreach_statement",
 270        "named": true
 271      },
 272      {
 273        "type": "function_definition",
 274        "named": true
 275      },
 276      {
 277        "type": "function_static_declaration",
 278        "named": true
 279      },
 280      {
 281        "type": "global_declaration",
 282        "named": true
 283      },
 284      {
 285        "type": "goto_statement",
 286        "named": true
 287      },
 288      {
 289        "type": "if_statement",
 290        "named": true
 291      },
 292      {
 293        "type": "interface_declaration",
 294        "named": true
 295      },
 296      {
 297        "type": "named_label_statement",
 298        "named": true
 299      },
 300      {
 301        "type": "namespace_definition",
 302        "named": true
 303      },
 304      {
 305        "type": "namespace_use_declaration",
 306        "named": true
 307      },
 308      {
 309        "type": "return_statement",
 310        "named": true
 311      },
 312      {
 313        "type": "switch_statement",
 314        "named": true
 315      },
 316      {
 317        "type": "trait_declaration",
 318        "named": true
 319      },
 320      {
 321        "type": "try_statement",
 322        "named": true
 323      },
 324      {
 325        "type": "unset_statement",
 326        "named": true
 327      },
 328      {
 329        "type": "while_statement",
 330        "named": true
 331      }
 332    ]
 333  },
 334  {
 335    "type": "type",
 336    "named": true,
 337    "subtypes": [
 338      {
 339        "type": "disjunctive_normal_form_type",
 340        "named": true
 341      },
 342      {
 343        "type": "intersection_type",
 344        "named": true
 345      },
 346      {
 347        "type": "named_type",
 348        "named": true
 349      },
 350      {
 351        "type": "optional_type",
 352        "named": true
 353      },
 354      {
 355        "type": "primitive_type",
 356        "named": true
 357      },
 358      {
 359        "type": "union_type",
 360        "named": true
 361      }
 362    ]
 363  },
 364  {
 365    "type": "abstract_modifier",
 366    "named": true,
 367    "fields": {}
 368  },
 369  {
 370    "type": "anonymous_class",
 371    "named": true,
 372    "fields": {
 373      "attributes": {
 374        "multiple": false,
 375        "required": false,
 376        "types": [
 377          {
 378            "type": "attribute_list",
 379            "named": true
 380          }
 381        ]
 382      },
 383      "body": {
 384        "multiple": false,
 385        "required": true,
 386        "types": [
 387          {
 388            "type": "declaration_list",
 389            "named": true
 390          }
 391        ]
 392      }
 393    },
 394    "children": {
 395      "multiple": true,
 396      "required": false,
 397      "types": [
 398        {
 399          "type": "abstract_modifier",
 400          "named": true
 401        },
 402        {
 403          "type": "arguments",
 404          "named": true
 405        },
 406        {
 407          "type": "base_clause",
 408          "named": true
 409        },
 410        {
 411          "type": "class_interface_clause",
 412          "named": true
 413        },
 414        {
 415          "type": "final_modifier",
 416          "named": true
 417        },
 418        {
 419          "type": "readonly_modifier",
 420          "named": true
 421        },
 422        {
 423          "type": "static_modifier",
 424          "named": true
 425        },
 426        {
 427          "type": "var_modifier",
 428          "named": true
 429        },
 430        {
 431          "type": "visibility_modifier",
 432          "named": true
 433        }
 434      ]
 435    }
 436  },
 437  {
 438    "type": "anonymous_function",
 439    "named": true,
 440    "fields": {
 441      "attributes": {
 442        "multiple": false,
 443        "required": false,
 444        "types": [
 445          {
 446            "type": "attribute_list",
 447            "named": true
 448          }
 449        ]
 450      },
 451      "body": {
 452        "multiple": false,
 453        "required": true,
 454        "types": [
 455          {
 456            "type": "compound_statement",
 457            "named": true
 458          }
 459        ]
 460      },
 461      "parameters": {
 462        "multiple": false,
 463        "required": true,
 464        "types": [
 465          {
 466            "type": "formal_parameters",
 467            "named": true
 468          }
 469        ]
 470      },
 471      "reference_modifier": {
 472        "multiple": false,
 473        "required": false,
 474        "types": [
 475          {
 476            "type": "reference_modifier",
 477            "named": true
 478          }
 479        ]
 480      },
 481      "return_type": {
 482        "multiple": false,
 483        "required": false,
 484        "types": [
 485          {
 486            "type": "bottom_type",
 487            "named": true
 488          },
 489          {
 490            "type": "type",
 491            "named": true
 492          }
 493        ]
 494      },
 495      "static_modifier": {
 496        "multiple": false,
 497        "required": false,
 498        "types": [
 499          {
 500            "type": "static_modifier",
 501            "named": true
 502          }
 503        ]
 504      }
 505    },
 506    "children": {
 507      "multiple": false,
 508      "required": false,
 509      "types": [
 510        {
 511          "type": "anonymous_function_use_clause",
 512          "named": true
 513        }
 514      ]
 515    }
 516  },
 517  {
 518    "type": "anonymous_function_use_clause",
 519    "named": true,
 520    "fields": {},
 521    "children": {
 522      "multiple": true,
 523      "required": true,
 524      "types": [
 525        {
 526          "type": "by_ref",
 527          "named": true
 528        },
 529        {
 530          "type": "variable_name",
 531          "named": true
 532        }
 533      ]
 534    }
 535  },
 536  {
 537    "type": "argument",
 538    "named": true,
 539    "fields": {
 540      "name": {
 541        "multiple": false,
 542        "required": false,
 543        "types": [
 544          {
 545            "type": "name",
 546            "named": true
 547          }
 548        ]
 549      },
 550      "reference_modifier": {
 551        "multiple": false,
 552        "required": false,
 553        "types": [
 554          {
 555            "type": "reference_modifier",
 556            "named": true
 557          }
 558        ]
 559      }
 560    },
 561    "children": {
 562      "multiple": false,
 563      "required": true,
 564      "types": [
 565        {
 566          "type": "expression",
 567          "named": true
 568        },
 569        {
 570          "type": "name",
 571          "named": true
 572        },
 573        {
 574          "type": "variadic_unpacking",
 575          "named": true
 576        }
 577      ]
 578    }
 579  },
 580  {
 581    "type": "arguments",
 582    "named": true,
 583    "fields": {},
 584    "children": {
 585      "multiple": true,
 586      "required": false,
 587      "types": [
 588        {
 589          "type": "argument",
 590          "named": true
 591        },
 592        {
 593          "type": "variadic_placeholder",
 594          "named": true
 595        }
 596      ]
 597    }
 598  },
 599  {
 600    "type": "array_creation_expression",
 601    "named": true,
 602    "fields": {},
 603    "children": {
 604      "multiple": true,
 605      "required": false,
 606      "types": [
 607        {
 608          "type": "array_element_initializer",
 609          "named": true
 610        }
 611      ]
 612    }
 613  },
 614  {
 615    "type": "array_element_initializer",
 616    "named": true,
 617    "fields": {},
 618    "children": {
 619      "multiple": true,
 620      "required": true,
 621      "types": [
 622        {
 623          "type": "by_ref",
 624          "named": true
 625        },
 626        {
 627          "type": "expression",
 628          "named": true
 629        },
 630        {
 631          "type": "variadic_unpacking",
 632          "named": true
 633        }
 634      ]
 635    }
 636  },
 637  {
 638    "type": "arrow_function",
 639    "named": true,
 640    "fields": {
 641      "attributes": {
 642        "multiple": false,
 643        "required": false,
 644        "types": [
 645          {
 646            "type": "attribute_list",
 647            "named": true
 648          }
 649        ]
 650      },
 651      "body": {
 652        "multiple": false,
 653        "required": true,
 654        "types": [
 655          {
 656            "type": "expression",
 657            "named": true
 658          }
 659        ]
 660      },
 661      "parameters": {
 662        "multiple": false,
 663        "required": true,
 664        "types": [
 665          {
 666            "type": "formal_parameters",
 667            "named": true
 668          }
 669        ]
 670      },
 671      "reference_modifier": {
 672        "multiple": false,
 673        "required": false,
 674        "types": [
 675          {
 676            "type": "reference_modifier",
 677            "named": true
 678          }
 679        ]
 680      },
 681      "return_type": {
 682        "multiple": false,
 683        "required": false,
 684        "types": [
 685          {
 686            "type": "bottom_type",
 687            "named": true
 688          },
 689          {
 690            "type": "type",
 691            "named": true
 692          }
 693        ]
 694      },
 695      "static_modifier": {
 696        "multiple": false,
 697        "required": false,
 698        "types": [
 699          {
 700            "type": "static_modifier",
 701            "named": true
 702          }
 703        ]
 704      }
 705    }
 706  },
 707  {
 708    "type": "assignment_expression",
 709    "named": true,
 710    "fields": {
 711      "left": {
 712        "multiple": false,
 713        "required": true,
 714        "types": [
 715          {
 716            "type": "cast_expression",
 717            "named": true
 718          },
 719          {
 720            "type": "dynamic_variable_name",
 721            "named": true
 722          },
 723          {
 724            "type": "function_call_expression",
 725            "named": true
 726          },
 727          {
 728            "type": "list_literal",
 729            "named": true
 730          },
 731          {
 732            "type": "member_access_expression",
 733            "named": true
 734          },
 735          {
 736            "type": "member_call_expression",
 737            "named": true
 738          },
 739          {
 740            "type": "nullsafe_member_access_expression",
 741            "named": true
 742          },
 743          {
 744            "type": "nullsafe_member_call_expression",
 745            "named": true
 746          },
 747          {
 748            "type": "scoped_call_expression",
 749            "named": true
 750          },
 751          {
 752            "type": "scoped_property_access_expression",
 753            "named": true
 754          },
 755          {
 756            "type": "subscript_expression",
 757            "named": true
 758          },
 759          {
 760            "type": "variable_name",
 761            "named": true
 762          }
 763        ]
 764      },
 765      "right": {
 766        "multiple": false,
 767        "required": true,
 768        "types": [
 769          {
 770            "type": "expression",
 771            "named": true
 772          }
 773        ]
 774      }
 775    }
 776  },
 777  {
 778    "type": "attribute",
 779    "named": true,
 780    "fields": {
 781      "parameters": {
 782        "multiple": false,
 783        "required": false,
 784        "types": [
 785          {
 786            "type": "arguments",
 787            "named": true
 788          }
 789        ]
 790      }
 791    },
 792    "children": {
 793      "multiple": false,
 794      "required": true,
 795      "types": [
 796        {
 797          "type": "name",
 798          "named": true
 799        },
 800        {
 801          "type": "qualified_name",
 802          "named": true
 803        }
 804      ]
 805    }
 806  },
 807  {
 808    "type": "attribute_group",
 809    "named": true,
 810    "fields": {},
 811    "children": {
 812      "multiple": true,
 813      "required": true,
 814      "types": [
 815        {
 816          "type": "attribute",
 817          "named": true
 818        }
 819      ]
 820    }
 821  },
 822  {
 823    "type": "attribute_list",
 824    "named": true,
 825    "fields": {},
 826    "children": {
 827      "multiple": true,
 828      "required": true,
 829      "types": [
 830        {
 831          "type": "attribute_group",
 832          "named": true
 833        }
 834      ]
 835    }
 836  },
 837  {
 838    "type": "augmented_assignment_expression",
 839    "named": true,
 840    "fields": {
 841      "left": {
 842        "multiple": false,
 843        "required": true,
 844        "types": [
 845          {
 846            "type": "cast_expression",
 847            "named": true
 848          },
 849          {
 850            "type": "dynamic_variable_name",
 851            "named": true
 852          },
 853          {
 854            "type": "function_call_expression",
 855            "named": true
 856          },
 857          {
 858            "type": "member_access_expression",
 859            "named": true
 860          },
 861          {
 862            "type": "member_call_expression",
 863            "named": true
 864          },
 865          {
 866            "type": "nullsafe_member_access_expression",
 867            "named": true
 868          },
 869          {
 870            "type": "nullsafe_member_call_expression",
 871            "named": true
 872          },
 873          {
 874            "type": "scoped_call_expression",
 875            "named": true
 876          },
 877          {
 878            "type": "scoped_property_access_expression",
 879            "named": true
 880          },
 881          {
 882            "type": "subscript_expression",
 883            "named": true
 884          },
 885          {
 886            "type": "variable_name",
 887            "named": true
 888          }
 889        ]
 890      },
 891      "operator": {
 892        "multiple": false,
 893        "required": true,
 894        "types": [
 895          {
 896            "type": "%=",
 897            "named": false
 898          },
 899          {
 900            "type": "&=",
 901            "named": false
 902          },
 903          {
 904            "type": "**=",
 905            "named": false
 906          },
 907          {
 908            "type": "*=",
 909            "named": false
 910          },
 911          {
 912            "type": "+=",
 913            "named": false
 914          },
 915          {
 916            "type": "-=",
 917            "named": false
 918          },
 919          {
 920            "type": ".=",
 921            "named": false
 922          },
 923          {
 924            "type": "/=",
 925            "named": false
 926          },
 927          {
 928            "type": "<<=",
 929            "named": false
 930          },
 931          {
 932            "type": ">>=",
 933            "named": false
 934          },
 935          {
 936            "type": "??=",
 937            "named": false
 938          },
 939          {
 940            "type": "^=",
 941            "named": false
 942          },
 943          {
 944            "type": "|=",
 945            "named": false
 946          }
 947        ]
 948      },
 949      "right": {
 950        "multiple": false,
 951        "required": true,
 952        "types": [
 953          {
 954            "type": "expression",
 955            "named": true
 956          }
 957        ]
 958      }
 959    }
 960  },
 961  {
 962    "type": "base_clause",
 963    "named": true,
 964    "fields": {},
 965    "children": {
 966      "multiple": true,
 967      "required": true,
 968      "types": [
 969        {
 970          "type": "name",
 971          "named": true
 972        },
 973        {
 974          "type": "qualified_name",
 975          "named": true
 976        }
 977      ]
 978    }
 979  },
 980  {
 981    "type": "binary_expression",
 982    "named": true,
 983    "fields": {
 984      "left": {
 985        "multiple": false,
 986        "required": true,
 987        "types": [
 988          {
 989            "type": "expression",
 990            "named": true
 991          }
 992        ]
 993      },
 994      "operator": {
 995        "multiple": false,
 996        "required": true,
 997        "types": [
 998          {
 999            "type": "!=",
1000            "named": false
1001          },
1002          {
1003            "type": "!==",
1004            "named": false
1005          },
1006          {
1007            "type": "%",
1008            "named": false
1009          },
1010          {
1011            "type": "&",
1012            "named": false
1013          },
1014          {
1015            "type": "&&",
1016            "named": false
1017          },
1018          {
1019            "type": "*",
1020            "named": false
1021          },
1022          {
1023            "type": "**",
1024            "named": false
1025          },
1026          {
1027            "type": "+",
1028            "named": false
1029          },
1030          {
1031            "type": "-",
1032            "named": false
1033          },
1034          {
1035            "type": ".",
1036            "named": false
1037          },
1038          {
1039            "type": "/",
1040            "named": false
1041          },
1042          {
1043            "type": "<",
1044            "named": false
1045          },
1046          {
1047            "type": "<<",
1048            "named": false
1049          },
1050          {
1051            "type": "<=",
1052            "named": false
1053          },
1054          {
1055            "type": "<=>",
1056            "named": false
1057          },
1058          {
1059            "type": "<>",
1060            "named": false
1061          },
1062          {
1063            "type": "==",
1064            "named": false
1065          },
1066          {
1067            "type": "===",
1068            "named": false
1069          },
1070          {
1071            "type": ">",
1072            "named": false
1073          },
1074          {
1075            "type": ">=",
1076            "named": false
1077          },
1078          {
1079            "type": ">>",
1080            "named": false
1081          },
1082          {
1083            "type": "??",
1084            "named": false
1085          },
1086          {
1087            "type": "^",
1088            "named": false
1089          },
1090          {
1091            "type": "and",
1092            "named": false
1093          },
1094          {
1095            "type": "instanceof",
1096            "named": false
1097          },
1098          {
1099            "type": "or",
1100            "named": false
1101          },
1102          {
1103            "type": "xor",
1104            "named": false
1105          },
1106          {
1107            "type": "|",
1108            "named": false
1109          },
1110          {
1111            "type": "||",
1112            "named": false
1113          }
1114        ]
1115      },
1116      "right": {
1117        "multiple": false,
1118        "required": true,
1119        "types": [
1120          {
1121            "type": "dynamic_variable_name",
1122            "named": true
1123          },
1124          {
1125            "type": "expression",
1126            "named": true
1127          },
1128          {
1129            "type": "member_access_expression",
1130            "named": true
1131          },
1132          {
1133            "type": "name",
1134            "named": true
1135          },
1136          {
1137            "type": "nullsafe_member_access_expression",
1138            "named": true
1139          },
1140          {
1141            "type": "parenthesized_expression",
1142            "named": true
1143          },
1144          {
1145            "type": "qualified_name",
1146            "named": true
1147          },
1148          {
1149            "type": "scoped_property_access_expression",
1150            "named": true
1151          },
1152          {
1153            "type": "subscript_expression",
1154            "named": true
1155          },
1156          {
1157            "type": "variable_name",
1158            "named": true
1159          }
1160        ]
1161      }
1162    }
1163  },
1164  {
1165    "type": "boolean",
1166    "named": true,
1167    "fields": {}
1168  },
1169  {
1170    "type": "break_statement",
1171    "named": true,
1172    "fields": {},
1173    "children": {
1174      "multiple": false,
1175      "required": false,
1176      "types": [
1177        {
1178          "type": "expression",
1179          "named": true
1180        }
1181      ]
1182    }
1183  },
1184  {
1185    "type": "by_ref",
1186    "named": true,
1187    "fields": {},
1188    "children": {
1189      "multiple": false,
1190      "required": true,
1191      "types": [
1192        {
1193          "type": "cast_expression",
1194          "named": true
1195        },
1196        {
1197          "type": "dynamic_variable_name",
1198          "named": true
1199        },
1200        {
1201          "type": "function_call_expression",
1202          "named": true
1203        },
1204        {
1205          "type": "member_access_expression",
1206          "named": true
1207        },
1208        {
1209          "type": "member_call_expression",
1210          "named": true
1211        },
1212        {
1213          "type": "nullsafe_member_access_expression",
1214          "named": true
1215        },
1216        {
1217          "type": "nullsafe_member_call_expression",
1218          "named": true
1219        },
1220        {
1221          "type": "scoped_call_expression",
1222          "named": true
1223        },
1224        {
1225          "type": "scoped_property_access_expression",
1226          "named": true
1227        },
1228        {
1229          "type": "subscript_expression",
1230          "named": true
1231        },
1232        {
1233          "type": "variable_name",
1234          "named": true
1235        }
1236      ]
1237    }
1238  },
1239  {
1240    "type": "case_statement",
1241    "named": true,
1242    "fields": {
1243      "value": {
1244        "multiple": false,
1245        "required": true,
1246        "types": [
1247          {
1248            "type": "expression",
1249            "named": true
1250          }
1251        ]
1252      }
1253    },
1254    "children": {
1255      "multiple": true,
1256      "required": false,
1257      "types": [
1258        {
1259          "type": "statement",
1260          "named": true
1261        }
1262      ]
1263    }
1264  },
1265  {
1266    "type": "cast_expression",
1267    "named": true,
1268    "fields": {
1269      "type": {
1270        "multiple": false,
1271        "required": true,
1272        "types": [
1273          {
1274            "type": "cast_type",
1275            "named": true
1276          }
1277        ]
1278      },
1279      "value": {
1280        "multiple": false,
1281        "required": true,
1282        "types": [
1283          {
1284            "type": "clone_expression",
1285            "named": true
1286          },
1287          {
1288            "type": "error_suppression_expression",
1289            "named": true
1290          },
1291          {
1292            "type": "include_expression",
1293            "named": true
1294          },
1295          {
1296            "type": "include_once_expression",
1297            "named": true
1298          },
1299          {
1300            "type": "primary_expression",
1301            "named": true
1302          },
1303          {
1304            "type": "unary_op_expression",
1305            "named": true
1306          }
1307        ]
1308      }
1309    }
1310  },
1311  {
1312    "type": "cast_type",
1313    "named": true,
1314    "fields": {}
1315  },
1316  {
1317    "type": "catch_clause",
1318    "named": true,
1319    "fields": {
1320      "body": {
1321        "multiple": false,
1322        "required": true,
1323        "types": [
1324          {
1325            "type": "compound_statement",
1326            "named": true
1327          }
1328        ]
1329      },
1330      "name": {
1331        "multiple": false,
1332        "required": false,
1333        "types": [
1334          {
1335            "type": "variable_name",
1336            "named": true
1337          }
1338        ]
1339      },
1340      "type": {
1341        "multiple": false,
1342        "required": true,
1343        "types": [
1344          {
1345            "type": "type_list",
1346            "named": true
1347          }
1348        ]
1349      }
1350    }
1351  },
1352  {
1353    "type": "class_constant_access_expression",
1354    "named": true,
1355    "fields": {},
1356    "children": {
1357      "multiple": true,
1358      "required": true,
1359      "types": [
1360        {
1361          "type": "array_creation_expression",
1362          "named": true
1363        },
1364        {
1365          "type": "cast_expression",
1366          "named": true
1367        },
1368        {
1369          "type": "class_constant_access_expression",
1370          "named": true
1371        },
1372        {
1373          "type": "dynamic_variable_name",
1374          "named": true
1375        },
1376        {
1377          "type": "encapsed_string",
1378          "named": true
1379        },
1380        {
1381          "type": "function_call_expression",
1382          "named": true
1383        },
1384        {
1385          "type": "heredoc",
1386          "named": true
1387        },
1388        {
1389          "type": "member_access_expression",
1390          "named": true
1391        },
1392        {
1393          "type": "member_call_expression",
1394          "named": true
1395        },
1396        {
1397          "type": "name",
1398          "named": true
1399        },
1400        {
1401          "type": "nowdoc",
1402          "named": true
1403        },
1404        {
1405          "type": "nullsafe_member_access_expression",
1406          "named": true
1407        },
1408        {
1409          "type": "nullsafe_member_call_expression",
1410          "named": true
1411        },
1412        {
1413          "type": "object_creation_expression",
1414          "named": true
1415        },
1416        {
1417          "type": "parenthesized_expression",
1418          "named": true
1419        },
1420        {
1421          "type": "qualified_name",
1422          "named": true
1423        },
1424        {
1425          "type": "relative_scope",
1426          "named": true
1427        },
1428        {
1429          "type": "scoped_call_expression",
1430          "named": true
1431        },
1432        {
1433          "type": "scoped_property_access_expression",
1434          "named": true
1435        },
1436        {
1437          "type": "string",
1438          "named": true
1439        },
1440        {
1441          "type": "subscript_expression",
1442          "named": true
1443        },
1444        {
1445          "type": "variable_name",
1446          "named": true
1447        }
1448      ]
1449    }
1450  },
1451  {
1452    "type": "class_declaration",
1453    "named": true,
1454    "fields": {
1455      "attributes": {
1456        "multiple": false,
1457        "required": false,
1458        "types": [
1459          {
1460            "type": "attribute_list",
1461            "named": true
1462          }
1463        ]
1464      },
1465      "body": {
1466        "multiple": false,
1467        "required": true,
1468        "types": [
1469          {
1470            "type": "declaration_list",
1471            "named": true
1472          }
1473        ]
1474      },
1475      "name": {
1476        "multiple": false,
1477        "required": true,
1478        "types": [
1479          {
1480            "type": "name",
1481            "named": true
1482          }
1483        ]
1484      }
1485    },
1486    "children": {
1487      "multiple": true,
1488      "required": false,
1489      "types": [
1490        {
1491          "type": "abstract_modifier",
1492          "named": true
1493        },
1494        {
1495          "type": "base_clause",
1496          "named": true
1497        },
1498        {
1499          "type": "class_interface_clause",
1500          "named": true
1501        },
1502        {
1503          "type": "final_modifier",
1504          "named": true
1505        },
1506        {
1507          "type": "readonly_modifier",
1508          "named": true
1509        },
1510        {
1511          "type": "static_modifier",
1512          "named": true
1513        },
1514        {
1515          "type": "var_modifier",
1516          "named": true
1517        },
1518        {
1519          "type": "visibility_modifier",
1520          "named": true
1521        }
1522      ]
1523    }
1524  },
1525  {
1526    "type": "class_interface_clause",
1527    "named": true,
1528    "fields": {},
1529    "children": {
1530      "multiple": true,
1531      "required": true,
1532      "types": [
1533        {
1534          "type": "name",
1535          "named": true
1536        },
1537        {
1538          "type": "qualified_name",
1539          "named": true
1540        }
1541      ]
1542    }
1543  },
1544  {
1545    "type": "clone_expression",
1546    "named": true,
1547    "fields": {},
1548    "children": {
1549      "multiple": false,
1550      "required": true,
1551      "types": [
1552        {
1553          "type": "primary_expression",
1554          "named": true
1555        }
1556      ]
1557    }
1558  },
1559  {
1560    "type": "colon_block",
1561    "named": true,
1562    "fields": {},
1563    "children": {
1564      "multiple": true,
1565      "required": false,
1566      "types": [
1567        {
1568          "type": "statement",
1569          "named": true
1570        }
1571      ]
1572    }
1573  },
1574  {
1575    "type": "compound_statement",
1576    "named": true,
1577    "fields": {},
1578    "children": {
1579      "multiple": true,
1580      "required": false,
1581      "types": [
1582        {
1583          "type": "statement",
1584          "named": true
1585        }
1586      ]
1587    }
1588  },
1589  {
1590    "type": "conditional_expression",
1591    "named": true,
1592    "fields": {
1593      "alternative": {
1594        "multiple": false,
1595        "required": true,
1596        "types": [
1597          {
1598            "type": "expression",
1599            "named": true
1600          }
1601        ]
1602      },
1603      "body": {
1604        "multiple": false,
1605        "required": false,
1606        "types": [
1607          {
1608            "type": "expression",
1609            "named": true
1610          }
1611        ]
1612      },
1613      "condition": {
1614        "multiple": false,
1615        "required": true,
1616        "types": [
1617          {
1618            "type": "expression",
1619            "named": true
1620          }
1621        ]
1622      }
1623    }
1624  },
1625  {
1626    "type": "const_declaration",
1627    "named": true,
1628    "fields": {
1629      "attributes": {
1630        "multiple": false,
1631        "required": false,
1632        "types": [
1633          {
1634            "type": "attribute_list",
1635            "named": true
1636          }
1637        ]
1638      },
1639      "type": {
1640        "multiple": false,
1641        "required": false,
1642        "types": [
1643          {
1644            "type": "type",
1645            "named": true
1646          }
1647        ]
1648      }
1649    },
1650    "children": {
1651      "multiple": true,
1652      "required": true,
1653      "types": [
1654        {
1655          "type": "abstract_modifier",
1656          "named": true
1657        },
1658        {
1659          "type": "const_element",
1660          "named": true
1661        },
1662        {
1663          "type": "final_modifier",
1664          "named": true
1665        },
1666        {
1667          "type": "readonly_modifier",
1668          "named": true
1669        },
1670        {
1671          "type": "static_modifier",
1672          "named": true
1673        },
1674        {
1675          "type": "var_modifier",
1676          "named": true
1677        },
1678        {
1679          "type": "visibility_modifier",
1680          "named": true
1681        }
1682      ]
1683    }
1684  },
1685  {
1686    "type": "const_element",
1687    "named": true,
1688    "fields": {},
1689    "children": {
1690      "multiple": true,
1691      "required": true,
1692      "types": [
1693        {
1694          "type": "expression",
1695          "named": true
1696        },
1697        {
1698          "type": "name",
1699          "named": true
1700        }
1701      ]
1702    }
1703  },
1704  {
1705    "type": "continue_statement",
1706    "named": true,
1707    "fields": {},
1708    "children": {
1709      "multiple": false,
1710      "required": false,
1711      "types": [
1712        {
1713          "type": "expression",
1714          "named": true
1715        }
1716      ]
1717    }
1718  },
1719  {
1720    "type": "declaration_list",
1721    "named": true,
1722    "fields": {},
1723    "children": {
1724      "multiple": true,
1725      "required": false,
1726      "types": [
1727        {
1728          "type": "const_declaration",
1729          "named": true
1730        },
1731        {
1732          "type": "method_declaration",
1733          "named": true
1734        },
1735        {
1736          "type": "property_declaration",
1737          "named": true
1738        },
1739        {
1740          "type": "use_declaration",
1741          "named": true
1742        }
1743      ]
1744    }
1745  },
1746  {
1747    "type": "declare_directive",
1748    "named": true,
1749    "fields": {},
1750    "children": {
1751      "multiple": false,
1752      "required": true,
1753      "types": [
1754        {
1755          "type": "literal",
1756          "named": true
1757        }
1758      ]
1759    }
1760  },
1761  {
1762    "type": "declare_statement",
1763    "named": true,
1764    "fields": {},
1765    "children": {
1766      "multiple": true,
1767      "required": true,
1768      "types": [
1769        {
1770          "type": "declare_directive",
1771          "named": true
1772        },
1773        {
1774          "type": "statement",
1775          "named": true
1776        }
1777      ]
1778    }
1779  },
1780  {
1781    "type": "default_statement",
1782    "named": true,
1783    "fields": {},
1784    "children": {
1785      "multiple": true,
1786      "required": false,
1787      "types": [
1788        {
1789          "type": "statement",
1790          "named": true
1791        }
1792      ]
1793    }
1794  },
1795  {
1796    "type": "disjunctive_normal_form_type",
1797    "named": true,
1798    "fields": {},
1799    "children": {
1800      "multiple": true,
1801      "required": true,
1802      "types": [
1803        {
1804          "type": "intersection_type",
1805          "named": true
1806        },
1807        {
1808          "type": "named_type",
1809          "named": true
1810        },
1811        {
1812          "type": "optional_type",
1813          "named": true
1814        },
1815        {
1816          "type": "primitive_type",
1817          "named": true
1818        }
1819      ]
1820    }
1821  },
1822  {
1823    "type": "do_statement",
1824    "named": true,
1825    "fields": {
1826      "body": {
1827        "multiple": false,
1828        "required": true,
1829        "types": [
1830          {
1831            "type": "statement",
1832            "named": true
1833          }
1834        ]
1835      },
1836      "condition": {
1837        "multiple": false,
1838        "required": true,
1839        "types": [
1840          {
1841            "type": "parenthesized_expression",
1842            "named": true
1843          }
1844        ]
1845      }
1846    }
1847  },
1848  {
1849    "type": "dynamic_variable_name",
1850    "named": true,
1851    "fields": {},
1852    "children": {
1853      "multiple": false,
1854      "required": true,
1855      "types": [
1856        {
1857          "type": "dynamic_variable_name",
1858          "named": true
1859        },
1860        {
1861          "type": "expression",
1862          "named": true
1863        },
1864        {
1865          "type": "variable_name",
1866          "named": true
1867        }
1868      ]
1869    }
1870  },
1871  {
1872    "type": "echo_statement",
1873    "named": true,
1874    "fields": {},
1875    "children": {
1876      "multiple": false,
1877      "required": true,
1878      "types": [
1879        {
1880          "type": "expression",
1881          "named": true
1882        },
1883        {
1884          "type": "sequence_expression",
1885          "named": true
1886        }
1887      ]
1888    }
1889  },
1890  {
1891    "type": "else_clause",
1892    "named": true,
1893    "fields": {
1894      "body": {
1895        "multiple": false,
1896        "required": true,
1897        "types": [
1898          {
1899            "type": "colon_block",
1900            "named": true
1901          },
1902          {
1903            "type": "statement",
1904            "named": true
1905          }
1906        ]
1907      }
1908    }
1909  },
1910  {
1911    "type": "else_if_clause",
1912    "named": true,
1913    "fields": {
1914      "body": {
1915        "multiple": false,
1916        "required": true,
1917        "types": [
1918          {
1919            "type": "colon_block",
1920            "named": true
1921          },
1922          {
1923            "type": "statement",
1924            "named": true
1925          }
1926        ]
1927      },
1928      "condition": {
1929        "multiple": false,
1930        "required": true,
1931        "types": [
1932          {
1933            "type": "parenthesized_expression",
1934            "named": true
1935          }
1936        ]
1937      }
1938    }
1939  },
1940  {
1941    "type": "empty_statement",
1942    "named": true,
1943    "fields": {}
1944  },
1945  {
1946    "type": "encapsed_string",
1947    "named": true,
1948    "fields": {},
1949    "children": {
1950      "multiple": true,
1951      "required": false,
1952      "types": [
1953        {
1954          "type": "dynamic_variable_name",
1955          "named": true
1956        },
1957        {
1958          "type": "escape_sequence",
1959          "named": true
1960        },
1961        {
1962          "type": "expression",
1963          "named": true
1964        },
1965        {
1966          "type": "member_access_expression",
1967          "named": true
1968        },
1969        {
1970          "type": "string_content",
1971          "named": true
1972        },
1973        {
1974          "type": "subscript_expression",
1975          "named": true
1976        },
1977        {
1978          "type": "variable_name",
1979          "named": true
1980        }
1981      ]
1982    }
1983  },
1984  {
1985    "type": "enum_case",
1986    "named": true,
1987    "fields": {
1988      "attributes": {
1989        "multiple": false,
1990        "required": false,
1991        "types": [
1992          {
1993            "type": "attribute_list",
1994            "named": true
1995          }
1996        ]
1997      },
1998      "name": {
1999        "multiple": false,
2000        "required": true,
2001        "types": [
2002          {
2003            "type": "name",
2004            "named": true
2005          }
2006        ]
2007      },
2008      "value": {
2009        "multiple": false,
2010        "required": false,
2011        "types": [
2012          {
2013            "type": "encapsed_string",
2014            "named": true
2015          },
2016          {
2017            "type": "heredoc",
2018            "named": true
2019          },
2020          {
2021            "type": "integer",
2022            "named": true
2023          },
2024          {
2025            "type": "nowdoc",
2026            "named": true
2027          },
2028          {
2029            "type": "string",
2030            "named": true
2031          }
2032        ]
2033      }
2034    }
2035  },
2036  {
2037    "type": "enum_declaration",
2038    "named": true,
2039    "fields": {
2040      "attributes": {
2041        "multiple": false,
2042        "required": false,
2043        "types": [
2044          {
2045            "type": "attribute_list",
2046            "named": true
2047          }
2048        ]
2049      },
2050      "body": {
2051        "multiple": false,
2052        "required": true,
2053        "types": [
2054          {
2055            "type": "enum_declaration_list",
2056            "named": true
2057          }
2058        ]
2059      },
2060      "name": {
2061        "multiple": false,
2062        "required": true,
2063        "types": [
2064          {
2065            "type": "name",
2066            "named": true
2067          }
2068        ]
2069      }
2070    },
2071    "children": {
2072      "multiple": true,
2073      "required": false,
2074      "types": [
2075        {
2076          "type": "class_interface_clause",
2077          "named": true
2078        },
2079        {
2080          "type": "primitive_type",
2081          "named": true
2082        }
2083      ]
2084    }
2085  },
2086  {
2087    "type": "enum_declaration_list",
2088    "named": true,
2089    "fields": {},
2090    "children": {
2091      "multiple": true,
2092      "required": false,
2093      "types": [
2094        {
2095          "type": "enum_case",
2096          "named": true
2097        },
2098        {
2099          "type": "method_declaration",
2100          "named": true
2101        },
2102        {
2103          "type": "use_declaration",
2104          "named": true
2105        }
2106      ]
2107    }
2108  },
2109  {
2110    "type": "error_suppression_expression",
2111    "named": true,
2112    "fields": {},
2113    "children": {
2114      "multiple": false,
2115      "required": true,
2116      "types": [
2117        {
2118          "type": "expression",
2119          "named": true
2120        }
2121      ]
2122    }
2123  },
2124  {
2125    "type": "exit_statement",
2126    "named": true,
2127    "fields": {},
2128    "children": {
2129      "multiple": false,
2130      "required": false,
2131      "types": [
2132        {
2133          "type": "expression",
2134          "named": true
2135        }
2136      ]
2137    }
2138  },
2139  {
2140    "type": "expression_statement",
2141    "named": true,
2142    "fields": {},
2143    "children": {
2144      "multiple": false,
2145      "required": true,
2146      "types": [
2147        {
2148          "type": "expression",
2149          "named": true
2150        }
2151      ]
2152    }
2153  },
2154  {
2155    "type": "final_modifier",
2156    "named": true,
2157    "fields": {}
2158  },
2159  {
2160    "type": "finally_clause",
2161    "named": true,
2162    "fields": {
2163      "body": {
2164        "multiple": false,
2165        "required": true,
2166        "types": [
2167          {
2168            "type": "compound_statement",
2169            "named": true
2170          }
2171        ]
2172      }
2173    }
2174  },
2175  {
2176    "type": "for_statement",
2177    "named": true,
2178    "fields": {
2179      "body": {
2180        "multiple": true,
2181        "required": false,
2182        "types": [
2183          {
2184            "type": "statement",
2185            "named": true
2186          }
2187        ]
2188      },
2189      "condition": {
2190        "multiple": false,
2191        "required": false,
2192        "types": [
2193          {
2194            "type": "expression",
2195            "named": true
2196          },
2197          {
2198            "type": "sequence_expression",
2199            "named": true
2200          }
2201        ]
2202      },
2203      "initialize": {
2204        "multiple": false,
2205        "required": false,
2206        "types": [
2207          {
2208            "type": "expression",
2209            "named": true
2210          },
2211          {
2212            "type": "sequence_expression",
2213            "named": true
2214          }
2215        ]
2216      },
2217      "update": {
2218        "multiple": false,
2219        "required": false,
2220        "types": [
2221          {
2222            "type": "expression",
2223            "named": true
2224          },
2225          {
2226            "type": "sequence_expression",
2227            "named": true
2228          }
2229        ]
2230      }
2231    }
2232  },
2233  {
2234    "type": "foreach_statement",
2235    "named": true,
2236    "fields": {
2237      "body": {
2238        "multiple": false,
2239        "required": false,
2240        "types": [
2241          {
2242            "type": "colon_block",
2243            "named": true
2244          },
2245          {
2246            "type": "statement",
2247            "named": true
2248          }
2249        ]
2250      }
2251    },
2252    "children": {
2253      "multiple": true,
2254      "required": true,
2255      "types": [
2256        {
2257          "type": "by_ref",
2258          "named": true
2259        },
2260        {
2261          "type": "expression",
2262          "named": true
2263        },
2264        {
2265          "type": "list_literal",
2266          "named": true
2267        },
2268        {
2269          "type": "pair",
2270          "named": true
2271        }
2272      ]
2273    }
2274  },
2275  {
2276    "type": "formal_parameters",
2277    "named": true,
2278    "fields": {},
2279    "children": {
2280      "multiple": true,
2281      "required": false,
2282      "types": [
2283        {
2284          "type": "property_promotion_parameter",
2285          "named": true
2286        },
2287        {
2288          "type": "simple_parameter",
2289          "named": true
2290        },
2291        {
2292          "type": "variadic_parameter",
2293          "named": true
2294        }
2295      ]
2296    }
2297  },
2298  {
2299    "type": "function_call_expression",
2300    "named": true,
2301    "fields": {
2302      "arguments": {
2303        "multiple": false,
2304        "required": true,
2305        "types": [
2306          {
2307            "type": "arguments",
2308            "named": true
2309          }
2310        ]
2311      },
2312      "function": {
2313        "multiple": false,
2314        "required": true,
2315        "types": [
2316          {
2317            "type": "array_creation_expression",
2318            "named": true
2319          },
2320          {
2321            "type": "dynamic_variable_name",
2322            "named": true
2323          },
2324          {
2325            "type": "encapsed_string",
2326            "named": true
2327          },
2328          {
2329            "type": "function_call_expression",
2330            "named": true
2331          },
2332          {
2333            "type": "heredoc",
2334            "named": true
2335          },
2336          {
2337            "type": "member_call_expression",
2338            "named": true
2339          },
2340          {
2341            "type": "name",
2342            "named": true
2343          },
2344          {
2345            "type": "nowdoc",
2346            "named": true
2347          },
2348          {
2349            "type": "nullsafe_member_call_expression",
2350            "named": true
2351          },
2352          {
2353            "type": "object_creation_expression",
2354            "named": true
2355          },
2356          {
2357            "type": "parenthesized_expression",
2358            "named": true
2359          },
2360          {
2361            "type": "qualified_name",
2362            "named": true
2363          },
2364          {
2365            "type": "scoped_call_expression",
2366            "named": true
2367          },
2368          {
2369            "type": "string",
2370            "named": true
2371          },
2372          {
2373            "type": "subscript_expression",
2374            "named": true
2375          },
2376          {
2377            "type": "variable_name",
2378            "named": true
2379          }
2380        ]
2381      }
2382    }
2383  },
2384  {
2385    "type": "function_definition",
2386    "named": true,
2387    "fields": {
2388      "attributes": {
2389        "multiple": false,
2390        "required": false,
2391        "types": [
2392          {
2393            "type": "attribute_list",
2394            "named": true
2395          }
2396        ]
2397      },
2398      "body": {
2399        "multiple": false,
2400        "required": true,
2401        "types": [
2402          {
2403            "type": "compound_statement",
2404            "named": true
2405          }
2406        ]
2407      },
2408      "name": {
2409        "multiple": false,
2410        "required": true,
2411        "types": [
2412          {
2413            "type": "name",
2414            "named": true
2415          }
2416        ]
2417      },
2418      "parameters": {
2419        "multiple": false,
2420        "required": true,
2421        "types": [
2422          {
2423            "type": "formal_parameters",
2424            "named": true
2425          }
2426        ]
2427      },
2428      "return_type": {
2429        "multiple": false,
2430        "required": false,
2431        "types": [
2432          {
2433            "type": "bottom_type",
2434            "named": true
2435          },
2436          {
2437            "type": "type",
2438            "named": true
2439          }
2440        ]
2441      }
2442    },
2443    "children": {
2444      "multiple": false,
2445      "required": false,
2446      "types": [
2447        {
2448          "type": "reference_modifier",
2449          "named": true
2450        }
2451      ]
2452    }
2453  },
2454  {
2455    "type": "function_static_declaration",
2456    "named": true,
2457    "fields": {},
2458    "children": {
2459      "multiple": true,
2460      "required": true,
2461      "types": [
2462        {
2463          "type": "static_variable_declaration",
2464          "named": true
2465        }
2466      ]
2467    }
2468  },
2469  {
2470    "type": "global_declaration",
2471    "named": true,
2472    "fields": {},
2473    "children": {
2474      "multiple": true,
2475      "required": true,
2476      "types": [
2477        {
2478          "type": "dynamic_variable_name",
2479          "named": true
2480        },
2481        {
2482          "type": "variable_name",
2483          "named": true
2484        }
2485      ]
2486    }
2487  },
2488  {
2489    "type": "goto_statement",
2490    "named": true,
2491    "fields": {},
2492    "children": {
2493      "multiple": false,
2494      "required": true,
2495      "types": [
2496        {
2497          "type": "name",
2498          "named": true
2499        }
2500      ]
2501    }
2502  },
2503  {
2504    "type": "heredoc",
2505    "named": true,
2506    "fields": {
2507      "end_tag": {
2508        "multiple": false,
2509        "required": true,
2510        "types": [
2511          {
2512            "type": "heredoc_end",
2513            "named": true
2514          }
2515        ]
2516      },
2517      "identifier": {
2518        "multiple": false,
2519        "required": true,
2520        "types": [
2521          {
2522            "type": "heredoc_start",
2523            "named": true
2524          }
2525        ]
2526      },
2527      "value": {
2528        "multiple": false,
2529        "required": false,
2530        "types": [
2531          {
2532            "type": "heredoc_body",
2533            "named": true
2534          }
2535        ]
2536      }
2537    }
2538  },
2539  {
2540    "type": "heredoc_body",
2541    "named": true,
2542    "fields": {},
2543    "children": {
2544      "multiple": true,
2545      "required": true,
2546      "types": [
2547        {
2548          "type": "dynamic_variable_name",
2549          "named": true
2550        },
2551        {
2552          "type": "escape_sequence",
2553          "named": true
2554        },
2555        {
2556          "type": "expression",
2557          "named": true
2558        },
2559        {
2560          "type": "member_access_expression",
2561          "named": true
2562        },
2563        {
2564          "type": "string_content",
2565          "named": true
2566        },
2567        {
2568          "type": "subscript_expression",
2569          "named": true
2570        },
2571        {
2572          "type": "variable_name",
2573          "named": true
2574        }
2575      ]
2576    }
2577  },
2578  {
2579    "type": "if_statement",
2580    "named": true,
2581    "fields": {
2582      "alternative": {
2583        "multiple": true,
2584        "required": false,
2585        "types": [
2586          {
2587            "type": "else_clause",
2588            "named": true
2589          },
2590          {
2591            "type": "else_if_clause",
2592            "named": true
2593          }
2594        ]
2595      },
2596      "body": {
2597        "multiple": false,
2598        "required": true,
2599        "types": [
2600          {
2601            "type": "colon_block",
2602            "named": true
2603          },
2604          {
2605            "type": "statement",
2606            "named": true
2607          }
2608        ]
2609      },
2610      "condition": {
2611        "multiple": false,
2612        "required": true,
2613        "types": [
2614          {
2615            "type": "parenthesized_expression",
2616            "named": true
2617          }
2618        ]
2619      }
2620    }
2621  },
2622  {
2623    "type": "include_expression",
2624    "named": true,
2625    "fields": {},
2626    "children": {
2627      "multiple": false,
2628      "required": true,
2629      "types": [
2630        {
2631          "type": "expression",
2632          "named": true
2633        }
2634      ]
2635    }
2636  },
2637  {
2638    "type": "include_once_expression",
2639    "named": true,
2640    "fields": {},
2641    "children": {
2642      "multiple": false,
2643      "required": true,
2644      "types": [
2645        {
2646          "type": "expression",
2647          "named": true
2648        }
2649      ]
2650    }
2651  },
2652  {
2653    "type": "interface_declaration",
2654    "named": true,
2655    "fields": {
2656      "attributes": {
2657        "multiple": false,
2658        "required": false,
2659        "types": [
2660          {
2661            "type": "attribute_list",
2662            "named": true
2663          }
2664        ]
2665      },
2666      "body": {
2667        "multiple": false,
2668        "required": true,
2669        "types": [
2670          {
2671            "type": "declaration_list",
2672            "named": true
2673          }
2674        ]
2675      },
2676      "name": {
2677        "multiple": false,
2678        "required": true,
2679        "types": [
2680          {
2681            "type": "name",
2682            "named": true
2683          }
2684        ]
2685      }
2686    },
2687    "children": {
2688      "multiple": false,
2689      "required": false,
2690      "types": [
2691        {
2692          "type": "base_clause",
2693          "named": true
2694        }
2695      ]
2696    }
2697  },
2698  {
2699    "type": "intersection_type",
2700    "named": true,
2701    "fields": {},
2702    "children": {
2703      "multiple": true,
2704      "required": true,
2705      "types": [
2706        {
2707          "type": "named_type",
2708          "named": true
2709        },
2710        {
2711          "type": "optional_type",
2712          "named": true
2713        },
2714        {
2715          "type": "primitive_type",
2716          "named": true
2717        }
2718      ]
2719    }
2720  },
2721  {
2722    "type": "list_literal",
2723    "named": true,
2724    "fields": {},
2725    "children": {
2726      "multiple": true,
2727      "required": false,
2728      "types": [
2729        {
2730          "type": "by_ref",
2731          "named": true
2732        },
2733        {
2734          "type": "dynamic_variable_name",
2735          "named": true
2736        },
2737        {
2738          "type": "expression",
2739          "named": true
2740        },
2741        {
2742          "type": "function_call_expression",
2743          "named": true
2744        },
2745        {
2746          "type": "list_literal",
2747          "named": true
2748        },
2749        {
2750          "type": "member_access_expression",
2751          "named": true
2752        },
2753        {
2754          "type": "member_call_expression",
2755          "named": true
2756        },
2757        {
2758          "type": "nullsafe_member_access_expression",
2759          "named": true
2760        },
2761        {
2762          "type": "nullsafe_member_call_expression",
2763          "named": true
2764        },
2765        {
2766          "type": "scoped_call_expression",
2767          "named": true
2768        },
2769        {
2770          "type": "scoped_property_access_expression",
2771          "named": true
2772        },
2773        {
2774          "type": "subscript_expression",
2775          "named": true
2776        },
2777        {
2778          "type": "variable_name",
2779          "named": true
2780        }
2781      ]
2782    }
2783  },
2784  {
2785    "type": "match_block",
2786    "named": true,
2787    "fields": {},
2788    "children": {
2789      "multiple": true,
2790      "required": false,
2791      "types": [
2792        {
2793          "type": "match_conditional_expression",
2794          "named": true
2795        },
2796        {
2797          "type": "match_default_expression",
2798          "named": true
2799        }
2800      ]
2801    }
2802  },
2803  {
2804    "type": "match_condition_list",
2805    "named": true,
2806    "fields": {},
2807    "children": {
2808      "multiple": true,
2809      "required": true,
2810      "types": [
2811        {
2812          "type": "expression",
2813          "named": true
2814        }
2815      ]
2816    }
2817  },
2818  {
2819    "type": "match_conditional_expression",
2820    "named": true,
2821    "fields": {
2822      "conditional_expressions": {
2823        "multiple": false,
2824        "required": true,
2825        "types": [
2826          {
2827            "type": "match_condition_list",
2828            "named": true
2829          }
2830        ]
2831      },
2832      "return_expression": {
2833        "multiple": false,
2834        "required": true,
2835        "types": [
2836          {
2837            "type": "expression",
2838            "named": true
2839          }
2840        ]
2841      }
2842    }
2843  },
2844  {
2845    "type": "match_default_expression",
2846    "named": true,
2847    "fields": {
2848      "return_expression": {
2849        "multiple": false,
2850        "required": true,
2851        "types": [
2852          {
2853            "type": "expression",
2854            "named": true
2855          }
2856        ]
2857      }
2858    }
2859  },
2860  {
2861    "type": "match_expression",
2862    "named": true,
2863    "fields": {
2864      "body": {
2865        "multiple": false,
2866        "required": true,
2867        "types": [
2868          {
2869            "type": "match_block",
2870            "named": true
2871          }
2872        ]
2873      },
2874      "condition": {
2875        "multiple": false,
2876        "required": true,
2877        "types": [
2878          {
2879            "type": "parenthesized_expression",
2880            "named": true
2881          }
2882        ]
2883      }
2884    }
2885  },
2886  {
2887    "type": "member_access_expression",
2888    "named": true,
2889    "fields": {
2890      "name": {
2891        "multiple": false,
2892        "required": true,
2893        "types": [
2894          {
2895            "type": "dynamic_variable_name",
2896            "named": true
2897          },
2898          {
2899            "type": "expression",
2900            "named": true
2901          },
2902          {
2903            "type": "name",
2904            "named": true
2905          },
2906          {
2907            "type": "variable_name",
2908            "named": true
2909          }
2910        ]
2911      },
2912      "object": {
2913        "multiple": false,
2914        "required": true,
2915        "types": [
2916          {
2917            "type": "array_creation_expression",
2918            "named": true
2919          },
2920          {
2921            "type": "cast_expression",
2922            "named": true
2923          },
2924          {
2925            "type": "class_constant_access_expression",
2926            "named": true
2927          },
2928          {
2929            "type": "dynamic_variable_name",
2930            "named": true
2931          },
2932          {
2933            "type": "encapsed_string",
2934            "named": true
2935          },
2936          {
2937            "type": "function_call_expression",
2938            "named": true
2939          },
2940          {
2941            "type": "heredoc",
2942            "named": true
2943          },
2944          {
2945            "type": "member_access_expression",
2946            "named": true
2947          },
2948          {
2949            "type": "member_call_expression",
2950            "named": true
2951          },
2952          {
2953            "type": "name",
2954            "named": true
2955          },
2956          {
2957            "type": "nowdoc",
2958            "named": true
2959          },
2960          {
2961            "type": "nullsafe_member_access_expression",
2962            "named": true
2963          },
2964          {
2965            "type": "nullsafe_member_call_expression",
2966            "named": true
2967          },
2968          {
2969            "type": "object_creation_expression",
2970            "named": true
2971          },
2972          {
2973            "type": "parenthesized_expression",
2974            "named": true
2975          },
2976          {
2977            "type": "qualified_name",
2978            "named": true
2979          },
2980          {
2981            "type": "scoped_call_expression",
2982            "named": true
2983          },
2984          {
2985            "type": "scoped_property_access_expression",
2986            "named": true
2987          },
2988          {
2989            "type": "string",
2990            "named": true
2991          },
2992          {
2993            "type": "subscript_expression",
2994            "named": true
2995          },
2996          {
2997            "type": "variable_name",
2998            "named": true
2999          }
3000        ]
3001      }
3002    }
3003  },
3004  {
3005    "type": "member_call_expression",
3006    "named": true,
3007    "fields": {
3008      "arguments": {
3009        "multiple": false,
3010        "required": true,
3011        "types": [
3012          {
3013            "type": "arguments",
3014            "named": true
3015          }
3016        ]
3017      },
3018      "name": {
3019        "multiple": false,
3020        "required": true,
3021        "types": [
3022          {
3023            "type": "dynamic_variable_name",
3024            "named": true
3025          },
3026          {
3027            "type": "expression",
3028            "named": true
3029          },
3030          {
3031            "type": "name",
3032            "named": true
3033          },
3034          {
3035            "type": "variable_name",
3036            "named": true
3037          }
3038        ]
3039      },
3040      "object": {
3041        "multiple": false,
3042        "required": true,
3043        "types": [
3044          {
3045            "type": "array_creation_expression",
3046            "named": true
3047          },
3048          {
3049            "type": "cast_expression",
3050            "named": true
3051          },
3052          {
3053            "type": "class_constant_access_expression",
3054            "named": true
3055          },
3056          {
3057            "type": "dynamic_variable_name",
3058            "named": true
3059          },
3060          {
3061            "type": "encapsed_string",
3062            "named": true
3063          },
3064          {
3065            "type": "function_call_expression",
3066            "named": true
3067          },
3068          {
3069            "type": "heredoc",
3070            "named": true
3071          },
3072          {
3073            "type": "member_access_expression",
3074            "named": true
3075          },
3076          {
3077            "type": "member_call_expression",
3078            "named": true
3079          },
3080          {
3081            "type": "name",
3082            "named": true
3083          },
3084          {
3085            "type": "nowdoc",
3086            "named": true
3087          },
3088          {
3089            "type": "nullsafe_member_access_expression",
3090            "named": true
3091          },
3092          {
3093            "type": "nullsafe_member_call_expression",
3094            "named": true
3095          },
3096          {
3097            "type": "object_creation_expression",
3098            "named": true
3099          },
3100          {
3101            "type": "parenthesized_expression",
3102            "named": true
3103          },
3104          {
3105            "type": "qualified_name",
3106            "named": true
3107          },
3108          {
3109            "type": "scoped_call_expression",
3110            "named": true
3111          },
3112          {
3113            "type": "scoped_property_access_expression",
3114            "named": true
3115          },
3116          {
3117            "type": "string",
3118            "named": true
3119          },
3120          {
3121            "type": "subscript_expression",
3122            "named": true
3123          },
3124          {
3125            "type": "variable_name",
3126            "named": true
3127          }
3128        ]
3129      }
3130    }
3131  },
3132  {
3133    "type": "method_declaration",
3134    "named": true,
3135    "fields": {
3136      "attributes": {
3137        "multiple": false,
3138        "required": false,
3139        "types": [
3140          {
3141            "type": "attribute_list",
3142            "named": true
3143          }
3144        ]
3145      },
3146      "body": {
3147        "multiple": false,
3148        "required": false,
3149        "types": [
3150          {
3151            "type": "compound_statement",
3152            "named": true
3153          }
3154        ]
3155      },
3156      "name": {
3157        "multiple": false,
3158        "required": true,
3159        "types": [
3160          {
3161            "type": "name",
3162            "named": true
3163          }
3164        ]
3165      },
3166      "parameters": {
3167        "multiple": false,
3168        "required": true,
3169        "types": [
3170          {
3171            "type": "formal_parameters",
3172            "named": true
3173          }
3174        ]
3175      },
3176      "return_type": {
3177        "multiple": false,
3178        "required": false,
3179        "types": [
3180          {
3181            "type": "bottom_type",
3182            "named": true
3183          },
3184          {
3185            "type": "type",
3186            "named": true
3187          }
3188        ]
3189      }
3190    },
3191    "children": {
3192      "multiple": true,
3193      "required": false,
3194      "types": [
3195        {
3196          "type": "abstract_modifier",
3197          "named": true
3198        },
3199        {
3200          "type": "final_modifier",
3201          "named": true
3202        },
3203        {
3204          "type": "readonly_modifier",
3205          "named": true
3206        },
3207        {
3208          "type": "reference_modifier",
3209          "named": true
3210        },
3211        {
3212          "type": "static_modifier",
3213          "named": true
3214        },
3215        {
3216          "type": "var_modifier",
3217          "named": true
3218        },
3219        {
3220          "type": "visibility_modifier",
3221          "named": true
3222        }
3223      ]
3224    }
3225  },
3226  {
3227    "type": "name",
3228    "named": true,
3229    "fields": {}
3230  },
3231  {
3232    "type": "named_label_statement",
3233    "named": true,
3234    "fields": {},
3235    "children": {
3236      "multiple": false,
3237      "required": true,
3238      "types": [
3239        {
3240          "type": "name",
3241          "named": true
3242        }
3243      ]
3244    }
3245  },
3246  {
3247    "type": "named_type",
3248    "named": true,
3249    "fields": {},
3250    "children": {
3251      "multiple": false,
3252      "required": true,
3253      "types": [
3254        {
3255          "type": "name",
3256          "named": true
3257        },
3258        {
3259          "type": "qualified_name",
3260          "named": true
3261        }
3262      ]
3263    }
3264  },
3265  {
3266    "type": "namespace_definition",
3267    "named": true,
3268    "fields": {
3269      "body": {
3270        "multiple": false,
3271        "required": false,
3272        "types": [
3273          {
3274            "type": "compound_statement",
3275            "named": true
3276          }
3277        ]
3278      },
3279      "name": {
3280        "multiple": false,
3281        "required": false,
3282        "types": [
3283          {
3284            "type": "namespace_name",
3285            "named": true
3286          }
3287        ]
3288      }
3289    }
3290  },
3291  {
3292    "type": "namespace_name",
3293    "named": true,
3294    "fields": {},
3295    "children": {
3296      "multiple": true,
3297      "required": true,
3298      "types": [
3299        {
3300          "type": "name",
3301          "named": true
3302        }
3303      ]
3304    }
3305  },
3306  {
3307    "type": "namespace_use_clause",
3308    "named": true,
3309    "fields": {
3310      "alias": {
3311        "multiple": false,
3312        "required": false,
3313        "types": [
3314          {
3315            "type": "name",
3316            "named": true
3317          }
3318        ]
3319      },
3320      "type": {
3321        "multiple": false,
3322        "required": false,
3323        "types": [
3324          {
3325            "type": "const",
3326            "named": false
3327          },
3328          {
3329            "type": "function",
3330            "named": false
3331          }
3332        ]
3333      }
3334    },
3335    "children": {
3336      "multiple": false,
3337      "required": true,
3338      "types": [
3339        {
3340          "type": "name",
3341          "named": true
3342        },
3343        {
3344          "type": "qualified_name",
3345          "named": true
3346        }
3347      ]
3348    }
3349  },
3350  {
3351    "type": "namespace_use_declaration",
3352    "named": true,
3353    "fields": {
3354      "body": {
3355        "multiple": false,
3356        "required": false,
3357        "types": [
3358          {
3359            "type": "namespace_use_group",
3360            "named": true
3361          }
3362        ]
3363      },
3364      "type": {
3365        "multiple": false,
3366        "required": false,
3367        "types": [
3368          {
3369            "type": "const",
3370            "named": false
3371          },
3372          {
3373            "type": "function",
3374            "named": false
3375          }
3376        ]
3377      }
3378    },
3379    "children": {
3380      "multiple": true,
3381      "required": true,
3382      "types": [
3383        {
3384          "type": "namespace_name",
3385          "named": true
3386        },
3387        {
3388          "type": "namespace_use_clause",
3389          "named": true
3390        }
3391      ]
3392    }
3393  },
3394  {
3395    "type": "namespace_use_group",
3396    "named": true,
3397    "fields": {},
3398    "children": {
3399      "multiple": true,
3400      "required": true,
3401      "types": [
3402        {
3403          "type": "namespace_use_clause",
3404          "named": true
3405        }
3406      ]
3407    }
3408  },
3409  {
3410    "type": "nowdoc",
3411    "named": true,
3412    "fields": {
3413      "end_tag": {
3414        "multiple": false,
3415        "required": true,
3416        "types": [
3417          {
3418            "type": "heredoc_end",
3419            "named": true
3420          }
3421        ]
3422      },
3423      "identifier": {
3424        "multiple": false,
3425        "required": true,
3426        "types": [
3427          {
3428            "type": "heredoc_start",
3429            "named": true
3430          }
3431        ]
3432      },
3433      "value": {
3434        "multiple": false,
3435        "required": false,
3436        "types": [
3437          {
3438            "type": "nowdoc_body",
3439            "named": true
3440          }
3441        ]
3442      }
3443    }
3444  },
3445  {
3446    "type": "nowdoc_body",
3447    "named": true,
3448    "fields": {},
3449    "children": {
3450      "multiple": true,
3451      "required": true,
3452      "types": [
3453        {
3454          "type": "nowdoc_string",
3455          "named": true
3456        }
3457      ]
3458    }
3459  },
3460  {
3461    "type": "null",
3462    "named": true,
3463    "fields": {}
3464  },
3465  {
3466    "type": "nullsafe_member_access_expression",
3467    "named": true,
3468    "fields": {
3469      "name": {
3470        "multiple": false,
3471        "required": true,
3472        "types": [
3473          {
3474            "type": "dynamic_variable_name",
3475            "named": true
3476          },
3477          {
3478            "type": "expression",
3479            "named": true
3480          },
3481          {
3482            "type": "name",
3483            "named": true
3484          },
3485          {
3486            "type": "variable_name",
3487            "named": true
3488          }
3489        ]
3490      },
3491      "object": {
3492        "multiple": false,
3493        "required": true,
3494        "types": [
3495          {
3496            "type": "array_creation_expression",
3497            "named": true
3498          },
3499          {
3500            "type": "cast_expression",
3501            "named": true
3502          },
3503          {
3504            "type": "class_constant_access_expression",
3505            "named": true
3506          },
3507          {
3508            "type": "dynamic_variable_name",
3509            "named": true
3510          },
3511          {
3512            "type": "encapsed_string",
3513            "named": true
3514          },
3515          {
3516            "type": "function_call_expression",
3517            "named": true
3518          },
3519          {
3520            "type": "heredoc",
3521            "named": true
3522          },
3523          {
3524            "type": "member_access_expression",
3525            "named": true
3526          },
3527          {
3528            "type": "member_call_expression",
3529            "named": true
3530          },
3531          {
3532            "type": "name",
3533            "named": true
3534          },
3535          {
3536            "type": "nowdoc",
3537            "named": true
3538          },
3539          {
3540            "type": "nullsafe_member_access_expression",
3541            "named": true
3542          },
3543          {
3544            "type": "nullsafe_member_call_expression",
3545            "named": true
3546          },
3547          {
3548            "type": "object_creation_expression",
3549            "named": true
3550          },
3551          {
3552            "type": "parenthesized_expression",
3553            "named": true
3554          },
3555          {
3556            "type": "qualified_name",
3557            "named": true
3558          },
3559          {
3560            "type": "scoped_call_expression",
3561            "named": true
3562          },
3563          {
3564            "type": "scoped_property_access_expression",
3565            "named": true
3566          },
3567          {
3568            "type": "string",
3569            "named": true
3570          },
3571          {
3572            "type": "subscript_expression",
3573            "named": true
3574          },
3575          {
3576            "type": "variable_name",
3577            "named": true
3578          }
3579        ]
3580      }
3581    }
3582  },
3583  {
3584    "type": "nullsafe_member_call_expression",
3585    "named": true,
3586    "fields": {
3587      "arguments": {
3588        "multiple": false,
3589        "required": true,
3590        "types": [
3591          {
3592            "type": "arguments",
3593            "named": true
3594          }
3595        ]
3596      },
3597      "name": {
3598        "multiple": false,
3599        "required": true,
3600        "types": [
3601          {
3602            "type": "dynamic_variable_name",
3603            "named": true
3604          },
3605          {
3606            "type": "expression",
3607            "named": true
3608          },
3609          {
3610            "type": "name",
3611            "named": true
3612          },
3613          {
3614            "type": "variable_name",
3615            "named": true
3616          }
3617        ]
3618      },
3619      "object": {
3620        "multiple": false,
3621        "required": true,
3622        "types": [
3623          {
3624            "type": "array_creation_expression",
3625            "named": true
3626          },
3627          {
3628            "type": "cast_expression",
3629            "named": true
3630          },
3631          {
3632            "type": "class_constant_access_expression",
3633            "named": true
3634          },
3635          {
3636            "type": "dynamic_variable_name",
3637            "named": true
3638          },
3639          {
3640            "type": "encapsed_string",
3641            "named": true
3642          },
3643          {
3644            "type": "function_call_expression",
3645            "named": true
3646          },
3647          {
3648            "type": "heredoc",
3649            "named": true
3650          },
3651          {
3652            "type": "member_access_expression",
3653            "named": true
3654          },
3655          {
3656            "type": "member_call_expression",
3657            "named": true
3658          },
3659          {
3660            "type": "name",
3661            "named": true
3662          },
3663          {
3664            "type": "nowdoc",
3665            "named": true
3666          },
3667          {
3668            "type": "nullsafe_member_access_expression",
3669            "named": true
3670          },
3671          {
3672            "type": "nullsafe_member_call_expression",
3673            "named": true
3674          },
3675          {
3676            "type": "object_creation_expression",
3677            "named": true
3678          },
3679          {
3680            "type": "parenthesized_expression",
3681            "named": true
3682          },
3683          {
3684            "type": "qualified_name",
3685            "named": true
3686          },
3687          {
3688            "type": "scoped_call_expression",
3689            "named": true
3690          },
3691          {
3692            "type": "scoped_property_access_expression",
3693            "named": true
3694          },
3695          {
3696            "type": "string",
3697            "named": true
3698          },
3699          {
3700            "type": "subscript_expression",
3701            "named": true
3702          },
3703          {
3704            "type": "variable_name",
3705            "named": true
3706          }
3707        ]
3708      }
3709    }
3710  },
3711  {
3712    "type": "object_creation_expression",
3713    "named": true,
3714    "fields": {},
3715    "children": {
3716      "multiple": true,
3717      "required": false,
3718      "types": [
3719        {
3720          "type": "anonymous_class",
3721          "named": true
3722        },
3723        {
3724          "type": "arguments",
3725          "named": true
3726        },
3727        {
3728          "type": "dynamic_variable_name",
3729          "named": true
3730        },
3731        {
3732          "type": "member_access_expression",
3733          "named": true
3734        },
3735        {
3736          "type": "name",
3737          "named": true
3738        },
3739        {
3740          "type": "nullsafe_member_access_expression",
3741          "named": true
3742        },
3743        {
3744          "type": "parenthesized_expression",
3745          "named": true
3746        },
3747        {
3748          "type": "qualified_name",
3749          "named": true
3750        },
3751        {
3752          "type": "scoped_property_access_expression",
3753          "named": true
3754        },
3755        {
3756          "type": "subscript_expression",
3757          "named": true
3758        },
3759        {
3760          "type": "variable_name",
3761          "named": true
3762        }
3763      ]
3764    }
3765  },
3766  {
3767    "type": "optional_type",
3768    "named": true,
3769    "fields": {},
3770    "children": {
3771      "multiple": false,
3772      "required": true,
3773      "types": [
3774        {
3775          "type": "named_type",
3776          "named": true
3777        },
3778        {
3779          "type": "primitive_type",
3780          "named": true
3781        }
3782      ]
3783    }
3784  },
3785  {
3786    "type": "pair",
3787    "named": true,
3788    "fields": {},
3789    "children": {
3790      "multiple": true,
3791      "required": true,
3792      "types": [
3793        {
3794          "type": "by_ref",
3795          "named": true
3796        },
3797        {
3798          "type": "expression",
3799          "named": true
3800        },
3801        {
3802          "type": "list_literal",
3803          "named": true
3804        }
3805      ]
3806    }
3807  },
3808  {
3809    "type": "parenthesized_expression",
3810    "named": true,
3811    "fields": {},
3812    "children": {
3813      "multiple": false,
3814      "required": true,
3815      "types": [
3816        {
3817          "type": "expression",
3818          "named": true
3819        }
3820      ]
3821    }
3822  },
3823  {
3824    "type": "primitive_type",
3825    "named": true,
3826    "fields": {}
3827  },
3828  {
3829    "type": "print_intrinsic",
3830    "named": true,
3831    "fields": {},
3832    "children": {
3833      "multiple": false,
3834      "required": true,
3835      "types": [
3836        {
3837          "type": "expression",
3838          "named": true
3839        }
3840      ]
3841    }
3842  },
3843  {
3844    "type": "program",
3845    "named": true,
3846    "fields": {},
3847    "children": {
3848      "multiple": true,
3849      "required": false,
3850      "types": [
3851        {
3852          "type": "php_tag",
3853          "named": true
3854        },
3855        {
3856          "type": "statement",
3857          "named": true
3858        },
3859        {
3860          "type": "text",
3861          "named": true
3862        }
3863      ]
3864    }
3865  },
3866  {
3867    "type": "property_declaration",
3868    "named": true,
3869    "fields": {
3870      "attributes": {
3871        "multiple": false,
3872        "required": false,
3873        "types": [
3874          {
3875            "type": "attribute_list",
3876            "named": true
3877          }
3878        ]
3879      },
3880      "type": {
3881        "multiple": false,
3882        "required": false,
3883        "types": [
3884          {
3885            "type": "type",
3886            "named": true
3887          }
3888        ]
3889      }
3890    },
3891    "children": {
3892      "multiple": true,
3893      "required": true,
3894      "types": [
3895        {
3896          "type": "abstract_modifier",
3897          "named": true
3898        },
3899        {
3900          "type": "final_modifier",
3901          "named": true
3902        },
3903        {
3904          "type": "property_element",
3905          "named": true
3906        },
3907        {
3908          "type": "property_hook_list",
3909          "named": true
3910        },
3911        {
3912          "type": "readonly_modifier",
3913          "named": true
3914        },
3915        {
3916          "type": "static_modifier",
3917          "named": true
3918        },
3919        {
3920          "type": "var_modifier",
3921          "named": true
3922        },
3923        {
3924          "type": "visibility_modifier",
3925          "named": true
3926        }
3927      ]
3928    }
3929  },
3930  {
3931    "type": "property_element",
3932    "named": true,
3933    "fields": {
3934      "default_value": {
3935        "multiple": false,
3936        "required": false,
3937        "types": [
3938          {
3939            "type": "expression",
3940            "named": true
3941          }
3942        ]
3943      },
3944      "name": {
3945        "multiple": false,
3946        "required": true,
3947        "types": [
3948          {
3949            "type": "variable_name",
3950            "named": true
3951          }
3952        ]
3953      }
3954    }
3955  },
3956  {
3957    "type": "property_hook",
3958    "named": true,
3959    "fields": {
3960      "attributes": {
3961        "multiple": false,
3962        "required": false,
3963        "types": [
3964          {
3965            "type": "attribute_list",
3966            "named": true
3967          }
3968        ]
3969      },
3970      "body": {
3971        "multiple": false,
3972        "required": false,
3973        "types": [
3974          {
3975            "type": "compound_statement",
3976            "named": true
3977          },
3978          {
3979            "type": "expression",
3980            "named": true
3981          }
3982        ]
3983      },
3984      "final": {
3985        "multiple": false,
3986        "required": false,
3987        "types": [
3988          {
3989            "type": "final_modifier",
3990            "named": true
3991          }
3992        ]
3993      },
3994      "parameters": {
3995        "multiple": false,
3996        "required": false,
3997        "types": [
3998          {
3999            "type": "formal_parameters",
4000            "named": true
4001          }
4002        ]
4003      },
4004      "reference_modifier": {
4005        "multiple": false,
4006        "required": false,
4007        "types": [
4008          {
4009            "type": "reference_modifier",
4010            "named": true
4011          }
4012        ]
4013      }
4014    },
4015    "children": {
4016      "multiple": false,
4017      "required": true,
4018      "types": [
4019        {
4020          "type": "name",
4021          "named": true
4022        }
4023      ]
4024    }
4025  },
4026  {
4027    "type": "property_hook_list",
4028    "named": true,
4029    "fields": {},
4030    "children": {
4031      "multiple": true,
4032      "required": false,
4033      "types": [
4034        {
4035          "type": "property_hook",
4036          "named": true
4037        }
4038      ]
4039    }
4040  },
4041  {
4042    "type": "property_promotion_parameter",
4043    "named": true,
4044    "fields": {
4045      "attributes": {
4046        "multiple": false,
4047        "required": false,
4048        "types": [
4049          {
4050            "type": "attribute_list",
4051            "named": true
4052          }
4053        ]
4054      },
4055      "default_value": {
4056        "multiple": false,
4057        "required": false,
4058        "types": [
4059          {
4060            "type": "expression",
4061            "named": true
4062          }
4063        ]
4064      },
4065      "name": {
4066        "multiple": false,
4067        "required": true,
4068        "types": [
4069          {
4070            "type": "by_ref",
4071            "named": true
4072          },
4073          {
4074            "type": "variable_name",
4075            "named": true
4076          }
4077        ]
4078      },
4079      "readonly": {
4080        "multiple": false,
4081        "required": false,
4082        "types": [
4083          {
4084            "type": "readonly_modifier",
4085            "named": true
4086          }
4087        ]
4088      },
4089      "type": {
4090        "multiple": false,
4091        "required": false,
4092        "types": [
4093          {
4094            "type": "type",
4095            "named": true
4096          }
4097        ]
4098      },
4099      "visibility": {
4100        "multiple": false,
4101        "required": true,
4102        "types": [
4103          {
4104            "type": "visibility_modifier",
4105            "named": true
4106          }
4107        ]
4108      }
4109    },
4110    "children": {
4111      "multiple": false,
4112      "required": false,
4113      "types": [
4114        {
4115          "type": "property_hook_list",
4116          "named": true
4117        }
4118      ]
4119    }
4120  },
4121  {
4122    "type": "qualified_name",
4123    "named": true,
4124    "fields": {
4125      "prefix": {
4126        "multiple": true,
4127        "required": true,
4128        "types": [
4129          {
4130            "type": "\\",
4131            "named": false
4132          },
4133          {
4134            "type": "namespace_name",
4135            "named": true
4136          }
4137        ]
4138      }
4139    },
4140    "children": {
4141      "multiple": false,
4142      "required": true,
4143      "types": [
4144        {
4145          "type": "name",
4146          "named": true
4147        }
4148      ]
4149    }
4150  },
4151  {
4152    "type": "readonly_modifier",
4153    "named": true,
4154    "fields": {}
4155  },
4156  {
4157    "type": "reference_assignment_expression",
4158    "named": true,
4159    "fields": {
4160      "left": {
4161        "multiple": false,
4162        "required": true,
4163        "types": [
4164          {
4165            "type": "cast_expression",
4166            "named": true
4167          },
4168          {
4169            "type": "dynamic_variable_name",
4170            "named": true
4171          },
4172          {
4173            "type": "function_call_expression",
4174            "named": true
4175          },
4176          {
4177            "type": "list_literal",
4178            "named": true
4179          },
4180          {
4181            "type": "member_access_expression",
4182            "named": true
4183          },
4184          {
4185            "type": "member_call_expression",
4186            "named": true
4187          },
4188          {
4189            "type": "nullsafe_member_access_expression",
4190            "named": true
4191          },
4192          {
4193            "type": "nullsafe_member_call_expression",
4194            "named": true
4195          },
4196          {
4197            "type": "scoped_call_expression",
4198            "named": true
4199          },
4200          {
4201            "type": "scoped_property_access_expression",
4202            "named": true
4203          },
4204          {
4205            "type": "subscript_expression",
4206            "named": true
4207          },
4208          {
4209            "type": "variable_name",
4210            "named": true
4211          }
4212        ]
4213      },
4214      "right": {
4215        "multiple": false,
4216        "required": true,
4217        "types": [
4218          {
4219            "type": "expression",
4220            "named": true
4221          }
4222        ]
4223      }
4224    }
4225  },
4226  {
4227    "type": "reference_modifier",
4228    "named": true,
4229    "fields": {}
4230  },
4231  {
4232    "type": "relative_scope",
4233    "named": true,
4234    "fields": {}
4235  },
4236  {
4237    "type": "require_expression",
4238    "named": true,
4239    "fields": {},
4240    "children": {
4241      "multiple": false,
4242      "required": true,
4243      "types": [
4244        {
4245          "type": "expression",
4246          "named": true
4247        }
4248      ]
4249    }
4250  },
4251  {
4252    "type": "require_once_expression",
4253    "named": true,
4254    "fields": {},
4255    "children": {
4256      "multiple": false,
4257      "required": true,
4258      "types": [
4259        {
4260          "type": "expression",
4261          "named": true
4262        }
4263      ]
4264    }
4265  },
4266  {
4267    "type": "return_statement",
4268    "named": true,
4269    "fields": {},
4270    "children": {
4271      "multiple": false,
4272      "required": false,
4273      "types": [
4274        {
4275          "type": "expression",
4276          "named": true
4277        }
4278      ]
4279    }
4280  },
4281  {
4282    "type": "scoped_call_expression",
4283    "named": true,
4284    "fields": {
4285      "arguments": {
4286        "multiple": false,
4287        "required": true,
4288        "types": [
4289          {
4290            "type": "arguments",
4291            "named": true
4292          }
4293        ]
4294      },
4295      "name": {
4296        "multiple": false,
4297        "required": true,
4298        "types": [
4299          {
4300            "type": "dynamic_variable_name",
4301            "named": true
4302          },
4303          {
4304            "type": "expression",
4305            "named": true
4306          },
4307          {
4308            "type": "name",
4309            "named": true
4310          },
4311          {
4312            "type": "variable_name",
4313            "named": true
4314          }
4315        ]
4316      },
4317      "scope": {
4318        "multiple": false,
4319        "required": true,
4320        "types": [
4321          {
4322            "type": "array_creation_expression",
4323            "named": true
4324          },
4325          {
4326            "type": "cast_expression",
4327            "named": true
4328          },
4329          {
4330            "type": "class_constant_access_expression",
4331            "named": true
4332          },
4333          {
4334            "type": "dynamic_variable_name",
4335            "named": true
4336          },
4337          {
4338            "type": "encapsed_string",
4339            "named": true
4340          },
4341          {
4342            "type": "function_call_expression",
4343            "named": true
4344          },
4345          {
4346            "type": "heredoc",
4347            "named": true
4348          },
4349          {
4350            "type": "member_access_expression",
4351            "named": true
4352          },
4353          {
4354            "type": "member_call_expression",
4355            "named": true
4356          },
4357          {
4358            "type": "name",
4359            "named": true
4360          },
4361          {
4362            "type": "nowdoc",
4363            "named": true
4364          },
4365          {
4366            "type": "nullsafe_member_access_expression",
4367            "named": true
4368          },
4369          {
4370            "type": "nullsafe_member_call_expression",
4371            "named": true
4372          },
4373          {
4374            "type": "object_creation_expression",
4375            "named": true
4376          },
4377          {
4378            "type": "parenthesized_expression",
4379            "named": true
4380          },
4381          {
4382            "type": "qualified_name",
4383            "named": true
4384          },
4385          {
4386            "type": "relative_scope",
4387            "named": true
4388          },
4389          {
4390            "type": "scoped_call_expression",
4391            "named": true
4392          },
4393          {
4394            "type": "scoped_property_access_expression",
4395            "named": true
4396          },
4397          {
4398            "type": "string",
4399            "named": true
4400          },
4401          {
4402            "type": "subscript_expression",
4403            "named": true
4404          },
4405          {
4406            "type": "variable_name",
4407            "named": true
4408          }
4409        ]
4410      }
4411    }
4412  },
4413  {
4414    "type": "scoped_property_access_expression",
4415    "named": true,
4416    "fields": {
4417      "name": {
4418        "multiple": false,
4419        "required": true,
4420        "types": [
4421          {
4422            "type": "dynamic_variable_name",
4423            "named": true
4424          },
4425          {
4426            "type": "variable_name",
4427            "named": true
4428          }
4429        ]
4430      },
4431      "scope": {
4432        "multiple": false,
4433        "required": true,
4434        "types": [
4435          {
4436            "type": "array_creation_expression",
4437            "named": true
4438          },
4439          {
4440            "type": "cast_expression",
4441            "named": true
4442          },
4443          {
4444            "type": "class_constant_access_expression",
4445            "named": true
4446          },
4447          {
4448            "type": "dynamic_variable_name",
4449            "named": true
4450          },
4451          {
4452            "type": "encapsed_string",
4453            "named": true
4454          },
4455          {
4456            "type": "function_call_expression",
4457            "named": true
4458          },
4459          {
4460            "type": "heredoc",
4461            "named": true
4462          },
4463          {
4464            "type": "member_access_expression",
4465            "named": true
4466          },
4467          {
4468            "type": "member_call_expression",
4469            "named": true
4470          },
4471          {
4472            "type": "name",
4473            "named": true
4474          },
4475          {
4476            "type": "nowdoc",
4477            "named": true
4478          },
4479          {
4480            "type": "nullsafe_member_access_expression",
4481            "named": true
4482          },
4483          {
4484            "type": "nullsafe_member_call_expression",
4485            "named": true
4486          },
4487          {
4488            "type": "object_creation_expression",
4489            "named": true
4490          },
4491          {
4492            "type": "parenthesized_expression",
4493            "named": true
4494          },
4495          {
4496            "type": "qualified_name",
4497            "named": true
4498          },
4499          {
4500            "type": "relative_scope",
4501            "named": true
4502          },
4503          {
4504            "type": "scoped_call_expression",
4505            "named": true
4506          },
4507          {
4508            "type": "scoped_property_access_expression",
4509            "named": true
4510          },
4511          {
4512            "type": "string",
4513            "named": true
4514          },
4515          {
4516            "type": "subscript_expression",
4517            "named": true
4518          },
4519          {
4520            "type": "variable_name",
4521            "named": true
4522          }
4523        ]
4524      }
4525    }
4526  },
4527  {
4528    "type": "sequence_expression",
4529    "named": true,
4530    "fields": {},
4531    "children": {
4532      "multiple": true,
4533      "required": true,
4534      "types": [
4535        {
4536          "type": "expression",
4537          "named": true
4538        },
4539        {
4540          "type": "sequence_expression",
4541          "named": true
4542        }
4543      ]
4544    }
4545  },
4546  {
4547    "type": "shell_command_expression",
4548    "named": true,
4549    "fields": {},
4550    "children": {
4551      "multiple": true,
4552      "required": false,
4553      "types": [
4554        {
4555          "type": "dynamic_variable_name",
4556          "named": true
4557        },
4558        {
4559          "type": "escape_sequence",
4560          "named": true
4561        },
4562        {
4563          "type": "expression",
4564          "named": true
4565        },
4566        {
4567          "type": "member_access_expression",
4568          "named": true
4569        },
4570        {
4571          "type": "string_content",
4572          "named": true
4573        },
4574        {
4575          "type": "subscript_expression",
4576          "named": true
4577        },
4578        {
4579          "type": "variable_name",
4580          "named": true
4581        }
4582      ]
4583    }
4584  },
4585  {
4586    "type": "simple_parameter",
4587    "named": true,
4588    "fields": {
4589      "attributes": {
4590        "multiple": false,
4591        "required": false,
4592        "types": [
4593          {
4594            "type": "attribute_list",
4595            "named": true
4596          }
4597        ]
4598      },
4599      "default_value": {
4600        "multiple": false,
4601        "required": false,
4602        "types": [
4603          {
4604            "type": "expression",
4605            "named": true
4606          }
4607        ]
4608      },
4609      "name": {
4610        "multiple": false,
4611        "required": true,
4612        "types": [
4613          {
4614            "type": "variable_name",
4615            "named": true
4616          }
4617        ]
4618      },
4619      "reference_modifier": {
4620        "multiple": false,
4621        "required": false,
4622        "types": [
4623          {
4624            "type": "reference_modifier",
4625            "named": true
4626          }
4627        ]
4628      },
4629      "type": {
4630        "multiple": false,
4631        "required": false,
4632        "types": [
4633          {
4634            "type": "type",
4635            "named": true
4636          }
4637        ]
4638      }
4639    }
4640  },
4641  {
4642    "type": "static_modifier",
4643    "named": true,
4644    "fields": {}
4645  },
4646  {
4647    "type": "static_variable_declaration",
4648    "named": true,
4649    "fields": {
4650      "name": {
4651        "multiple": false,
4652        "required": true,
4653        "types": [
4654          {
4655            "type": "variable_name",
4656            "named": true
4657          }
4658        ]
4659      },
4660      "value": {
4661        "multiple": false,
4662        "required": false,
4663        "types": [
4664          {
4665            "type": "expression",
4666            "named": true
4667          }
4668        ]
4669      }
4670    }
4671  },
4672  {
4673    "type": "string",
4674    "named": true,
4675    "fields": {},
4676    "children": {
4677      "multiple": true,
4678      "required": false,
4679      "types": [
4680        {
4681          "type": "escape_sequence",
4682          "named": true
4683        },
4684        {
4685          "type": "string_content",
4686          "named": true
4687        }
4688      ]
4689    }
4690  },
4691  {
4692    "type": "string_content",
4693    "named": true,
4694    "fields": {}
4695  },
4696  {
4697    "type": "subscript_expression",
4698    "named": true,
4699    "fields": {},
4700    "children": {
4701      "multiple": true,
4702      "required": true,
4703      "types": [
4704        {
4705          "type": "array_creation_expression",
4706          "named": true
4707        },
4708        {
4709          "type": "class_constant_access_expression",
4710          "named": true
4711        },
4712        {
4713          "type": "dynamic_variable_name",
4714          "named": true
4715        },
4716        {
4717          "type": "encapsed_string",
4718          "named": true
4719        },
4720        {
4721          "type": "expression",
4722          "named": true
4723        },
4724        {
4725          "type": "function_call_expression",
4726          "named": true
4727        },
4728        {
4729          "type": "heredoc",
4730          "named": true
4731        },
4732        {
4733          "type": "integer",
4734          "named": true
4735        },
4736        {
4737          "type": "member_access_expression",
4738          "named": true
4739        },
4740        {
4741          "type": "member_call_expression",
4742          "named": true
4743        },
4744        {
4745          "type": "name",
4746          "named": true
4747        },
4748        {
4749          "type": "nowdoc",
4750          "named": true
4751        },
4752        {
4753          "type": "nullsafe_member_access_expression",
4754          "named": true
4755        },
4756        {
4757          "type": "nullsafe_member_call_expression",
4758          "named": true
4759        },
4760        {
4761          "type": "object_creation_expression",
4762          "named": true
4763        },
4764        {
4765          "type": "parenthesized_expression",
4766          "named": true
4767        },
4768        {
4769          "type": "qualified_name",
4770          "named": true
4771        },
4772        {
4773          "type": "scoped_call_expression",
4774          "named": true
4775        },
4776        {
4777          "type": "scoped_property_access_expression",
4778          "named": true
4779        },
4780        {
4781          "type": "string",
4782          "named": true
4783        },
4784        {
4785          "type": "subscript_expression",
4786          "named": true
4787        },
4788        {
4789          "type": "variable_name",
4790          "named": true
4791        }
4792      ]
4793    }
4794  },
4795  {
4796    "type": "switch_block",
4797    "named": true,
4798    "fields": {},
4799    "children": {
4800      "multiple": true,
4801      "required": false,
4802      "types": [
4803        {
4804          "type": "case_statement",
4805          "named": true
4806        },
4807        {
4808          "type": "default_statement",
4809          "named": true
4810        }
4811      ]
4812    }
4813  },
4814  {
4815    "type": "switch_statement",
4816    "named": true,
4817    "fields": {
4818      "body": {
4819        "multiple": false,
4820        "required": true,
4821        "types": [
4822          {
4823            "type": "switch_block",
4824            "named": true
4825          }
4826        ]
4827      },
4828      "condition": {
4829        "multiple": false,
4830        "required": true,
4831        "types": [
4832          {
4833            "type": "parenthesized_expression",
4834            "named": true
4835          }
4836        ]
4837      }
4838    }
4839  },
4840  {
4841    "type": "text",
4842    "named": true,
4843    "fields": {}
4844  },
4845  {
4846    "type": "text_interpolation",
4847    "named": true,
4848    "fields": {},
4849    "children": {
4850      "multiple": true,
4851      "required": false,
4852      "types": [
4853        {
4854          "type": "php_tag",
4855          "named": true
4856        },
4857        {
4858          "type": "text",
4859          "named": true
4860        }
4861      ]
4862    }
4863  },
4864  {
4865    "type": "throw_expression",
4866    "named": true,
4867    "fields": {},
4868    "children": {
4869      "multiple": false,
4870      "required": true,
4871      "types": [
4872        {
4873          "type": "expression",
4874          "named": true
4875        }
4876      ]
4877    }
4878  },
4879  {
4880    "type": "trait_declaration",
4881    "named": true,
4882    "fields": {
4883      "attributes": {
4884        "multiple": false,
4885        "required": false,
4886        "types": [
4887          {
4888            "type": "attribute_list",
4889            "named": true
4890          }
4891        ]
4892      },
4893      "body": {
4894        "multiple": false,
4895        "required": true,
4896        "types": [
4897          {
4898            "type": "declaration_list",
4899            "named": true
4900          }
4901        ]
4902      },
4903      "name": {
4904        "multiple": false,
4905        "required": true,
4906        "types": [
4907          {
4908            "type": "name",
4909            "named": true
4910          }
4911        ]
4912      }
4913    }
4914  },
4915  {
4916    "type": "try_statement",
4917    "named": true,
4918    "fields": {
4919      "body": {
4920        "multiple": false,
4921        "required": true,
4922        "types": [
4923          {
4924            "type": "compound_statement",
4925            "named": true
4926          }
4927        ]
4928      }
4929    },
4930    "children": {
4931      "multiple": true,
4932      "required": true,
4933      "types": [
4934        {
4935          "type": "catch_clause",
4936          "named": true
4937        },
4938        {
4939          "type": "finally_clause",
4940          "named": true
4941        }
4942      ]
4943    }
4944  },
4945  {
4946    "type": "type_list",
4947    "named": true,
4948    "fields": {},
4949    "children": {
4950      "multiple": true,
4951      "required": true,
4952      "types": [
4953        {
4954          "type": "named_type",
4955          "named": true
4956        }
4957      ]
4958    }
4959  },
4960  {
4961    "type": "unary_op_expression",
4962    "named": true,
4963    "fields": {
4964      "argument": {
4965        "multiple": false,
4966        "required": false,
4967        "types": [
4968          {
4969            "type": "expression",
4970            "named": true
4971          }
4972        ]
4973      },
4974      "operator": {
4975        "multiple": false,
4976        "required": false,
4977        "types": [
4978          {
4979            "type": "!",
4980            "named": false
4981          },
4982          {
4983            "type": "+",
4984            "named": false
4985          },
4986          {
4987            "type": "-",
4988            "named": false
4989          },
4990          {
4991            "type": "~",
4992            "named": false
4993          }
4994        ]
4995      }
4996    },
4997    "children": {
4998      "multiple": false,
4999      "required": false,
5000      "types": [
5001        {
5002          "type": "integer",
5003          "named": true
5004        }
5005      ]
5006    }
5007  },
5008  {
5009    "type": "union_type",
5010    "named": true,
5011    "fields": {},
5012    "children": {
5013      "multiple": true,
5014      "required": true,
5015      "types": [
5016        {
5017          "type": "named_type",
5018          "named": true
5019        },
5020        {
5021          "type": "optional_type",
5022          "named": true
5023        },
5024        {
5025          "type": "primitive_type",
5026          "named": true
5027        }
5028      ]
5029    }
5030  },
5031  {
5032    "type": "unset_statement",
5033    "named": true,
5034    "fields": {},
5035    "children": {
5036      "multiple": true,
5037      "required": true,
5038      "types": [
5039        {
5040          "type": "cast_expression",
5041          "named": true
5042        },
5043        {
5044          "type": "dynamic_variable_name",
5045          "named": true
5046        },
5047        {
5048          "type": "function_call_expression",
5049          "named": true
5050        },
5051        {
5052          "type": "member_access_expression",
5053          "named": true
5054        },
5055        {
5056          "type": "member_call_expression",
5057          "named": true
5058        },
5059        {
5060          "type": "nullsafe_member_access_expression",
5061          "named": true
5062        },
5063        {
5064          "type": "nullsafe_member_call_expression",
5065          "named": true
5066        },
5067        {
5068          "type": "scoped_call_expression",
5069          "named": true
5070        },
5071        {
5072          "type": "scoped_property_access_expression",
5073          "named": true
5074        },
5075        {
5076          "type": "subscript_expression",
5077          "named": true
5078        },
5079        {
5080          "type": "variable_name",
5081          "named": true
5082        }
5083      ]
5084    }
5085  },
5086  {
5087    "type": "update_expression",
5088    "named": true,
5089    "fields": {
5090      "argument": {
5091        "multiple": false,
5092        "required": true,
5093        "types": [
5094          {
5095            "type": "cast_expression",
5096            "named": true
5097          },
5098          {
5099            "type": "dynamic_variable_name",
5100            "named": true
5101          },
5102          {
5103            "type": "function_call_expression",
5104            "named": true
5105          },
5106          {
5107            "type": "member_access_expression",
5108            "named": true
5109          },
5110          {
5111            "type": "member_call_expression",
5112            "named": true
5113          },
5114          {
5115            "type": "nullsafe_member_access_expression",
5116            "named": true
5117          },
5118          {
5119            "type": "nullsafe_member_call_expression",
5120            "named": true
5121          },
5122          {
5123            "type": "scoped_call_expression",
5124            "named": true
5125          },
5126          {
5127            "type": "scoped_property_access_expression",
5128            "named": true
5129          },
5130          {
5131            "type": "subscript_expression",
5132            "named": true
5133          },
5134          {
5135            "type": "variable_name",
5136            "named": true
5137          }
5138        ]
5139      },
5140      "operator": {
5141        "multiple": false,
5142        "required": true,
5143        "types": [
5144          {
5145            "type": "++",
5146            "named": false
5147          },
5148          {
5149            "type": "--",
5150            "named": false
5151          }
5152        ]
5153      }
5154    }
5155  },
5156  {
5157    "type": "use_as_clause",
5158    "named": true,
5159    "fields": {},
5160    "children": {
5161      "multiple": true,
5162      "required": true,
5163      "types": [
5164        {
5165          "type": "class_constant_access_expression",
5166          "named": true
5167        },
5168        {
5169          "type": "name",
5170          "named": true
5171        },
5172        {
5173          "type": "visibility_modifier",
5174          "named": true
5175        }
5176      ]
5177    }
5178  },
5179  {
5180    "type": "use_declaration",
5181    "named": true,
5182    "fields": {},
5183    "children": {
5184      "multiple": true,
5185      "required": true,
5186      "types": [
5187        {
5188          "type": "name",
5189          "named": true
5190        },
5191        {
5192          "type": "qualified_name",
5193          "named": true
5194        },
5195        {
5196          "type": "use_list",
5197          "named": true
5198        }
5199      ]
5200    }
5201  },
5202  {
5203    "type": "use_instead_of_clause",
5204    "named": true,
5205    "fields": {},
5206    "children": {
5207      "multiple": true,
5208      "required": true,
5209      "types": [
5210        {
5211          "type": "class_constant_access_expression",
5212          "named": true
5213        },
5214        {
5215          "type": "name",
5216          "named": true
5217        }
5218      ]
5219    }
5220  },
5221  {
5222    "type": "use_list",
5223    "named": true,
5224    "fields": {},
5225    "children": {
5226      "multiple": true,
5227      "required": false,
5228      "types": [
5229        {
5230          "type": "use_as_clause",
5231          "named": true
5232        },
5233        {
5234          "type": "use_instead_of_clause",
5235          "named": true
5236        }
5237      ]
5238    }
5239  },
5240  {
5241    "type": "variable_name",
5242    "named": true,
5243    "fields": {},
5244    "children": {
5245      "multiple": false,
5246      "required": true,
5247      "types": [
5248        {
5249          "type": "name",
5250          "named": true
5251        }
5252      ]
5253    }
5254  },
5255  {
5256    "type": "variadic_parameter",
5257    "named": true,
5258    "fields": {
5259      "attributes": {
5260        "multiple": false,
5261        "required": false,
5262        "types": [
5263          {
5264            "type": "attribute_list",
5265            "named": true
5266          }
5267        ]
5268      },
5269      "name": {
5270        "multiple": false,
5271        "required": true,
5272        "types": [
5273          {
5274            "type": "variable_name",
5275            "named": true
5276          }
5277        ]
5278      },
5279      "reference_modifier": {
5280        "multiple": false,
5281        "required": false,
5282        "types": [
5283          {
5284            "type": "reference_modifier",
5285            "named": true
5286          }
5287        ]
5288      },
5289      "type": {
5290        "multiple": false,
5291        "required": false,
5292        "types": [
5293          {
5294            "type": "type",
5295            "named": true
5296          }
5297        ]
5298      }
5299    }
5300  },
5301  {
5302    "type": "variadic_placeholder",
5303    "named": true,
5304    "fields": {}
5305  },
5306  {
5307    "type": "variadic_unpacking",
5308    "named": true,
5309    "fields": {},
5310    "children": {
5311      "multiple": false,
5312      "required": true,
5313      "types": [
5314        {
5315          "type": "expression",
5316          "named": true
5317        }
5318      ]
5319    }
5320  },
5321  {
5322    "type": "visibility_modifier",
5323    "named": true,
5324    "fields": {}
5325  },
5326  {
5327    "type": "while_statement",
5328    "named": true,
5329    "fields": {
5330      "body": {
5331        "multiple": false,
5332        "required": true,
5333        "types": [
5334          {
5335            "type": "colon_block",
5336            "named": true
5337          },
5338          {
5339            "type": "statement",
5340            "named": true
5341          }
5342        ]
5343      },
5344      "condition": {
5345        "multiple": false,
5346        "required": true,
5347        "types": [
5348          {
5349            "type": "parenthesized_expression",
5350            "named": true
5351          }
5352        ]
5353      }
5354    }
5355  },
5356  {
5357    "type": "yield_expression",
5358    "named": true,
5359    "fields": {},
5360    "children": {
5361      "multiple": false,
5362      "required": false,
5363      "types": [
5364        {
5365          "type": "array_element_initializer",
5366          "named": true
5367        },
5368        {
5369          "type": "expression",
5370          "named": true
5371        }
5372      ]
5373    }
5374  },
5375  {
5376    "type": "!",
5377    "named": false
5378  },
5379  {
5380    "type": "!=",
5381    "named": false
5382  },
5383  {
5384    "type": "!==",
5385    "named": false
5386  },
5387  {
5388    "type": "\"",
5389    "named": false
5390  },
5391  {
5392    "type": "#[",
5393    "named": false
5394  },
5395  {
5396    "type": "$",
5397    "named": false
5398  },
5399  {
5400    "type": "%",
5401    "named": false
5402  },
5403  {
5404    "type": "%=",
5405    "named": false
5406  },
5407  {
5408    "type": "&",
5409    "named": false
5410  },
5411  {
5412    "type": "&&",
5413    "named": false
5414  },
5415  {
5416    "type": "&=",
5417    "named": false
5418  },
5419  {
5420    "type": "'",
5421    "named": false
5422  },
5423  {
5424    "type": "(",
5425    "named": false
5426  },
5427  {
5428    "type": ")",
5429    "named": false
5430  },
5431  {
5432    "type": "*",
5433    "named": false
5434  },
5435  {
5436    "type": "**",
5437    "named": false
5438  },
5439  {
5440    "type": "**=",
5441    "named": false
5442  },
5443  {
5444    "type": "*=",
5445    "named": false
5446  },
5447  {
5448    "type": "+",
5449    "named": false
5450  },
5451  {
5452    "type": "++",
5453    "named": false
5454  },
5455  {
5456    "type": "+=",
5457    "named": false
5458  },
5459  {
5460    "type": ",",
5461    "named": false
5462  },
5463  {
5464    "type": "-",
5465    "named": false
5466  },
5467  {
5468    "type": "--",
5469    "named": false
5470  },
5471  {
5472    "type": "-=",
5473    "named": false
5474  },
5475  {
5476    "type": "->",
5477    "named": false
5478  },
5479  {
5480    "type": ".",
5481    "named": false
5482  },
5483  {
5484    "type": "...",
5485    "named": false
5486  },
5487  {
5488    "type": ".=",
5489    "named": false
5490  },
5491  {
5492    "type": "/",
5493    "named": false
5494  },
5495  {
5496    "type": "/=",
5497    "named": false
5498  },
5499  {
5500    "type": ":",
5501    "named": false
5502  },
5503  {
5504    "type": "::",
5505    "named": false
5506  },
5507  {
5508    "type": ";",
5509    "named": false
5510  },
5511  {
5512    "type": "<",
5513    "named": false
5514  },
5515  {
5516    "type": "<<",
5517    "named": false
5518  },
5519  {
5520    "type": "<<<",
5521    "named": false
5522  },
5523  {
5524    "type": "<<=",
5525    "named": false
5526  },
5527  {
5528    "type": "<=",
5529    "named": false
5530  },
5531  {
5532    "type": "<=>",
5533    "named": false
5534  },
5535  {
5536    "type": "<>",
5537    "named": false
5538  },
5539  {
5540    "type": "=",
5541    "named": false
5542  },
5543  {
5544    "type": "==",
5545    "named": false
5546  },
5547  {
5548    "type": "===",
5549    "named": false
5550  },
5551  {
5552    "type": "=>",
5553    "named": false
5554  },
5555  {
5556    "type": ">",
5557    "named": false
5558  },
5559  {
5560    "type": ">=",
5561    "named": false
5562  },
5563  {
5564    "type": ">>",
5565    "named": false
5566  },
5567  {
5568    "type": ">>=",
5569    "named": false
5570  },
5571  {
5572    "type": "?",
5573    "named": false
5574  },
5575  {
5576    "type": "?->",
5577    "named": false
5578  },
5579  {
5580    "type": "?>",
5581    "named": false
5582  },
5583  {
5584    "type": "??",
5585    "named": false
5586  },
5587  {
5588    "type": "??=",
5589    "named": false
5590  },
5591  {
5592    "type": "@",
5593    "named": false
5594  },
5595  {
5596    "type": "[",
5597    "named": false
5598  },
5599  {
5600    "type": "\\",
5601    "named": false
5602  },
5603  {
5604    "type": "]",
5605    "named": false
5606  },
5607  {
5608    "type": "^",
5609    "named": false
5610  },
5611  {
5612    "type": "^=",
5613    "named": false
5614  },
5615  {
5616    "type": "`",
5617    "named": false
5618  },
5619  {
5620    "type": "abstract",
5621    "named": false
5622  },
5623  {
5624    "type": "and",
5625    "named": false
5626  },
5627  {
5628    "type": "array",
5629    "named": false
5630  },
5631  {
5632    "type": "as",
5633    "named": false
5634  },
5635  {
5636    "type": "bool",
5637    "named": false
5638  },
5639  {
5640    "type": "bottom_type",
5641    "named": true
5642  },
5643  {
5644    "type": "break",
5645    "named": false
5646  },
5647  {
5648    "type": "callable",
5649    "named": false
5650  },
5651  {
5652    "type": "case",
5653    "named": false
5654  },
5655  {
5656    "type": "catch",
5657    "named": false
5658  },
5659  {
5660    "type": "class",
5661    "named": false
5662  },
5663  {
5664    "type": "clone",
5665    "named": false
5666  },
5667  {
5668    "type": "comment",
5669    "named": true
5670  },
5671  {
5672    "type": "const",
5673    "named": false
5674  },
5675  {
5676    "type": "continue",
5677    "named": false
5678  },
5679  {
5680    "type": "declare",
5681    "named": false
5682  },
5683  {
5684    "type": "default",
5685    "named": false
5686  },
5687  {
5688    "type": "do",
5689    "named": false
5690  },
5691  {
5692    "type": "echo",
5693    "named": false
5694  },
5695  {
5696    "type": "else",
5697    "named": false
5698  },
5699  {
5700    "type": "elseif",
5701    "named": false
5702  },
5703  {
5704    "type": "encoding",
5705    "named": false
5706  },
5707  {
5708    "type": "enddeclare",
5709    "named": false
5710  },
5711  {
5712    "type": "endfor",
5713    "named": false
5714  },
5715  {
5716    "type": "endforeach",
5717    "named": false
5718  },
5719  {
5720    "type": "endif",
5721    "named": false
5722  },
5723  {
5724    "type": "endswitch",
5725    "named": false
5726  },
5727  {
5728    "type": "endwhile",
5729    "named": false
5730  },
5731  {
5732    "type": "enum",
5733    "named": false
5734  },
5735  {
5736    "type": "escape_sequence",
5737    "named": true
5738  },
5739  {
5740    "type": "exit",
5741    "named": false
5742  },
5743  {
5744    "type": "extends",
5745    "named": false
5746  },
5747  {
5748    "type": "false",
5749    "named": false
5750  },
5751  {
5752    "type": "final",
5753    "named": false
5754  },
5755  {
5756    "type": "finally",
5757    "named": false
5758  },
5759  {
5760    "type": "float",
5761    "named": false
5762  },
5763  {
5764    "type": "float",
5765    "named": true
5766  },
5767  {
5768    "type": "fn",
5769    "named": false
5770  },
5771  {
5772    "type": "for",
5773    "named": false
5774  },
5775  {
5776    "type": "foreach",
5777    "named": false
5778  },
5779  {
5780    "type": "from",
5781    "named": false
5782  },
5783  {
5784    "type": "function",
5785    "named": false
5786  },
5787  {
5788    "type": "global",
5789    "named": false
5790  },
5791  {
5792    "type": "goto",
5793    "named": false
5794  },
5795  {
5796    "type": "heredoc_end",
5797    "named": true
5798  },
5799  {
5800    "type": "heredoc_start",
5801    "named": true
5802  },
5803  {
5804    "type": "if",
5805    "named": false
5806  },
5807  {
5808    "type": "implements",
5809    "named": false
5810  },
5811  {
5812    "type": "include",
5813    "named": false
5814  },
5815  {
5816    "type": "include_once",
5817    "named": false
5818  },
5819  {
5820    "type": "instanceof",
5821    "named": false
5822  },
5823  {
5824    "type": "insteadof",
5825    "named": false
5826  },
5827  {
5828    "type": "int",
5829    "named": false
5830  },
5831  {
5832    "type": "integer",
5833    "named": true
5834  },
5835  {
5836    "type": "interface",
5837    "named": false
5838  },
5839  {
5840    "type": "iterable",
5841    "named": false
5842  },
5843  {
5844    "type": "list",
5845    "named": false
5846  },
5847  {
5848    "type": "match",
5849    "named": false
5850  },
5851  {
5852    "type": "mixed",
5853    "named": false
5854  },
5855  {
5856    "type": "namespace",
5857    "named": false
5858  },
5859  {
5860    "type": "new",
5861    "named": false
5862  },
5863  {
5864    "type": "nowdoc_string",
5865    "named": true
5866  },
5867  {
5868    "type": "null",
5869    "named": false
5870  },
5871  {
5872    "type": "or",
5873    "named": false
5874  },
5875  {
5876    "type": "parent",
5877    "named": false
5878  },
5879  {
5880    "type": "php_tag",
5881    "named": true
5882  },
5883  {
5884    "type": "print",
5885    "named": false
5886  },
5887  {
5888    "type": "private",
5889    "named": false
5890  },
5891  {
5892    "type": "protected",
5893    "named": false
5894  },
5895  {
5896    "type": "public",
5897    "named": false
5898  },
5899  {
5900    "type": "readonly",
5901    "named": false
5902  },
5903  {
5904    "type": "require",
5905    "named": false
5906  },
5907  {
5908    "type": "require_once",
5909    "named": false
5910  },
5911  {
5912    "type": "return",
5913    "named": false
5914  },
5915  {
5916    "type": "self",
5917    "named": false
5918  },
5919  {
5920    "type": "static",
5921    "named": false
5922  },
5923  {
5924    "type": "strict_types",
5925    "named": false
5926  },
5927  {
5928    "type": "string",
5929    "named": false
5930  },
5931  {
5932    "type": "switch",
5933    "named": false
5934  },
5935  {
5936    "type": "throw",
5937    "named": false
5938  },
5939  {
5940    "type": "ticks",
5941    "named": false
5942  },
5943  {
5944    "type": "trait",
5945    "named": false
5946  },
5947  {
5948    "type": "true",
5949    "named": false
5950  },
5951  {
5952    "type": "try",
5953    "named": false
5954  },
5955  {
5956    "type": "unset",
5957    "named": false
5958  },
5959  {
5960    "type": "use",
5961    "named": false
5962  },
5963  {
5964    "type": "var_modifier",
5965    "named": true
5966  },
5967  {
5968    "type": "void",
5969    "named": false
5970  },
5971  {
5972    "type": "while",
5973    "named": false
5974  },
5975  {
5976    "type": "xor",
5977    "named": false
5978  },
5979  {
5980    "type": "yield",
5981    "named": false
5982  },
5983  {
5984    "type": "{",
5985    "named": false
5986  },
5987  {
5988    "type": "|",
5989    "named": false
5990  },
5991  {
5992    "type": "|=",
5993    "named": false
5994  },
5995  {
5996    "type": "||",
5997    "named": false
5998  },
5999  {
6000    "type": "}",
6001    "named": false
6002  },
6003  {
6004    "type": "~",
6005    "named": false
6006  }
6007]