Constant tree_sitter_sfapex::apex::NODE_TYPES  
source · pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"_literal\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"boolean\",\n        \"named\": true\n      },\n      {\n        \"type\": \"decimal_floating_point_literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"int\",\n        \"named\": true\n      },\n      {\n        \"type\": \"null_literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"string_literal\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"_simple_type\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"boolean_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"generic_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"java_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"scoped_type_identifier\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_identifier\",\n        \"named\": true\n      },\n      {\n        \"type\": \"void_type\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"_type\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"_unannotated_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"annotated_type\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"_unannotated_type\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"_simple_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"array_type\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"declaration\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"class_declaration\",\n        \"named\": true\n      },\n      {\n        \"type\": \"enum_declaration\",\n        \"named\": true\n      },\n      {\n        \"type\": \"interface_declaration\",\n        \"named\": true\n      },\n      {\n        \"type\": \"method_declaration\",\n        \"named\": true\n      },\n      {\n        \"type\": \"trigger_declaration\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"expression\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"assignment_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"binary_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"cast_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"dml_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"instanceof_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"primary_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"ternary_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unary_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"update_expression\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"primary_expression\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"_literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"array_access\",\n        \"named\": true\n      },\n      {\n        \"type\": \"array_creation_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"class_literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"field_access\",\n        \"named\": true\n      },\n      {\n        \"type\": \"identifier\",\n        \"named\": true\n      },\n      {\n        \"type\": \"java_field_access\",\n        \"named\": true\n      },\n      {\n        \"type\": \"map_creation_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"method_invocation\",\n        \"named\": true\n      },\n      {\n        \"type\": \"object_creation_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"parenthesized_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"query_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"this\",\n        \"named\": true\n      },\n      {\n        \"type\": \"version_expression\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"statement\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \";\",\n        \"named\": false\n      },\n      {\n        \"type\": \"block\",\n        \"named\": true\n      },\n      {\n        \"type\": \"break_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"continue_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"declaration\",\n        \"named\": true\n      },\n      {\n        \"type\": \"do_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"enhanced_for_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"expression_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"for_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"if_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"local_variable_declaration\",\n        \"named\": true\n      },\n      {\n        \"type\": \"return_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"run_as_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"switch_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"throw_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"try_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"while_statement\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"abstract\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"accessor_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"accessor\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"get\",\n            \"named\": false\n          },\n          {\n            \"type\": \"set\",\n            \"named\": false\n          }\n        ]\n      },\n      \"body\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"accessor_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"accessor_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"after_delete\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"after_insert\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"after_undelete\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"after_update\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"alias_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"field_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"all_rows_clause\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"and_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"and_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"comparison_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"or_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"annotated_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_unannotated_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"annotation\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"annotation\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"annotation_argument_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scoped_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"annotation_argument_list\",\n    \"named\": true,\n    \"fields\": {\n      \"value\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"annotation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"element_value_array_initializer\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"annotation_key_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"annotation_key_value\",\n    \"named\": true,\n    \"fields\": {\n      \"key\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"annotation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"element_value_array_initializer\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assignment_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"argument_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_access\",\n    \"named\": true,\n    \"fields\": {\n      \"array\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"primary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"index\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"array_creation_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"dimensions\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"dimensions\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dimensions_expr\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_simple_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array_initializer\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"array_initializer\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_initializer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_type\",\n    \"named\": true,\n    \"fields\": {\n      \"dimensions\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"dimensions\",\n            \"named\": true\n          }\n        ]\n      },\n      \"element\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_unannotated_type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"assignment_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field_access\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"assignment_operator\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"before_delete\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"before_insert\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"before_update\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"binary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"!=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"!==\",\n            \"named\": false\n          },\n          {\n            \"type\": \"%\",\n            \"named\": false\n          },\n          {\n            \"type\": \"&\",\n            \"named\": false\n          },\n          {\n            \"type\": \"&&\",\n            \"named\": false\n          },\n          {\n            \"type\": \"*\",\n            \"named\": false\n          },\n          {\n            \"type\": \"+\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"/\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<<\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<>\",\n            \"named\": false\n          },\n          {\n            \"type\": \"==\",\n            \"named\": false\n          },\n          {\n            \"type\": \"===\",\n            \"named\": false\n          },\n          {\n            \"type\": \">\",\n            \"named\": false\n          },\n          {\n            \"type\": \">=\",\n            \"named\": false\n          },\n          {\n            \"type\": \">>\",\n            \"named\": false\n          },\n          {\n            \"type\": \">>>\",\n            \"named\": false\n          },\n          {\n            \"type\": \"??\",\n            \"named\": false\n          },\n          {\n            \"type\": \"^\",\n            \"named\": false\n          },\n          {\n            \"type\": \"|\",\n            \"named\": false\n          },\n          {\n            \"type\": \"||\",\n            \"named\": false\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"boolean\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"bound_apex_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"break_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cast_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"catch_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"formal_parameter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constructor_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"static_initializer\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"class_body\",\n            \"named\": true\n          }\n        ]\n      },\n      \"interfaces\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"interfaces\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"superclass\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"superclass\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_parameters\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_parameters\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_literal\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_unannotated_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"comparable_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bound_apex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"currency_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date_literal_with_param\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"null_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"comparison_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bound_apex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"comparable_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"currency_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date_literal_with_param\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"null_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_comparison_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"value_comparison_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constant_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"declarator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"variable_declarator\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_unannotated_type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constructor_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"explicit_constructor_invocation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constructor_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"constructor_body\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameters\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"formal_parameters\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_parameters\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_parameters\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"continue_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"count_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"function_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"date_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"date_literal_with_param\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"date_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delete\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"dimensions\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"dimensions_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dml_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"merge_with\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"security_mode\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"as\",\n            \"named\": false\n          },\n          {\n            \"type\": \"dml_security_mode\",\n            \"named\": true\n          }\n        ]\n      },\n      \"target\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"upsert_key\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_unannotated_type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dml_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dml_security_mode\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"system\",\n          \"named\": true\n        },\n        {\n          \"type\": \"user\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dml_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"merge\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undelete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"upsert\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"do_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"dotted_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"element_value_array_initializer\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"annotation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"element_value_array_initializer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"else_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"field_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enhanced_for_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"dimensions\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"dimensions\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_unannotated_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"enum_constant\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum_constant\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"enum_body\",\n            \"named\": true\n          }\n        ]\n      },\n      \"interfaces\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"interfaces\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"explicit_constructor_invocation\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"argument_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"constructor\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"super\",\n            \"named\": true\n          },\n          {\n            \"type\": \"this\",\n            \"named\": true\n          }\n        ]\n      },\n      \"object\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"primary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_arguments\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_arguments\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"expression_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"extends_interfaces\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field_access\",\n    \"named\": true,\n    \"fields\": {\n      \"field\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"this\",\n            \"named\": true\n          }\n        ]\n      },\n      \"object\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"primary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"super\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"safe_navigation_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"declarator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"variable_declarator\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_unannotated_type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"accessor_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fields_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"fields_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fields_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"final\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"finally_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"find_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bound_apex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"term\",\n          \"named\": true\n        },\n        {\n          \"type\": \"term_separator_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"term_separator_start\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"init\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"local_variable_declaration\",\n            \"named\": true\n          }\n        ]\n      },\n      \"update\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"for_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"formal_parameter\",\n    \"named\": true,\n    \"fields\": {\n      \"dimensions\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"dimensions\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_unannotated_type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"formal_parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"formal_parameter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"from_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"storage_alias\",\n          \"named\": true\n        },\n        {\n          \"type\": \"storage_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"function_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bound_apex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"geo_location_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generic_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"scoped_type_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_arguments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"geo_location_type\",\n    \"named\": true,\n    \"fields\": {\n      \"function_name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bound_apex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"global\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"group_by_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"field_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"having_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"having_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"and_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"comparison_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"or_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"if_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"consequence\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"in_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"in_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"in_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"inherited_sharing\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"insert\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"instanceof_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"interface_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"interface_body\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_parameters\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_parameters\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"extends_interfaces\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interfaces\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"java_field_access\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"field_access\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"java_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"scoped_type_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"limit_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bound_apex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"local_variable_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"declarator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"variable_declarator\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_unannotated_type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"map_creation_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_simple_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"map_initializer\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"map_initializer\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"map_key_initializer\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"map_key_initializer\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"merge\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"method_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"dimensions\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"dimensions\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameters\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"formal_parameters\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_unannotated_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_parameters\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_parameters\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"annotation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modifiers\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"method_invocation\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"argument_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"object\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"primary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"super\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_arguments\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_arguments\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"safe_navigation_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"modifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"abstract\",\n          \"named\": true\n        },\n        {\n          \"type\": \"final\",\n          \"named\": true\n        },\n        {\n          \"type\": \"global\",\n          \"named\": true\n        },\n        {\n          \"type\": \"inherited_sharing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"override\",\n          \"named\": true\n        },\n        {\n          \"type\": \"private\",\n          \"named\": true\n        },\n        {\n          \"type\": \"protected\",\n          \"named\": true\n        },\n        {\n          \"type\": \"public\",\n          \"named\": true\n        },\n        {\n          \"type\": \"static\",\n          \"named\": true\n        },\n        {\n          \"type\": \"testMethod\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transient\",\n          \"named\": true\n        },\n        {\n          \"type\": \"virtual\",\n          \"named\": true\n        },\n        {\n          \"type\": \"webservice\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_sharing\",\n          \"named\": true\n        },\n        {\n          \"type\": \"without_sharing\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"modifiers\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"annotation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"modifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"not_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"and_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"comparison_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"or_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"null_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"object_creation_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"argument_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_simple_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_arguments\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_arguments\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_body\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"offset_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bound_apex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"or_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"and_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"comparison_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"or_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"order_by_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"order_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"order_direction\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"order_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"field_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_direction\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_null_direction\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"order_null_direction\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"override\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"parenthesized_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parser_output\",\n    \"named\": true,\n    \"root\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"private\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"protected\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"public\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"query_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"soql_query_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sosl_query_body\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"return_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"returning_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"sobject_return\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"run_as_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"user\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"scoped_identifier\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"scope\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scoped_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"scoped_type_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"annotation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generic_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scoped_type_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"select_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alias_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"count_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fields_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_of_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"selected_fields\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"alias_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fields_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_of_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_comparison_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"sobject_return\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"limit_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"offset_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"order_by_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"selected_fields\",\n          \"named\": true\n        },\n        {\n          \"type\": \"using_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"where_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"soql_query_body\",\n    \"named\": true,\n    \"fields\": {\n      \"all_rows_clause\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"all_rows_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"for_clause\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"for_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"from_clause\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"from_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"group_by_clause\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"group_by_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"limit_clause\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"limit_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"offset_clause\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"offset_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"order_by_clause\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"order_by_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"select_clause\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"select_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"update_clause\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"update_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"using_clause\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"using_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"where_clause\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"where_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"with_clause\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"with_clause\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"sosl_query_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"find_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"in_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"limit_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"offset_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"returning_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sosl_using_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sosl_using_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"using_advanced_search\",\n          \"named\": true\n        },\n        {\n          \"type\": \"using_phrase_search\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"static\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"static_initializer\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"storage_alias\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"storage_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"storage_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"subquery\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"soql_query_body\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"super\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"superclass\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"switch_block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"switch_rule\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"switch_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"switch_block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"switch_label\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"when_sobject_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"switch_rule\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"switch_label\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"system\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"term_separator_end\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"term_separator_start\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"ternary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"consequence\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"testMethod\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"this\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"throw_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"transient\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"trigger_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trigger_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"trigger_body\",\n            \"named\": true\n          }\n        ]\n      },\n      \"events\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"trigger_event\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"object\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"trigger_event\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"after_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"after_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"after_undelete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"after_update\",\n          \"named\": true\n        },\n        {\n          \"type\": \"before_delete\",\n          \"named\": true\n        },\n        {\n          \"type\": \"before_insert\",\n          \"named\": true\n        },\n        {\n          \"type\": \"before_update\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"try_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"catch_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"finally_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_arguments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_bound\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_of_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"else_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"when_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_parameter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"annotation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_bound\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_parameter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"operand\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"!\",\n            \"named\": false\n          },\n          {\n            \"type\": \"+\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"~\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"undelete\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"update\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"update_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"update_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"update_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"operand\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"update_operator\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"update_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"update_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"upsert\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"user\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"using_advanced_search\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"using_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"using_listview_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"using_lookup_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"using_scope_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"using_listview_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"using_lookup_bind_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"using_lookup_bind_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"using_lookup_bind_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"bound_value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"boolean\",\n            \"named\": true\n          },\n          {\n            \"type\": \"currency_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"date\",\n            \"named\": true\n          },\n          {\n            \"type\": \"date_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"date_literal_with_param\",\n            \"named\": true\n          },\n          {\n            \"type\": \"date_time\",\n            \"named\": true\n          },\n          {\n            \"type\": \"decimal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"int\",\n            \"named\": true\n          },\n          {\n            \"type\": \"null_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"field\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"using_lookup_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"lookup_field\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"dotted_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"using_lookup_bind_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"using_phrase_search\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"using_scope_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"using_scope_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"using_scope_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"value_comparison_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"variable_declarator\",\n    \"named\": true,\n    \"fields\": {\n      \"dimensions\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"dimensions\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array_initializer\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"assignment_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"version_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"version_num\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"version_number\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"version_number\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"virtual\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"void_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"webservice\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"when_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"field_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"when_sobject_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_unannotated_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"where_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"and_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"comparison_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"or_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"while_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"with_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"with_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_data_cat_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"with_data_cat_filter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_data_cat_filter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_data_cat_filter_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_data_cat_filter_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"with_division_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bound_apex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_highlight\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"with_metadata_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_network_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bound_apex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"comparable_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"currency_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date_literal_with_param\",\n          \"named\": true\n        },\n        {\n          \"type\": \"date_time\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"null_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_comparison_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subquery\",\n          \"named\": true\n        },\n        {\n          \"type\": \"value_comparison_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_pricebook_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_record_visibility_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"with_record_visibility_param\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_record_visibility_param\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"boolean\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_sharing\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"with_snippet_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_spell_correction_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"boolean\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"with_data_cat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_division_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_highlight\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_metadata_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_network_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_pricebook_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_record_visibility_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_snippet_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_spell_correction_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"with_user_id_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_user_id_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"without_sharing\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \" \",\n    \"named\": false\n  },\n  {\n    \"type\": \"!\",\n    \"named\": false\n  },\n  {\n    \"type\": \"!=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"!==\",\n    \"named\": false\n  },\n  {\n    \"type\": \"%\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&&\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\'\",\n    \"named\": false\n  },\n  {\n    \"type\": \"(\",\n    \"named\": false\n  },\n  {\n    \"type\": \")\",\n    \"named\": false\n  },\n  {\n    \"type\": \"*\",\n    \"named\": false\n  },\n  {\n    \"type\": \"+\",\n    \"named\": false\n  },\n  {\n    \"type\": \"++\",\n    \"named\": false\n  },\n  {\n    \"type\": \",\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-\",\n    \"named\": false\n  },\n  {\n    \"type\": \"--\",\n    \"named\": false\n  },\n  {\n    \"type\": \".\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/\",\n    \"named\": false\n  },\n  {\n    \"type\": \":\",\n    \"named\": false\n  },\n  {\n    \"type\": \";\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"==\",\n    \"named\": false\n  },\n  {\n    \"type\": \"===\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=>\",\n    \"named\": false\n  },\n  {\n    \"type\": \">\",\n    \"named\": false\n  },\n  {\n    \"type\": \">=\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"?\",\n    \"named\": false\n  },\n  {\n    \"type\": \"??\",\n    \"named\": false\n  },\n  {\n    \"type\": \"@\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ABOVE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ABOVE_OR_BELOW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ADVANCED_SEARCH\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ALL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ALL_ROWS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"AND\",\n    \"named\": false\n  },\n  {\n    \"type\": \"AS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ASC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"AT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BELOW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BIND\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CUSTOM\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DATA_CATEGORY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DESC\",\n    \"named\": false\n  },\n  {\n    \"type\": \"DIVISION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ELSE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EMAIL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"END\",\n    \"named\": false\n  },\n  {\n    \"type\": \"EXCLUDES\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FALSE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FIELDS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FIND\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FOR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"FROM\",\n    \"named\": false\n  },\n  {\n    \"type\": \"GROUP_BY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"HAVING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"HIGHLIGHT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"IN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INCLUDES\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LAST_90_DAYS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LAST_FISCAL_QUARTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LAST_FISCAL_YEAR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LAST_MONTH\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LAST_QUARTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LAST_WEEK\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LAST_YEAR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LIKE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LIMIT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LOOKUP\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ListView\",\n    \"named\": false\n  },\n  {\n    \"type\": \"METADATA\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NAME\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NETWORK\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NEXT_90_DAYS\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NEXT_FISCAL_QUARTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NEXT_FISCAL_YEAR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NEXT_MONTH\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NEXT_QUARTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NEXT_WEEK\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NEXT_YEAR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NOT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NOT_IN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NULL\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NULLS_FIRST\",\n    \"named\": false\n  },\n  {\n    \"type\": \"NULLS_LAST\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OFFSET\",\n    \"named\": false\n  },\n  {\n    \"type\": \"OR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ORDER_BY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PHONE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PHRASE_SEARCH\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Package\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PricebookId\",\n    \"named\": false\n  },\n  {\n    \"type\": \"REFERENCE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RETURNING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"RecordVisibilityContext\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Request\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SCOPE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SELECT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SIDEBAR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SNIPPET\",\n    \"named\": false\n  },\n  {\n    \"type\": \"SPELL_CORRECTION\",\n    \"named\": false\n  },\n  {\n    \"type\": \"STANDARD\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Security_Enforced\",\n    \"named\": false\n  },\n  {\n    \"type\": \"System.runAs\",\n    \"named\": false\n  },\n  {\n    \"type\": \"System_Mode\",\n    \"named\": false\n  },\n  {\n    \"type\": \"THEN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"THIS_FISCAL_QUARTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"THIS_FISCAL_YEAR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"THIS_MONTH\",\n    \"named\": false\n  },\n  {\n    \"type\": \"THIS_QUARTER\",\n    \"named\": false\n  },\n  {\n    \"type\": \"THIS_WEEK\",\n    \"named\": false\n  },\n  {\n    \"type\": \"THIS_YEAR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TODAY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TOMORROW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TRACKING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TRUE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"TYPEOF\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UPDATE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"USING\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UserId\",\n    \"named\": false\n  },\n  {\n    \"type\": \"User_Mode\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VIEW\",\n    \"named\": false\n  },\n  {\n    \"type\": \"VIEWSTAT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Version\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WHEN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WHERE\",\n    \"named\": false\n  },\n  {\n    \"type\": \"WITH\",\n    \"named\": false\n  },\n  {\n    \"type\": \"YESTERDAY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"[\",\n    \"named\": false\n  },\n  {\n    \"type\": \"]\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^\",\n    \"named\": false\n  },\n  {\n    \"type\": \"abstract\",\n    \"named\": false\n  },\n  {\n    \"type\": \"after_delete\",\n    \"named\": false\n  },\n  {\n    \"type\": \"after_insert\",\n    \"named\": false\n  },\n  {\n    \"type\": \"after_undelete\",\n    \"named\": false\n  },\n  {\n    \"type\": \"after_update\",\n    \"named\": false\n  },\n  {\n    \"type\": \"as\",\n    \"named\": false\n  },\n  {\n    \"type\": \"assignment_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"before_delete\",\n    \"named\": false\n  },\n  {\n    \"type\": \"before_insert\",\n    \"named\": false\n  },\n  {\n    \"type\": \"before_update\",\n    \"named\": false\n  },\n  {\n    \"type\": \"block_comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"boolean_type\",\n    \"named\": true\n  },\n  {\n    \"type\": \"break\",\n    \"named\": false\n  },\n  {\n    \"type\": \"catch\",\n    \"named\": false\n  },\n  {\n    \"type\": \"class\",\n    \"named\": false\n  },\n  {\n    \"type\": \"continue\",\n    \"named\": false\n  },\n  {\n    \"type\": \"currency_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"date\",\n    \"named\": true\n  },\n  {\n    \"type\": \"date_time\",\n    \"named\": true\n  },\n  {\n    \"type\": \"decimal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"decimal_floating_point_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"delegated\",\n    \"named\": false\n  },\n  {\n    \"type\": \"delete\",\n    \"named\": false\n  },\n  {\n    \"type\": \"do\",\n    \"named\": false\n  },\n  {\n    \"type\": \"else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"enum\",\n    \"named\": false\n  },\n  {\n    \"type\": \"everything\",\n    \"named\": false\n  },\n  {\n    \"type\": \"extends\",\n    \"named\": false\n  },\n  {\n    \"type\": \"final\",\n    \"named\": false\n  },\n  {\n    \"type\": \"finally\",\n    \"named\": false\n  },\n  {\n    \"type\": \"for\",\n    \"named\": false\n  },\n  {\n    \"type\": \"get\",\n    \"named\": false\n  },\n  {\n    \"type\": \"global\",\n    \"named\": false\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"implements\",\n    \"named\": false\n  },\n  {\n    \"type\": \"inherited_sharing\",\n    \"named\": false\n  },\n  {\n    \"type\": \"insert\",\n    \"named\": false\n  },\n  {\n    \"type\": \"instanceof\",\n    \"named\": false\n  },\n  {\n    \"type\": \"int\",\n    \"named\": true\n  },\n  {\n    \"type\": \"interface\",\n    \"named\": false\n  },\n  {\n    \"type\": \"line_comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"maxDescriptorPerRecord\",\n    \"named\": false\n  },\n  {\n    \"type\": \"merge\",\n    \"named\": false\n  },\n  {\n    \"type\": \"mine\",\n    \"named\": false\n  },\n  {\n    \"type\": \"mine_and_my_groups\",\n    \"named\": false\n  },\n  {\n    \"type\": \"my_team_territory\",\n    \"named\": false\n  },\n  {\n    \"type\": \"my_territory\",\n    \"named\": false\n  },\n  {\n    \"type\": \"new\",\n    \"named\": false\n  },\n  {\n    \"type\": \"on\",\n    \"named\": false\n  },\n  {\n    \"type\": \"override\",\n    \"named\": false\n  },\n  {\n    \"type\": \"private\",\n    \"named\": false\n  },\n  {\n    \"type\": \"protected\",\n    \"named\": false\n  },\n  {\n    \"type\": \"public\",\n    \"named\": false\n  },\n  {\n    \"type\": \"return\",\n    \"named\": false\n  },\n  {\n    \"type\": \"safe_navigation_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"set\",\n    \"named\": false\n  },\n  {\n    \"type\": \"static\",\n    \"named\": false\n  },\n  {\n    \"type\": \"string_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"super\",\n    \"named\": false\n  },\n  {\n    \"type\": \"supportsDelegates\",\n    \"named\": false\n  },\n  {\n    \"type\": \"supportsDomains\",\n    \"named\": false\n  },\n  {\n    \"type\": \"switch\",\n    \"named\": false\n  },\n  {\n    \"type\": \"system\",\n    \"named\": false\n  },\n  {\n    \"type\": \"target_length\",\n    \"named\": false\n  },\n  {\n    \"type\": \"team\",\n    \"named\": false\n  },\n  {\n    \"type\": \"term\",\n    \"named\": true\n  },\n  {\n    \"type\": \"testMethod\",\n    \"named\": false\n  },\n  {\n    \"type\": \"this\",\n    \"named\": false\n  },\n  {\n    \"type\": \"throw\",\n    \"named\": false\n  },\n  {\n    \"type\": \"transient\",\n    \"named\": false\n  },\n  {\n    \"type\": \"trigger\",\n    \"named\": false\n  },\n  {\n    \"type\": \"try\",\n    \"named\": false\n  },\n  {\n    \"type\": \"type_identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"undelete\",\n    \"named\": false\n  },\n  {\n    \"type\": \"update\",\n    \"named\": false\n  },\n  {\n    \"type\": \"upsert\",\n    \"named\": false\n  },\n  {\n    \"type\": \"user\",\n    \"named\": false\n  },\n  {\n    \"type\": \"virtual\",\n    \"named\": false\n  },\n  {\n    \"type\": \"void\",\n    \"named\": false\n  },\n  {\n    \"type\": \"webservice\",\n    \"named\": false\n  },\n  {\n    \"type\": \"when\",\n    \"named\": false\n  },\n  {\n    \"type\": \"while\",\n    \"named\": false\n  },\n  {\n    \"type\": \"with_sharing\",\n    \"named\": false\n  },\n  {\n    \"type\": \"without_sharing\",\n    \"named\": false\n  },\n  {\n    \"type\": \"{\",\n    \"named\": false\n  },\n  {\n    \"type\": \"|\",\n    \"named\": false\n  },\n  {\n    \"type\": \"||\",\n    \"named\": false\n  },\n  {\n    \"type\": \"}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"~\",\n    \"named\": false\n  }\n]";Expand description
The content of the node-types.json file for this grammar.