[
  {
    "type": "_declaration",
    "named": true,
    "subtypes": [
      {
        "type": "class_declaration",
        "named": true
      },
      {
        "type": "constructor_declaration",
        "named": true
      },
      {
        "type": "conversion_operator_declaration",
        "named": true
      },
      {
        "type": "delegate_declaration",
        "named": true
      },
      {
        "type": "destructor_declaration",
        "named": true
      },
      {
        "type": "enum_declaration",
        "named": true
      },
      {
        "type": "event_declaration",
        "named": true
      },
      {
        "type": "event_field_declaration",
        "named": true
      },
      {
        "type": "field_declaration",
        "named": true
      },
      {
        "type": "indexer_declaration",
        "named": true
      },
      {
        "type": "interface_declaration",
        "named": true
      },
      {
        "type": "method_declaration",
        "named": true
      },
      {
        "type": "namespace_declaration",
        "named": true
      },
      {
        "type": "operator_declaration",
        "named": true
      },
      {
        "type": "property_declaration",
        "named": true
      },
      {
        "type": "record_declaration",
        "named": true
      },
      {
        "type": "record_struct_declaration",
        "named": true
      },
      {
        "type": "struct_declaration",
        "named": true
      },
      {
        "type": "using_directive",
        "named": true
      }
    ]
  },
  {
    "type": "_expression",
    "named": true,
    "subtypes": [
      {
        "type": "anonymous_method_expression",
        "named": true
      },
      {
        "type": "anonymous_object_creation_expression",
        "named": true
      },
      {
        "type": "array_creation_expression",
        "named": true
      },
      {
        "type": "as_expression",
        "named": true
      },
      {
        "type": "assignment_expression",
        "named": true
      },
      {
        "type": "await_expression",
        "named": true
      },
      {
        "type": "base_expression",
        "named": true
      },
      {
        "type": "binary_expression",
        "named": true
      },
      {
        "type": "boolean_literal",
        "named": true
      },
      {
        "type": "cast_expression",
        "named": true
      },
      {
        "type": "character_literal",
        "named": true
      },
      {
        "type": "checked_expression",
        "named": true
      },
      {
        "type": "conditional_access_expression",
        "named": true
      },
      {
        "type": "conditional_expression",
        "named": true
      },
      {
        "type": "default_expression",
        "named": true
      },
      {
        "type": "element_access_expression",
        "named": true
      },
      {
        "type": "element_binding_expression",
        "named": true
      },
      {
        "type": "generic_name",
        "named": true
      },
      {
        "type": "global",
        "named": true
      },
      {
        "type": "identifier",
        "named": true
      },
      {
        "type": "implicit_array_creation_expression",
        "named": true
      },
      {
        "type": "implicit_object_creation_expression",
        "named": true
      },
      {
        "type": "implicit_stack_alloc_array_creation_expression",
        "named": true
      },
      {
        "type": "initializer_expression",
        "named": true
      },
      {
        "type": "integer_literal",
        "named": true
      },
      {
        "type": "interpolated_string_expression",
        "named": true
      },
      {
        "type": "invocation_expression",
        "named": true
      },
      {
        "type": "is_expression",
        "named": true
      },
      {
        "type": "is_pattern_expression",
        "named": true
      },
      {
        "type": "lambda_expression",
        "named": true
      },
      {
        "type": "make_ref_expression",
        "named": true
      },
      {
        "type": "member_access_expression",
        "named": true
      },
      {
        "type": "null_literal",
        "named": true
      },
      {
        "type": "object_creation_expression",
        "named": true
      },
      {
        "type": "parenthesized_expression",
        "named": true
      },
      {
        "type": "postfix_unary_expression",
        "named": true
      },
      {
        "type": "prefix_unary_expression",
        "named": true
      },
      {
        "type": "query_expression",
        "named": true
      },
      {
        "type": "range_expression",
        "named": true
      },
      {
        "type": "raw_string_literal",
        "named": true
      },
      {
        "type": "real_literal",
        "named": true
      },
      {
        "type": "ref_expression",
        "named": true
      },
      {
        "type": "ref_type_expression",
        "named": true
      },
      {
        "type": "ref_value_expression",
        "named": true
      },
      {
        "type": "size_of_expression",
        "named": true
      },
      {
        "type": "stack_alloc_array_creation_expression",
        "named": true
      },
      {
        "type": "string_literal",
        "named": true
      },
      {
        "type": "switch_expression",
        "named": true
      },
      {
        "type": "this_expression",
        "named": true
      },
      {
        "type": "throw_expression",
        "named": true
      },
      {
        "type": "tuple_expression",
        "named": true
      },
      {
        "type": "type_of_expression",
        "named": true
      },
      {
        "type": "verbatim_string_literal",
        "named": true
      },
      {
        "type": "with_expression",
        "named": true
      }
    ]
  },
  {
    "type": "_statement",
    "named": true,
    "subtypes": [
      {
        "type": "block",
        "named": true
      },
      {
        "type": "break_statement",
        "named": true
      },
      {
        "type": "checked_statement",
        "named": true
      },
      {
        "type": "continue_statement",
        "named": true
      },
      {
        "type": "do_statement",
        "named": true
      },
      {
        "type": "empty_statement",
        "named": true
      },
      {
        "type": "expression_statement",
        "named": true
      },
      {
        "type": "fixed_statement",
        "named": true
      },
      {
        "type": "for_each_statement",
        "named": true
      },
      {
        "type": "for_statement",
        "named": true
      },
      {
        "type": "goto_statement",
        "named": true
      },
      {
        "type": "if_statement",
        "named": true
      },
      {
        "type": "labeled_statement",
        "named": true
      },
      {
        "type": "local_declaration_statement",
        "named": true
      },
      {
        "type": "local_function_statement",
        "named": true
      },
      {
        "type": "lock_statement",
        "named": true
      },
      {
        "type": "return_statement",
        "named": true
      },
      {
        "type": "switch_statement",
        "named": true
      },
      {
        "type": "throw_statement",
        "named": true
      },
      {
        "type": "try_statement",
        "named": true
      },
      {
        "type": "unsafe_statement",
        "named": true
      },
      {
        "type": "using_statement",
        "named": true
      },
      {
        "type": "while_statement",
        "named": true
      },
      {
        "type": "yield_statement",
        "named": true
      }
    ]
  },
  {
    "type": "_type",
    "named": true,
    "subtypes": [
      {
        "type": "alias_qualified_name",
        "named": true
      },
      {
        "type": "array_type",
        "named": true
      },
      {
        "type": "function_pointer_type",
        "named": true
      },
      {
        "type": "generic_name",
        "named": true
      },
      {
        "type": "global",
        "named": true
      },
      {
        "type": "identifier",
        "named": true
      },
      {
        "type": "implicit_type",
        "named": true
      },
      {
        "type": "nullable_type",
        "named": true
      },
      {
        "type": "pointer_type",
        "named": true
      },
      {
        "type": "predefined_type",
        "named": true
      },
      {
        "type": "qualified_name",
        "named": true
      },
      {
        "type": "ref_type",
        "named": true
      },
      {
        "type": "scoped_type",
        "named": true
      },
      {
        "type": "tuple_type",
        "named": true
      }
    ]
  },
  {
    "type": "accessor_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "arrow_expression_clause",
            "named": true
          },
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "add",
            "named": false
          },
          {
            "type": "get",
            "named": false
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "init",
            "named": false
          },
          {
            "type": "remove",
            "named": false
          },
          {
            "type": "set",
            "named": false
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "accessor_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "accessor_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "alias_qualified_name",
    "named": true,
    "fields": {
      "alias": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "and_pattern",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "and_pattern",
            "named": true
          },
          {
            "type": "constant_pattern",
            "named": true
          },
          {
            "type": "declaration_pattern",
            "named": true
          },
          {
            "type": "discard",
            "named": true
          },
          {
            "type": "list_pattern",
            "named": true
          },
          {
            "type": "negated_pattern",
            "named": true
          },
          {
            "type": "or_pattern",
            "named": true
          },
          {
            "type": "parenthesized_pattern",
            "named": true
          },
          {
            "type": "recursive_pattern",
            "named": true
          },
          {
            "type": "relational_pattern",
            "named": true
          },
          {
            "type": "type_pattern",
            "named": true
          },
          {
            "type": "var_pattern",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "and",
            "named": false
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "and_pattern",
            "named": true
          },
          {
            "type": "constant_pattern",
            "named": true
          },
          {
            "type": "declaration_pattern",
            "named": true
          },
          {
            "type": "discard",
            "named": true
          },
          {
            "type": "list_pattern",
            "named": true
          },
          {
            "type": "negated_pattern",
            "named": true
          },
          {
            "type": "or_pattern",
            "named": true
          },
          {
            "type": "parenthesized_pattern",
            "named": true
          },
          {
            "type": "recursive_pattern",
            "named": true
          },
          {
            "type": "relational_pattern",
            "named": true
          },
          {
            "type": "type_pattern",
            "named": true
          },
          {
            "type": "var_pattern",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "anonymous_method_expression",
    "named": true,
    "fields": {
      "parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "block",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "anonymous_object_creation_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "name_equals",
          "named": true
        }
      ]
    }
  },
  {
    "type": "argument",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "name_colon",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "declaration_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "argument_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "argument",
          "named": true
        }
      ]
    }
  },
  {
    "type": "array_creation_expression",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "initializer_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "array_rank_specifier",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "array_type",
    "named": true,
    "fields": {
      "rank": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array_rank_specifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "array_type",
            "named": true
          },
          {
            "type": "function_pointer_type",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "nullable_type",
            "named": true
          },
          {
            "type": "pointer_type",
            "named": true
          },
          {
            "type": "predefined_type",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          },
          {
            "type": "tuple_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "arrow_expression_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "as_expression",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "as",
            "named": false
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "assignment_expression",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "element_access_expression",
            "named": true
          },
          {
            "type": "element_binding_expression",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "member_access_expression",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "prefix_unary_expression",
            "named": true
          },
          {
            "type": "this_expression",
            "named": true
          },
          {
            "type": "tuple_expression",
            "named": true
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "assignment_operator",
          "named": true
        }
      ]
    }
  },
  {
    "type": "assignment_operator",
    "named": true,
    "fields": {}
  },
  {
    "type": "attribute",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "attribute_argument_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "attribute_argument",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "name_colon",
          "named": true
        },
        {
          "type": "name_equals",
          "named": true
        }
      ]
    }
  },
  {
    "type": "attribute_argument_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_argument",
          "named": true
        }
      ]
    }
  },
  {
    "type": "attribute_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "attribute",
          "named": true
        },
        {
          "type": "attribute_target_specifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "attribute_target_specifier",
    "named": true,
    "fields": {}
  },
  {
    "type": "await_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "base_expression",
    "named": true,
    "fields": {}
  },
  {
    "type": "base_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_type",
          "named": true
        },
        {
          "type": "primary_constructor_base_type",
          "named": true
        }
      ]
    }
  },
  {
    "type": "binary_expression",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "!=",
            "named": false
          },
          {
            "type": "%",
            "named": false
          },
          {
            "type": "&",
            "named": false
          },
          {
            "type": "&&",
            "named": false
          },
          {
            "type": "*",
            "named": false
          },
          {
            "type": "+",
            "named": false
          },
          {
            "type": "-",
            "named": false
          },
          {
            "type": "/",
            "named": false
          },
          {
            "type": "<",
            "named": false
          },
          {
            "type": "<<",
            "named": false
          },
          {
            "type": "<=",
            "named": false
          },
          {
            "type": "==",
            "named": false
          },
          {
            "type": ">",
            "named": false
          },
          {
            "type": ">=",
            "named": false
          },
          {
            "type": ">>",
            "named": false
          },
          {
            "type": ">>>",
            "named": false
          },
          {
            "type": "??",
            "named": false
          },
          {
            "type": "^",
            "named": false
          },
          {
            "type": "|",
            "named": false
          },
          {
            "type": "||",
            "named": false
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "block",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "boolean_literal",
    "named": true,
    "fields": {}
  },
  {
    "type": "bracketed_argument_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "argument",
          "named": true
        }
      ]
    }
  },
  {
    "type": "bracketed_parameter_list",
    "named": true,
    "fields": {
      "name": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "array_type",
            "named": true
          },
          {
            "type": "nullable_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        }
      ]
    }
  },
  {
    "type": "break_statement",
    "named": true,
    "fields": {}
  },
  {
    "type": "case_pattern_switch_label",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "and_pattern",
          "named": true
        },
        {
          "type": "constant_pattern",
          "named": true
        },
        {
          "type": "declaration_pattern",
          "named": true
        },
        {
          "type": "discard",
          "named": true
        },
        {
          "type": "list_pattern",
          "named": true
        },
        {
          "type": "negated_pattern",
          "named": true
        },
        {
          "type": "or_pattern",
          "named": true
        },
        {
          "type": "parenthesized_pattern",
          "named": true
        },
        {
          "type": "recursive_pattern",
          "named": true
        },
        {
          "type": "relational_pattern",
          "named": true
        },
        {
          "type": "type_pattern",
          "named": true
        },
        {
          "type": "var_pattern",
          "named": true
        },
        {
          "type": "when_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "case_switch_label",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "cast_expression",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "catch_clause",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "catch_declaration",
          "named": true
        },
        {
          "type": "catch_filter_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "catch_declaration",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "catch_filter_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "character_literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "character_literal_unescaped",
          "named": true
        },
        {
          "type": "escape_sequence",
          "named": true
        }
      ]
    }
  },
  {
    "type": "checked_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "checked_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "class_declaration",
    "named": true,
    "fields": {
      "bases": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "base_list",
            "named": true
          }
        ]
      },
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "declaration_list",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type_parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_parameter_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        },
        {
          "type": "type_parameter_constraints_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "compilation_unit",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "class_declaration",
          "named": true
        },
        {
          "type": "delegate_declaration",
          "named": true
        },
        {
          "type": "enum_declaration",
          "named": true
        },
        {
          "type": "extern_alias_directive",
          "named": true
        },
        {
          "type": "file_scoped_namespace_declaration",
          "named": true
        },
        {
          "type": "global_attribute_list",
          "named": true
        },
        {
          "type": "global_statement",
          "named": true
        },
        {
          "type": "interface_declaration",
          "named": true
        },
        {
          "type": "namespace_declaration",
          "named": true
        },
        {
          "type": "record_declaration",
          "named": true
        },
        {
          "type": "record_struct_declaration",
          "named": true
        },
        {
          "type": "struct_declaration",
          "named": true
        },
        {
          "type": "using_directive",
          "named": true
        }
      ]
    }
  },
  {
    "type": "conditional_access_expression",
    "named": true,
    "fields": {
      "condition": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "element_binding_expression",
          "named": true
        },
        {
          "type": "member_binding_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "conditional_expression",
    "named": true,
    "fields": {
      "alternative": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "condition": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "consequence": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "constant_pattern",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "cast_expression",
          "named": true
        },
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "default_expression",
          "named": true
        },
        {
          "type": "generic_name",
          "named": true
        },
        {
          "type": "global",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "integer_literal",
          "named": true
        },
        {
          "type": "interpolated_string_expression",
          "named": true
        },
        {
          "type": "invocation_expression",
          "named": true
        },
        {
          "type": "member_access_expression",
          "named": true
        },
        {
          "type": "null_literal",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "postfix_unary_expression",
          "named": true
        },
        {
          "type": "prefix_unary_expression",
          "named": true
        },
        {
          "type": "raw_string_literal",
          "named": true
        },
        {
          "type": "real_literal",
          "named": true
        },
        {
          "type": "size_of_expression",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "type_of_expression",
          "named": true
        },
        {
          "type": "verbatim_string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "constructor_constraint",
    "named": true,
    "fields": {}
  },
  {
    "type": "constructor_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "arrow_expression_clause",
            "named": true
          },
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "constructor_initializer",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "constructor_initializer",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "argument_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "continue_statement",
    "named": true,
    "fields": {}
  },
  {
    "type": "conversion_operator_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "arrow_expression_clause",
            "named": true
          },
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "explicit_interface_specifier",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "declaration_expression",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "declaration_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "declaration_pattern",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "discard",
          "named": true
        },
        {
          "type": "parenthesized_variable_designation",
          "named": true
        }
      ]
    }
  },
  {
    "type": "default_expression",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "default_switch_label",
    "named": true,
    "fields": {}
  },
  {
    "type": "define_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "delegate_declaration",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      },
      "type_parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_parameter_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        },
        {
          "type": "type_parameter_constraints_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "destructor_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "arrow_expression_clause",
            "named": true
          },
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "do_statement",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_statement",
            "named": true
          }
        ]
      },
      "condition": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "element_access_expression",
    "named": true,
    "fields": {
      "expression": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "subscript": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "bracketed_argument_list",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "element_binding_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "bracketed_argument_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "elif_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "integer_literal",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefix_unary_expression",
          "named": true
        },
        {
          "type": "verbatim_string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "else_directive",
    "named": true,
    "fields": {}
  },
  {
    "type": "empty_statement",
    "named": true,
    "fields": {}
  },
  {
    "type": "endregion_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "preproc_message",
          "named": true
        }
      ]
    }
  },
  {
    "type": "enum_declaration",
    "named": true,
    "fields": {
      "bases": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "base_list",
            "named": true
          }
        ]
      },
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "enum_member_declaration_list",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "enum_member_declaration",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "enum_member_declaration_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "enum_member_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "equals_value_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "error_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "preproc_message",
          "named": true
        }
      ]
    }
  },
  {
    "type": "event_declaration",
    "named": true,
    "fields": {
      "accessors": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "accessor_list",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "explicit_interface_specifier",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "event_field_declaration",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        },
        {
          "type": "variable_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "explicit_interface_specifier",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "expression_colon",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "expression_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "assignment_expression",
          "named": true
        },
        {
          "type": "await_expression",
          "named": true
        },
        {
          "type": "invocation_expression",
          "named": true
        },
        {
          "type": "object_creation_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "postfix_unary_expression",
          "named": true
        },
        {
          "type": "prefix_unary_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "extern_alias_directive",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "field_declaration",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        },
        {
          "type": "variable_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "file_scoped_namespace_declaration",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "class_declaration",
          "named": true
        },
        {
          "type": "delegate_declaration",
          "named": true
        },
        {
          "type": "enum_declaration",
          "named": true
        },
        {
          "type": "extern_alias_directive",
          "named": true
        },
        {
          "type": "interface_declaration",
          "named": true
        },
        {
          "type": "record_declaration",
          "named": true
        },
        {
          "type": "record_struct_declaration",
          "named": true
        },
        {
          "type": "struct_declaration",
          "named": true
        },
        {
          "type": "using_directive",
          "named": true
        }
      ]
    }
  },
  {
    "type": "finally_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "fixed_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_statement",
          "named": true
        },
        {
          "type": "variable_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "for_each_statement",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_statement",
            "named": true
          }
        ]
      },
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          },
          {
            "type": "tuple_pattern",
            "named": true
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "for_statement",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_statement",
            "named": true
          }
        ]
      },
      "condition": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "initializer": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": ",",
            "named": false
          },
          {
            "type": "_expression",
            "named": true
          },
          {
            "type": "variable_declaration",
            "named": true
          }
        ]
      },
      "update": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": ",",
            "named": false
          },
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "from_clause",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_pointer_calling_convention",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "function_pointer_unmanaged_calling_convention_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_pointer_parameter",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "parameter_modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_pointer_type",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "function_pointer_calling_convention",
          "named": true
        },
        {
          "type": "function_pointer_parameter",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_pointer_unmanaged_calling_convention",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "function_pointer_unmanaged_calling_convention_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "function_pointer_unmanaged_calling_convention",
          "named": true
        }
      ]
    }
  },
  {
    "type": "generic_name",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type_arguments": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "type_argument_list",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "global",
    "named": true,
    "fields": {}
  },
  {
    "type": "global_attribute_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute",
          "named": true
        }
      ]
    }
  },
  {
    "type": "global_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "goto_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "group_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "identifier",
    "named": true,
    "fields": {}
  },
  {
    "type": "if_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "integer_literal",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "prefix_unary_expression",
          "named": true
        },
        {
          "type": "verbatim_string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "if_statement",
    "named": true,
    "fields": {
      "alternative": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_statement",
            "named": true
          }
        ]
      },
      "condition": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "consequence": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_statement",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "implicit_array_creation_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "initializer_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "implicit_object_creation_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "argument_list",
          "named": true
        },
        {
          "type": "initializer_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "implicit_parameter_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "parameter",
          "named": true
        }
      ]
    }
  },
  {
    "type": "implicit_stack_alloc_array_creation_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "initializer_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "implicit_type",
    "named": true,
    "fields": {}
  },
  {
    "type": "indexer_declaration",
    "named": true,
    "fields": {
      "accessors": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "accessor_list",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "bracketed_parameter_list",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "arrow_expression_clause",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "explicit_interface_specifier",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "initializer_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "interface_declaration",
    "named": true,
    "fields": {
      "bases": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "base_list",
            "named": true
          }
        ]
      },
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "declaration_list",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type_parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_parameter_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        },
        {
          "type": "type_parameter_constraints_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "interpolated_raw_string_text",
    "named": true,
    "fields": {}
  },
  {
    "type": "interpolated_string_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "interpolated_raw_string_text",
          "named": true
        },
        {
          "type": "interpolated_string_text",
          "named": true
        },
        {
          "type": "interpolated_verbatim_string_text",
          "named": true
        },
        {
          "type": "interpolation",
          "named": true
        }
      ]
    }
  },
  {
    "type": "interpolated_string_text",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "escape_sequence",
          "named": true
        }
      ]
    }
  },
  {
    "type": "interpolated_verbatim_string_text",
    "named": true,
    "fields": {}
  },
  {
    "type": "interpolation",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "interpolation_alignment_clause",
          "named": true
        },
        {
          "type": "interpolation_format_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "interpolation_alignment_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "interpolation_format_clause",
    "named": true,
    "fields": {}
  },
  {
    "type": "invocation_expression",
    "named": true,
    "fields": {
      "arguments": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "argument_list",
            "named": true
          }
        ]
      },
      "function": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "is_expression",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "is",
            "named": false
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "is_pattern_expression",
    "named": true,
    "fields": {
      "expression": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "pattern": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "and_pattern",
            "named": true
          },
          {
            "type": "constant_pattern",
            "named": true
          },
          {
            "type": "declaration_pattern",
            "named": true
          },
          {
            "type": "discard",
            "named": true
          },
          {
            "type": "list_pattern",
            "named": true
          },
          {
            "type": "negated_pattern",
            "named": true
          },
          {
            "type": "or_pattern",
            "named": true
          },
          {
            "type": "parenthesized_pattern",
            "named": true
          },
          {
            "type": "recursive_pattern",
            "named": true
          },
          {
            "type": "relational_pattern",
            "named": true
          },
          {
            "type": "type_pattern",
            "named": true
          },
          {
            "type": "var_pattern",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "join_clause",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "join_into_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "join_into_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "labeled_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_statement",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "lambda_expression",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          },
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "implicit_parameter_list",
            "named": true
          },
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "let_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "line_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "preproc_integer_literal",
          "named": true
        },
        {
          "type": "preproc_string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "list_pattern",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "and_pattern",
          "named": true
        },
        {
          "type": "constant_pattern",
          "named": true
        },
        {
          "type": "declaration_pattern",
          "named": true
        },
        {
          "type": "discard",
          "named": true
        },
        {
          "type": "list_pattern",
          "named": true
        },
        {
          "type": "negated_pattern",
          "named": true
        },
        {
          "type": "or_pattern",
          "named": true
        },
        {
          "type": "parenthesized_pattern",
          "named": true
        },
        {
          "type": "recursive_pattern",
          "named": true
        },
        {
          "type": "relational_pattern",
          "named": true
        },
        {
          "type": "slice_pattern",
          "named": true
        },
        {
          "type": "type_pattern",
          "named": true
        },
        {
          "type": "var_pattern",
          "named": true
        }
      ]
    }
  },
  {
    "type": "load_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "preproc_string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "local_declaration_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "modifier",
          "named": true
        },
        {
          "type": "variable_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "local_function_statement",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "arrow_expression_clause",
            "named": true
          },
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      },
      "type_parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_parameter_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        },
        {
          "type": "type_parameter_constraints_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "lock_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "_statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "make_ref_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "member_access_expression",
    "named": true,
    "fields": {
      "expression": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          },
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "predefined_type",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "member_binding_expression",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "method_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "arrow_expression_clause",
            "named": true
          },
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      },
      "type_parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_parameter_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "explicit_interface_specifier",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        },
        {
          "type": "type_parameter_constraints_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "modifier",
    "named": true,
    "fields": {}
  },
  {
    "type": "name_colon",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "name_equals",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "global",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "namespace_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "declaration_list",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "negated_pattern",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "and_pattern",
          "named": true
        },
        {
          "type": "constant_pattern",
          "named": true
        },
        {
          "type": "declaration_pattern",
          "named": true
        },
        {
          "type": "discard",
          "named": true
        },
        {
          "type": "list_pattern",
          "named": true
        },
        {
          "type": "negated_pattern",
          "named": true
        },
        {
          "type": "or_pattern",
          "named": true
        },
        {
          "type": "parenthesized_pattern",
          "named": true
        },
        {
          "type": "recursive_pattern",
          "named": true
        },
        {
          "type": "relational_pattern",
          "named": true
        },
        {
          "type": "type_pattern",
          "named": true
        },
        {
          "type": "var_pattern",
          "named": true
        }
      ]
    }
  },
  {
    "type": "nullable_directive",
    "named": true,
    "fields": {}
  },
  {
    "type": "nullable_type",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "array_type",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "predefined_type",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          },
          {
            "type": "tuple_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "object_creation_expression",
    "named": true,
    "fields": {
      "arguments": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "argument_list",
            "named": true
          }
        ]
      },
      "initializer": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "initializer_expression",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "nullable_type",
            "named": true
          },
          {
            "type": "predefined_type",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "operator_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "arrow_expression_clause",
            "named": true
          },
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "!",
            "named": false
          },
          {
            "type": "!=",
            "named": false
          },
          {
            "type": "%",
            "named": false
          },
          {
            "type": "&",
            "named": false
          },
          {
            "type": "*",
            "named": false
          },
          {
            "type": "+",
            "named": false
          },
          {
            "type": "++",
            "named": false
          },
          {
            "type": "-",
            "named": false
          },
          {
            "type": "--",
            "named": false
          },
          {
            "type": "/",
            "named": false
          },
          {
            "type": "<",
            "named": false
          },
          {
            "type": "<<",
            "named": false
          },
          {
            "type": "<=",
            "named": false
          },
          {
            "type": "==",
            "named": false
          },
          {
            "type": ">",
            "named": false
          },
          {
            "type": ">=",
            "named": false
          },
          {
            "type": ">>",
            "named": false
          },
          {
            "type": ">>>",
            "named": false
          },
          {
            "type": "^",
            "named": false
          },
          {
            "type": "false",
            "named": false
          },
          {
            "type": "true",
            "named": false
          },
          {
            "type": "|",
            "named": false
          },
          {
            "type": "~",
            "named": false
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "explicit_interface_specifier",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "or_pattern",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "and_pattern",
            "named": true
          },
          {
            "type": "constant_pattern",
            "named": true
          },
          {
            "type": "declaration_pattern",
            "named": true
          },
          {
            "type": "discard",
            "named": true
          },
          {
            "type": "list_pattern",
            "named": true
          },
          {
            "type": "negated_pattern",
            "named": true
          },
          {
            "type": "or_pattern",
            "named": true
          },
          {
            "type": "parenthesized_pattern",
            "named": true
          },
          {
            "type": "recursive_pattern",
            "named": true
          },
          {
            "type": "relational_pattern",
            "named": true
          },
          {
            "type": "type_pattern",
            "named": true
          },
          {
            "type": "var_pattern",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "or",
            "named": false
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "and_pattern",
            "named": true
          },
          {
            "type": "constant_pattern",
            "named": true
          },
          {
            "type": "declaration_pattern",
            "named": true
          },
          {
            "type": "discard",
            "named": true
          },
          {
            "type": "list_pattern",
            "named": true
          },
          {
            "type": "negated_pattern",
            "named": true
          },
          {
            "type": "or_pattern",
            "named": true
          },
          {
            "type": "parenthesized_pattern",
            "named": true
          },
          {
            "type": "recursive_pattern",
            "named": true
          },
          {
            "type": "relational_pattern",
            "named": true
          },
          {
            "type": "type_pattern",
            "named": true
          },
          {
            "type": "var_pattern",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "order_by_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parameter",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "array_type",
            "named": true
          },
          {
            "type": "function_pointer_type",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "implicit_type",
            "named": true
          },
          {
            "type": "nullable_type",
            "named": true
          },
          {
            "type": "pointer_type",
            "named": true
          },
          {
            "type": "predefined_type",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          },
          {
            "type": "tuple_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "equals_value_clause",
          "named": true
        },
        {
          "type": "parameter_modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parameter_list",
    "named": true,
    "fields": {
      "name": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "array_type",
            "named": true
          },
          {
            "type": "nullable_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "parameter",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parenthesized_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "anonymous_method_expression",
          "named": true
        },
        {
          "type": "anonymous_object_creation_expression",
          "named": true
        },
        {
          "type": "array_creation_expression",
          "named": true
        },
        {
          "type": "as_expression",
          "named": true
        },
        {
          "type": "assignment_expression",
          "named": true
        },
        {
          "type": "await_expression",
          "named": true
        },
        {
          "type": "base_expression",
          "named": true
        },
        {
          "type": "binary_expression",
          "named": true
        },
        {
          "type": "boolean_literal",
          "named": true
        },
        {
          "type": "cast_expression",
          "named": true
        },
        {
          "type": "character_literal",
          "named": true
        },
        {
          "type": "checked_expression",
          "named": true
        },
        {
          "type": "conditional_access_expression",
          "named": true
        },
        {
          "type": "conditional_expression",
          "named": true
        },
        {
          "type": "default_expression",
          "named": true
        },
        {
          "type": "element_access_expression",
          "named": true
        },
        {
          "type": "element_binding_expression",
          "named": true
        },
        {
          "type": "generic_name",
          "named": true
        },
        {
          "type": "global",
          "named": true
        },
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "implicit_array_creation_expression",
          "named": true
        },
        {
          "type": "implicit_object_creation_expression",
          "named": true
        },
        {
          "type": "implicit_stack_alloc_array_creation_expression",
          "named": true
        },
        {
          "type": "initializer_expression",
          "named": true
        },
        {
          "type": "integer_literal",
          "named": true
        },
        {
          "type": "interpolated_string_expression",
          "named": true
        },
        {
          "type": "invocation_expression",
          "named": true
        },
        {
          "type": "is_expression",
          "named": true
        },
        {
          "type": "is_pattern_expression",
          "named": true
        },
        {
          "type": "lambda_expression",
          "named": true
        },
        {
          "type": "make_ref_expression",
          "named": true
        },
        {
          "type": "member_access_expression",
          "named": true
        },
        {
          "type": "null_literal",
          "named": true
        },
        {
          "type": "object_creation_expression",
          "named": true
        },
        {
          "type": "parenthesized_expression",
          "named": true
        },
        {
          "type": "postfix_unary_expression",
          "named": true
        },
        {
          "type": "prefix_unary_expression",
          "named": true
        },
        {
          "type": "query_expression",
          "named": true
        },
        {
          "type": "range_expression",
          "named": true
        },
        {
          "type": "raw_string_literal",
          "named": true
        },
        {
          "type": "real_literal",
          "named": true
        },
        {
          "type": "ref_expression",
          "named": true
        },
        {
          "type": "ref_type_expression",
          "named": true
        },
        {
          "type": "ref_value_expression",
          "named": true
        },
        {
          "type": "size_of_expression",
          "named": true
        },
        {
          "type": "stack_alloc_array_creation_expression",
          "named": true
        },
        {
          "type": "string_literal",
          "named": true
        },
        {
          "type": "switch_expression",
          "named": true
        },
        {
          "type": "this_expression",
          "named": true
        },
        {
          "type": "throw_expression",
          "named": true
        },
        {
          "type": "tuple_expression",
          "named": true
        },
        {
          "type": "type_of_expression",
          "named": true
        },
        {
          "type": "verbatim_string_literal",
          "named": true
        },
        {
          "type": "with_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parenthesized_pattern",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "and_pattern",
          "named": true
        },
        {
          "type": "constant_pattern",
          "named": true
        },
        {
          "type": "declaration_pattern",
          "named": true
        },
        {
          "type": "discard",
          "named": true
        },
        {
          "type": "list_pattern",
          "named": true
        },
        {
          "type": "negated_pattern",
          "named": true
        },
        {
          "type": "or_pattern",
          "named": true
        },
        {
          "type": "parenthesized_pattern",
          "named": true
        },
        {
          "type": "recursive_pattern",
          "named": true
        },
        {
          "type": "relational_pattern",
          "named": true
        },
        {
          "type": "type_pattern",
          "named": true
        },
        {
          "type": "var_pattern",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parenthesized_variable_designation",
    "named": true,
    "fields": {
      "name": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "discard",
          "named": true
        },
        {
          "type": "parenthesized_variable_designation",
          "named": true
        }
      ]
    }
  },
  {
    "type": "pointer_type",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "function_pointer_type",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "nullable_type",
            "named": true
          },
          {
            "type": "pointer_type",
            "named": true
          },
          {
            "type": "predefined_type",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          },
          {
            "type": "tuple_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "positional_pattern_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "subpattern",
          "named": true
        }
      ]
    }
  },
  {
    "type": "postfix_unary_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "pragma_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "integer_literal",
          "named": true
        },
        {
          "type": "preproc_string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "prefix_unary_expression",
    "named": true,
    "fields": {
      "argument": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binary_expression",
            "named": true
          },
          {
            "type": "boolean_literal",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "integer_literal",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "prefix_unary_expression",
            "named": true
          },
          {
            "type": "verbatim_string_literal",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "!",
            "named": false
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "primary_constructor_base_type",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "argument_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "property_declaration",
    "named": true,
    "fields": {
      "accessors": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "accessor_list",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          },
          {
            "type": "arrow_expression_clause",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "explicit_interface_specifier",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "property_pattern_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "subpattern",
          "named": true
        }
      ]
    }
  },
  {
    "type": "qualified_name",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "qualifier": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "query_continuation",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "from_clause",
          "named": true
        },
        {
          "type": "group_clause",
          "named": true
        },
        {
          "type": "join_clause",
          "named": true
        },
        {
          "type": "let_clause",
          "named": true
        },
        {
          "type": "order_by_clause",
          "named": true
        },
        {
          "type": "query_continuation",
          "named": true
        },
        {
          "type": "select_clause",
          "named": true
        },
        {
          "type": "where_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "query_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "from_clause",
          "named": true
        },
        {
          "type": "group_clause",
          "named": true
        },
        {
          "type": "join_clause",
          "named": true
        },
        {
          "type": "let_clause",
          "named": true
        },
        {
          "type": "order_by_clause",
          "named": true
        },
        {
          "type": "query_continuation",
          "named": true
        },
        {
          "type": "select_clause",
          "named": true
        },
        {
          "type": "where_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "range_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "record_declaration",
    "named": true,
    "fields": {
      "bases": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "base_list",
            "named": true
          }
        ]
      },
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": ";",
            "named": false
          },
          {
            "type": "declaration_list",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      },
      "type_parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_parameter_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        },
        {
          "type": "type_parameter_constraints_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "record_struct_declaration",
    "named": true,
    "fields": {
      "bases": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "base_list",
            "named": true
          }
        ]
      },
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": ";",
            "named": false
          },
          {
            "type": "declaration_list",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      },
      "type_parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_parameter_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        },
        {
          "type": "type_parameter_constraints_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "recursive_pattern",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "discard",
          "named": true
        },
        {
          "type": "parenthesized_variable_designation",
          "named": true
        },
        {
          "type": "positional_pattern_clause",
          "named": true
        },
        {
          "type": "property_pattern_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "ref_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "ref_type",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "array_type",
            "named": true
          },
          {
            "type": "function_pointer_type",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "implicit_type",
            "named": true
          },
          {
            "type": "nullable_type",
            "named": true
          },
          {
            "type": "pointer_type",
            "named": true
          },
          {
            "type": "predefined_type",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          },
          {
            "type": "tuple_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "ref_type_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "ref_value_expression",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "reference_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "preproc_string_literal",
          "named": true
        }
      ]
    }
  },
  {
    "type": "region_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "preproc_message",
          "named": true
        }
      ]
    }
  },
  {
    "type": "relational_pattern",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "return_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "scoped_type",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          },
          {
            "type": "ref_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "select_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "shebang_directive",
    "named": true,
    "fields": {}
  },
  {
    "type": "simple_assignment_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "size_of_expression",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "slice_pattern",
    "named": true,
    "fields": {}
  },
  {
    "type": "stack_alloc_array_creation_expression",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "array_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "initializer_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "string_literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "escape_sequence",
          "named": true
        },
        {
          "type": "string_literal_encoding",
          "named": true
        },
        {
          "type": "string_literal_fragment",
          "named": true
        }
      ]
    }
  },
  {
    "type": "struct_declaration",
    "named": true,
    "fields": {
      "bases": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "base_list",
            "named": true
          }
        ]
      },
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "declaration_list",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type_parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_parameter_list",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        },
        {
          "type": "modifier",
          "named": true
        },
        {
          "type": "type_parameter_constraints_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "subpattern",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "and_pattern",
          "named": true
        },
        {
          "type": "constant_pattern",
          "named": true
        },
        {
          "type": "declaration_pattern",
          "named": true
        },
        {
          "type": "discard",
          "named": true
        },
        {
          "type": "expression_colon",
          "named": true
        },
        {
          "type": "list_pattern",
          "named": true
        },
        {
          "type": "negated_pattern",
          "named": true
        },
        {
          "type": "or_pattern",
          "named": true
        },
        {
          "type": "parenthesized_pattern",
          "named": true
        },
        {
          "type": "recursive_pattern",
          "named": true
        },
        {
          "type": "relational_pattern",
          "named": true
        },
        {
          "type": "type_pattern",
          "named": true
        },
        {
          "type": "var_pattern",
          "named": true
        }
      ]
    }
  },
  {
    "type": "switch_body",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "switch_section",
          "named": true
        }
      ]
    }
  },
  {
    "type": "switch_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "switch_expression_arm",
          "named": true
        }
      ]
    }
  },
  {
    "type": "switch_expression_arm",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "and_pattern",
          "named": true
        },
        {
          "type": "constant_pattern",
          "named": true
        },
        {
          "type": "declaration_pattern",
          "named": true
        },
        {
          "type": "discard",
          "named": true
        },
        {
          "type": "list_pattern",
          "named": true
        },
        {
          "type": "negated_pattern",
          "named": true
        },
        {
          "type": "or_pattern",
          "named": true
        },
        {
          "type": "parenthesized_pattern",
          "named": true
        },
        {
          "type": "recursive_pattern",
          "named": true
        },
        {
          "type": "relational_pattern",
          "named": true
        },
        {
          "type": "type_pattern",
          "named": true
        },
        {
          "type": "var_pattern",
          "named": true
        },
        {
          "type": "when_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "switch_section",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_statement",
          "named": true
        },
        {
          "type": "case_pattern_switch_label",
          "named": true
        },
        {
          "type": "case_switch_label",
          "named": true
        },
        {
          "type": "default_switch_label",
          "named": true
        }
      ]
    }
  },
  {
    "type": "switch_statement",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "switch_body",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "this_expression",
    "named": true,
    "fields": {}
  },
  {
    "type": "throw_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "throw_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "try_statement",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "catch_clause",
          "named": true
        },
        {
          "type": "finally_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "tuple_element",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "tuple_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "argument",
          "named": true
        }
      ]
    }
  },
  {
    "type": "tuple_pattern",
    "named": true,
    "fields": {
      "name": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "discard",
          "named": true
        },
        {
          "type": "tuple_pattern",
          "named": true
        }
      ]
    }
  },
  {
    "type": "tuple_type",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "tuple_element",
          "named": true
        }
      ]
    }
  },
  {
    "type": "type_argument_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_type",
          "named": true
        }
      ]
    }
  },
  {
    "type": "type_constraint",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "type_of_expression",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "type_parameter",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "attribute_list",
          "named": true
        }
      ]
    }
  },
  {
    "type": "type_parameter_constraint",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "constructor_constraint",
          "named": true
        },
        {
          "type": "type_constraint",
          "named": true
        }
      ]
    }
  },
  {
    "type": "type_parameter_constraints_clause",
    "named": true,
    "fields": {
      "constraints": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": ",",
            "named": false
          },
          {
            "type": "type_parameter_constraint",
            "named": true
          }
        ]
      },
      "target": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "type_parameter_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "type_parameter",
          "named": true
        }
      ]
    }
  },
  {
    "type": "type_pattern",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "undef_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "unsafe_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "block",
          "named": true
        }
      ]
    }
  },
  {
    "type": "using_directive",
    "named": true,
    "fields": {
      "alias": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "name_equals",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "alias_qualified_name",
            "named": true
          },
          {
            "type": "generic_name",
            "named": true
          },
          {
            "type": "global",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "qualified_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "using_statement",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_statement",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "variable_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "var_pattern",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "discard",
          "named": true
        },
        {
          "type": "parenthesized_variable_designation",
          "named": true
        }
      ]
    }
  },
  {
    "type": "variable_declaration",
    "named": true,
    "fields": {
      "type": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_type",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "variable_declarator",
          "named": true
        }
      ]
    }
  },
  {
    "type": "variable_declarator",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "bracketed_argument_list",
          "named": true
        },
        {
          "type": "equals_value_clause",
          "named": true
        },
        {
          "type": "tuple_pattern",
          "named": true
        }
      ]
    }
  },
  {
    "type": "warning_directive",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "preproc_message",
          "named": true
        }
      ]
    }
  },
  {
    "type": "when_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "where_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "while_statement",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_statement",
            "named": true
          }
        ]
      },
      "condition": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "with_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "with_initializer_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "with_initializer_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "simple_assignment_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "yield_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "!",
    "named": false
  },
  {
    "type": "!=",
    "named": false
  },
  {
    "type": "\"",
    "named": false
  },
  {
    "type": "\"\"",
    "named": false
  },
  {
    "type": "\"\"\"",
    "named": false
  },
  {
    "type": "$\"",
    "named": false
  },
  {
    "type": "$\"\"\"",
    "named": false
  },
  {
    "type": "$@\"",
    "named": false
  },
  {
    "type": "%",
    "named": false
  },
  {
    "type": "%=",
    "named": false
  },
  {
    "type": "&",
    "named": false
  },
  {
    "type": "&&",
    "named": false
  },
  {
    "type": "&=",
    "named": false
  },
  {
    "type": "'",
    "named": false
  },
  {
    "type": "(",
    "named": false
  },
  {
    "type": ")",
    "named": false
  },
  {
    "type": "*",
    "named": false
  },
  {
    "type": "*=",
    "named": false
  },
  {
    "type": "+",
    "named": false
  },
  {
    "type": "++",
    "named": false
  },
  {
    "type": "+=",
    "named": false
  },
  {
    "type": ",",
    "named": false
  },
  {
    "type": "-",
    "named": false
  },
  {
    "type": "--",
    "named": false
  },
  {
    "type": "-=",
    "named": false
  },
  {
    "type": "->",
    "named": false
  },
  {
    "type": ".",
    "named": false
  },
  {
    "type": "..",
    "named": false
  },
  {
    "type": "/",
    "named": false
  },
  {
    "type": "/=",
    "named": false
  },
  {
    "type": ":",
    "named": false
  },
  {
    "type": "::",
    "named": false
  },
  {
    "type": ";",
    "named": false
  },
  {
    "type": "<",
    "named": false
  },
  {
    "type": "<<",
    "named": false
  },
  {
    "type": "<<=",
    "named": false
  },
  {
    "type": "<=",
    "named": false
  },
  {
    "type": "=",
    "named": false
  },
  {
    "type": "==",
    "named": false
  },
  {
    "type": "=>",
    "named": false
  },
  {
    "type": ">",
    "named": false
  },
  {
    "type": ">=",
    "named": false
  },
  {
    "type": ">>",
    "named": false
  },
  {
    "type": ">>=",
    "named": false
  },
  {
    "type": ">>>",
    "named": false
  },
  {
    "type": ">>>=",
    "named": false
  },
  {
    "type": "?",
    "named": false
  },
  {
    "type": "??",
    "named": false
  },
  {
    "type": "??=",
    "named": false
  },
  {
    "type": "@$\"",
    "named": false
  },
  {
    "type": "Cdecl",
    "named": false
  },
  {
    "type": "Fastcall",
    "named": false
  },
  {
    "type": "Stdcall",
    "named": false
  },
  {
    "type": "Thiscall",
    "named": false
  },
  {
    "type": "[",
    "named": false
  },
  {
    "type": "]",
    "named": false
  },
  {
    "type": "^",
    "named": false
  },
  {
    "type": "^=",
    "named": false
  },
  {
    "type": "__makeref",
    "named": false
  },
  {
    "type": "__reftype",
    "named": false
  },
  {
    "type": "__refvalue",
    "named": false
  },
  {
    "type": "abstract",
    "named": false
  },
  {
    "type": "add",
    "named": false
  },
  {
    "type": "alias",
    "named": false
  },
  {
    "type": "and",
    "named": false
  },
  {
    "type": "annotations",
    "named": false
  },
  {
    "type": "as",
    "named": false
  },
  {
    "type": "ascending",
    "named": false
  },
  {
    "type": "assembly",
    "named": false
  },
  {
    "type": "async",
    "named": false
  },
  {
    "type": "await",
    "named": false
  },
  {
    "type": "base",
    "named": false
  },
  {
    "type": "break",
    "named": false
  },
  {
    "type": "by",
    "named": false
  },
  {
    "type": "case",
    "named": false
  },
  {
    "type": "catch",
    "named": false
  },
  {
    "type": "character_literal_unescaped",
    "named": true
  },
  {
    "type": "checked",
    "named": false
  },
  {
    "type": "checksum",
    "named": false
  },
  {
    "type": "class",
    "named": false
  },
  {
    "type": "comment",
    "named": true
  },
  {
    "type": "const",
    "named": false
  },
  {
    "type": "continue",
    "named": false
  },
  {
    "type": "default",
    "named": false
  },
  {
    "type": "define",
    "named": false
  },
  {
    "type": "delegate",
    "named": false
  },
  {
    "type": "descending",
    "named": false
  },
  {
    "type": "disable",
    "named": false
  },
  {
    "type": "discard",
    "named": true
  },
  {
    "type": "do",
    "named": false
  },
  {
    "type": "elif",
    "named": false
  },
  {
    "type": "else",
    "named": false
  },
  {
    "type": "enable",
    "named": false
  },
  {
    "type": "endif_directive",
    "named": true
  },
  {
    "type": "endregion",
    "named": false
  },
  {
    "type": "enum",
    "named": false
  },
  {
    "type": "equals",
    "named": false
  },
  {
    "type": "error",
    "named": false
  },
  {
    "type": "escape_sequence",
    "named": true
  },
  {
    "type": "event",
    "named": false
  },
  {
    "type": "explicit",
    "named": false
  },
  {
    "type": "extern",
    "named": false
  },
  {
    "type": "false",
    "named": false
  },
  {
    "type": "field",
    "named": false
  },
  {
    "type": "file",
    "named": false
  },
  {
    "type": "finally",
    "named": false
  },
  {
    "type": "fixed",
    "named": false
  },
  {
    "type": "for",
    "named": false
  },
  {
    "type": "foreach",
    "named": false
  },
  {
    "type": "from",
    "named": false
  },
  {
    "type": "get",
    "named": false
  },
  {
    "type": "global",
    "named": false
  },
  {
    "type": "goto",
    "named": false
  },
  {
    "type": "group",
    "named": false
  },
  {
    "type": "hidden",
    "named": false
  },
  {
    "type": "if",
    "named": false
  },
  {
    "type": "implicit",
    "named": false
  },
  {
    "type": "in",
    "named": false
  },
  {
    "type": "init",
    "named": false
  },
  {
    "type": "integer_literal",
    "named": true
  },
  {
    "type": "interface",
    "named": false
  },
  {
    "type": "internal",
    "named": false
  },
  {
    "type": "into",
    "named": false
  },
  {
    "type": "is",
    "named": false
  },
  {
    "type": "join",
    "named": false
  },
  {
    "type": "let",
    "named": false
  },
  {
    "type": "line",
    "named": false
  },
  {
    "type": "load",
    "named": false
  },
  {
    "type": "lock",
    "named": false
  },
  {
    "type": "managed",
    "named": false
  },
  {
    "type": "method",
    "named": false
  },
  {
    "type": "module",
    "named": false
  },
  {
    "type": "namespace",
    "named": false
  },
  {
    "type": "new",
    "named": false
  },
  {
    "type": "not",
    "named": false
  },
  {
    "type": "notnull",
    "named": false
  },
  {
    "type": "null_literal",
    "named": true
  },
  {
    "type": "nullable",
    "named": false
  },
  {
    "type": "on",
    "named": false
  },
  {
    "type": "operator",
    "named": false
  },
  {
    "type": "or",
    "named": false
  },
  {
    "type": "orderby",
    "named": false
  },
  {
    "type": "out",
    "named": false
  },
  {
    "type": "override",
    "named": false
  },
  {
    "type": "param",
    "named": false
  },
  {
    "type": "parameter_modifier",
    "named": true
  },
  {
    "type": "params",
    "named": false
  },
  {
    "type": "partial",
    "named": false
  },
  {
    "type": "pragma",
    "named": false
  },
  {
    "type": "predefined_type",
    "named": true
  },
  {
    "type": "preproc_integer_literal",
    "named": true
  },
  {
    "type": "preproc_message",
    "named": true
  },
  {
    "type": "preproc_string_literal",
    "named": true
  },
  {
    "type": "private",
    "named": false
  },
  {
    "type": "property",
    "named": false
  },
  {
    "type": "protected",
    "named": false
  },
  {
    "type": "public",
    "named": false
  },
  {
    "type": "r",
    "named": false
  },
  {
    "type": "raw_string_literal",
    "named": true
  },
  {
    "type": "readonly",
    "named": false
  },
  {
    "type": "real_literal",
    "named": true
  },
  {
    "type": "record",
    "named": false
  },
  {
    "type": "ref",
    "named": false
  },
  {
    "type": "region",
    "named": false
  },
  {
    "type": "remove",
    "named": false
  },
  {
    "type": "required",
    "named": false
  },
  {
    "type": "restore",
    "named": false
  },
  {
    "type": "return",
    "named": false
  },
  {
    "type": "scoped",
    "named": false
  },
  {
    "type": "sealed",
    "named": false
  },
  {
    "type": "select",
    "named": false
  },
  {
    "type": "set",
    "named": false
  },
  {
    "type": "sizeof",
    "named": false
  },
  {
    "type": "stackalloc",
    "named": false
  },
  {
    "type": "static",
    "named": false
  },
  {
    "type": "string_literal_encoding",
    "named": true
  },
  {
    "type": "string_literal_fragment",
    "named": true
  },
  {
    "type": "struct",
    "named": false
  },
  {
    "type": "switch",
    "named": false
  },
  {
    "type": "this",
    "named": false
  },
  {
    "type": "throw",
    "named": false
  },
  {
    "type": "true",
    "named": false
  },
  {
    "type": "try",
    "named": false
  },
  {
    "type": "type",
    "named": false
  },
  {
    "type": "typeof",
    "named": false
  },
  {
    "type": "unchecked",
    "named": false
  },
  {
    "type": "undef",
    "named": false
  },
  {
    "type": "unmanaged",
    "named": false
  },
  {
    "type": "unsafe",
    "named": false
  },
  {
    "type": "using",
    "named": false
  },
  {
    "type": "var",
    "named": false
  },
  {
    "type": "verbatim_string_literal",
    "named": true
  },
  {
    "type": "virtual",
    "named": false
  },
  {
    "type": "volatile",
    "named": false
  },
  {
    "type": "warning",
    "named": false
  },
  {
    "type": "warnings",
    "named": false
  },
  {
    "type": "when",
    "named": false
  },
  {
    "type": "where",
    "named": false
  },
  {
    "type": "while",
    "named": false
  },
  {
    "type": "with",
    "named": false
  },
  {
    "type": "yield",
    "named": false
  },
  {
    "type": "{",
    "named": false
  },
  {
    "type": "{{",
    "named": false
  },
  {
    "type": "|",
    "named": false
  },
  {
    "type": "|=",
    "named": false
  },
  {
    "type": "||",
    "named": false
  },
  {
    "type": "}",
    "named": false
  },
  {
    "type": "~",
    "named": false
  }
]