Constant tree_sitter_cuda::NODE_TYPES [−][src]
pub const NODE_TYPES: &str = "[\n {\n \"type\": \"_abstract_declarator\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"abstract_array_declarator\",\n \"named\": true\n },\n {\n \"type\": \"abstract_function_declarator\",\n \"named\": true\n },\n {\n \"type\": \"abstract_parenthesized_declarator\",\n \"named\": true\n },\n {\n \"type\": \"abstract_pointer_declarator\",\n \"named\": true\n },\n {\n \"type\": \"abstract_reference_declarator\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_declarator\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"array_declarator\",\n \"named\": true\n },\n {\n \"type\": \"destructor_name\",\n \"named\": true\n },\n {\n \"type\": \"function_declarator\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"operator_name\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_declarator\",\n \"named\": true\n },\n {\n \"type\": \"pointer_declarator\",\n \"named\": true\n },\n {\n \"type\": \"reference_declarator\",\n \"named\": true\n },\n {\n \"type\": \"scoped_identifier\",\n \"named\": true\n },\n {\n \"type\": \"structured_binding_declarator\",\n \"named\": true\n },\n {\n \"type\": \"template_function\",\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\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"char_literal\",\n \"named\": true\n },\n {\n \"type\": \"compound_literal_expression\",\n \"named\": true\n },\n {\n \"type\": \"concatenated_string\",\n \"named\": true\n },\n {\n \"type\": \"conditional_expression\",\n \"named\": true\n },\n {\n \"type\": \"delete_expression\",\n \"named\": true\n },\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"field_expression\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"lambda_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\n \"named\": true\n },\n {\n \"type\": \"null\",\n \"named\": true\n },\n {\n \"type\": \"nullptr\",\n \"named\": true\n },\n {\n \"type\": \"number_literal\",\n \"named\": true\n },\n {\n \"type\": \"parameter_pack_expansion\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n },\n {\n \"type\": \"pointer_expression\",\n \"named\": true\n },\n {\n \"type\": \"raw_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"scoped_identifier\",\n \"named\": true\n },\n {\n \"type\": \"sizeof_expression\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"subscript_expression\",\n \"named\": true\n },\n {\n \"type\": \"template_function\",\n \"named\": true\n },\n {\n \"type\": \"this\",\n \"named\": true\n },\n {\n \"type\": \"true\",\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\": \"_field_declarator\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"array_declarator\",\n \"named\": true\n },\n {\n \"type\": \"field_identifier\",\n \"named\": true\n },\n {\n \"type\": \"function_declarator\",\n \"named\": true\n },\n {\n \"type\": \"operator_name\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_declarator\",\n \"named\": true\n },\n {\n \"type\": \"pointer_declarator\",\n \"named\": true\n },\n {\n \"type\": \"reference_declarator\",\n \"named\": true\n },\n {\n \"type\": \"template_method\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_statement\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"break_statement\",\n \"named\": true\n },\n {\n \"type\": \"case_statement\",\n \"named\": true\n },\n {\n \"type\": \"compound_statement\",\n \"named\": true\n },\n {\n \"type\": \"continue_statement\",\n \"named\": true\n },\n {\n \"type\": \"do_statement\",\n \"named\": true\n },\n {\n \"type\": \"expression_statement\",\n \"named\": true\n },\n {\n \"type\": \"for_range_loop\",\n \"named\": true\n },\n {\n \"type\": \"for_statement\",\n \"named\": true\n },\n {\n \"type\": \"goto_statement\",\n \"named\": true\n },\n {\n \"type\": \"if_statement\",\n \"named\": true\n },\n {\n \"type\": \"labeled_statement\",\n \"named\": true\n },\n {\n \"type\": \"return_statement\",\n \"named\": true\n },\n {\n \"type\": \"switch_statement\",\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\": \"_type_declarator\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"array_declarator\",\n \"named\": true\n },\n {\n \"type\": \"function_declarator\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_declarator\",\n \"named\": true\n },\n {\n \"type\": \"pointer_declarator\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_type_specifier\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"auto\",\n \"named\": true\n },\n {\n \"type\": \"class_specifier\",\n \"named\": true\n },\n {\n \"type\": \"decltype\",\n \"named\": true\n },\n {\n \"type\": \"dependent_type\",\n \"named\": true\n },\n {\n \"type\": \"enum_specifier\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"sized_type_specifier\",\n \"named\": true\n },\n {\n \"type\": \"struct_specifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"union_specifier\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"abstract_array_declarator\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_abstract_declarator\",\n \"named\": true\n }\n ]\n },\n \"size\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"*\",\n \"named\": false\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\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"abstract_function_declarator\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_abstract_declarator\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"parameter_list\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"noexcept\",\n \"named\": true\n },\n {\n \"type\": \"throw_specifier\",\n \"named\": true\n },\n {\n \"type\": \"trailing_return_type\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"abstract_parenthesized_declarator\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_abstract_declarator\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"abstract_pointer_declarator\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_abstract_declarator\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"abstract_reference_declarator\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_abstract_declarator\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"access_specifier\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"alias_declaration\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_descriptor\",\n \"named\": true\n }\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 \"type\": \"initializer_list\",\n \"named\": true\n },\n {\n \"type\": \"preproc_defined\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"array_declarator\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_field_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_type_declarator\",\n \"named\": true\n }\n ]\n },\n \"size\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"*\",\n \"named\": false\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\": \"type_qualifier\",\n \"named\": true\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\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"field_expression\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n },\n {\n \"type\": \"pointer_expression\",\n \"named\": true\n },\n {\n \"type\": \"scoped_namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"subscript_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 },\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\": \"attribute\",\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\": \"attribute_specifier\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"base_class_clause\",\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\": \"template_type\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\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 \"type\": \"preproc_defined\",\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 },\n \"right\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"preproc_defined\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"bitfield_clause\",\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 },\n {\n \"type\": \"call_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 \"function\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"kernel_call_syntax\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"case_statement\",\n \"named\": true,\n \"fields\": {\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"break_statement\",\n \"named\": true\n },\n {\n \"type\": \"compound_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\": \"expression_statement\",\n \"named\": true\n },\n {\n \"type\": \"for_statement\",\n \"named\": true\n },\n {\n \"type\": \"goto_statement\",\n \"named\": true\n },\n {\n \"type\": \"if_statement\",\n \"named\": true\n },\n {\n \"type\": \"labeled_statement\",\n \"named\": true\n },\n {\n \"type\": \"return_statement\",\n \"named\": true\n },\n {\n \"type\": \"switch_statement\",\n \"named\": true\n },\n {\n \"type\": \"type_definition\",\n \"named\": true\n },\n {\n \"type\": \"while_statement\",\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_descriptor\",\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\": \"compound_statement\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"parameter_list\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"char_literal\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"class_specifier\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"field_declaration_list\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"base_class_clause\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"virtual_specifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"comma_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\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"comma_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"compound_literal_expression\",\n \"named\": true,\n \"fields\": {\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n },\n {\n \"type\": \"type_descriptor\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"initializer_list\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"compound_statement\",\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 \"type\": \"_type_specifier\",\n \"named\": true\n },\n {\n \"type\": \"alias_declaration\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"linkage_specification\",\n \"named\": true\n },\n {\n \"type\": \"namespace_definition\",\n \"named\": true\n },\n {\n \"type\": \"preproc_call\",\n \"named\": true\n },\n {\n \"type\": \"preproc_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_function_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_if\",\n \"named\": true\n },\n {\n \"type\": \"preproc_ifdef\",\n \"named\": true\n },\n {\n \"type\": \"preproc_include\",\n \"named\": true\n },\n {\n \"type\": \"static_assert_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_instantiation\",\n \"named\": true\n },\n {\n \"type\": \"type_definition\",\n \"named\": true\n },\n {\n \"type\": \"using_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"concatenated_string\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"raw_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"condition_clause\",\n \"named\": true,\n \"fields\": {\n \"initializer\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"expression_statement\",\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 \"type\": \"comma_expression\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"conditional_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\": \"continue_statement\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"declaration\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_declarator\",\n \"named\": true\n },\n {\n \"type\": \"init_declarator\",\n \"named\": true\n },\n {\n \"type\": \"operator_cast\",\n \"named\": true\n }\n ]\n },\n \"default_value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"initializer_list\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute\",\n \"named\": true\n },\n {\n \"type\": \"attribute_specifier\",\n \"named\": true\n },\n {\n \"type\": \"explicit_function_specifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"storage_class_specifier\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n },\n {\n \"type\": \"virtual_function_specifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declaration_list\",\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 \"type\": \"_type_specifier\",\n \"named\": true\n },\n {\n \"type\": \"alias_declaration\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"linkage_specification\",\n \"named\": true\n },\n {\n \"type\": \"namespace_definition\",\n \"named\": true\n },\n {\n \"type\": \"preproc_call\",\n \"named\": true\n },\n {\n \"type\": \"preproc_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_function_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_if\",\n \"named\": true\n },\n {\n \"type\": \"preproc_ifdef\",\n \"named\": true\n },\n {\n \"type\": \"preproc_include\",\n \"named\": true\n },\n {\n \"type\": \"static_assert_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_instantiation\",\n \"named\": true\n },\n {\n \"type\": \"type_definition\",\n \"named\": true\n },\n {\n \"type\": \"using_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"decltype\",\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\": \"default_method_clause\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"delete_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\": \"delete_method_clause\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"dependent_type\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"destructor_name\",\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\": \"do_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\": \"enum_specifier\",\n \"named\": true,\n \"fields\": {\n \"base\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"sized_type_specifier\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n },\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"enumerator_list\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"enumerator\",\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 \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"enumerator_list\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"enumerator\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"explicit_function_specifier\",\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\": \"expression_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 \"type\": \"comma_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"field_declaration\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_field_declarator\",\n \"named\": true\n }\n ]\n },\n \"default_value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"initializer_list\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute\",\n \"named\": true\n },\n {\n \"type\": \"attribute_specifier\",\n \"named\": true\n },\n {\n \"type\": \"bitfield_clause\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"storage_class_specifier\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n },\n {\n \"type\": \"virtual_function_specifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"field_declaration_list\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"access_specifier\",\n \"named\": true\n },\n {\n \"type\": \"alias_declaration\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"field_declaration\",\n \"named\": true\n },\n {\n \"type\": \"friend_declaration\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"preproc_call\",\n \"named\": true\n },\n {\n \"type\": \"preproc_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_function_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_if\",\n \"named\": true\n },\n {\n \"type\": \"preproc_ifdef\",\n \"named\": true\n },\n {\n \"type\": \"static_assert_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_declaration\",\n \"named\": true\n },\n {\n \"type\": \"type_definition\",\n \"named\": true\n },\n {\n \"type\": \"using_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"field_designator\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"field_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"field_expression\",\n \"named\": true,\n \"fields\": {\n \"argument\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n },\n \"field\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"destructor_name\",\n \"named\": true\n },\n {\n \"type\": \"field_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_method\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"->\",\n \"named\": false\n },\n {\n \"type\": \".\",\n \"named\": false\n }\n ]\n }\n }\n },\n {\n \"type\": \"field_initializer\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n },\n {\n \"type\": \"field_identifier\",\n \"named\": true\n },\n {\n \"type\": \"initializer_list\",\n \"named\": true\n },\n {\n \"type\": \"scoped_field_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"field_initializer_list\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"field_initializer\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"for_range_loop\",\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 \"declarator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_declarator\",\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 \"type\": \"initializer_list\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute_specifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"storage_class_specifier\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"for_statement\",\n \"named\": true,\n \"fields\": {\n \"condition\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n },\n \"initializer\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"comma_expression\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n }\n ]\n },\n \"update\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"comma_expression\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"friend_declaration\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"function_declarator\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_field_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_type_declarator\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"parameter_list\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute_specifier\",\n \"named\": true\n },\n {\n \"type\": \"noexcept\",\n \"named\": true\n },\n {\n \"type\": \"throw_specifier\",\n \"named\": true\n },\n {\n \"type\": \"trailing_return_type\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n },\n {\n \"type\": \"virtual_specifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"function_definition\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"compound_statement\",\n \"named\": true\n }\n ]\n },\n \"declarator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_field_declarator\",\n \"named\": true\n },\n {\n \"type\": \"operator_cast\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute\",\n \"named\": true\n },\n {\n \"type\": \"attribute_specifier\",\n \"named\": true\n },\n {\n \"type\": \"default_method_clause\",\n \"named\": true\n },\n {\n \"type\": \"delete_method_clause\",\n \"named\": true\n },\n {\n \"type\": \"explicit_function_specifier\",\n \"named\": true\n },\n {\n \"type\": \"field_initializer_list\",\n \"named\": true\n },\n {\n \"type\": \"ms_call_modifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"storage_class_specifier\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n },\n {\n \"type\": \"virtual_function_specifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"goto_statement\",\n \"named\": true,\n \"fields\": {\n \"label\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"statement_identifier\",\n \"named\": true\n }\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\": \"condition_clause\",\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\": \"init_declarator\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_declarator\",\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 \"type\": \"argument_list\",\n \"named\": true\n },\n {\n \"type\": \"initializer_list\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"initializer_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 \"type\": \"initializer_list\",\n \"named\": true\n },\n {\n \"type\": \"initializer_pair\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"initializer_pair\",\n \"named\": true,\n \"fields\": {\n \"designator\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"field_designator\",\n \"named\": true\n },\n {\n \"type\": \"subscript_designator\",\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 \"type\": \"initializer_list\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"kernel_call_syntax\",\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\": \"labeled_statement\",\n \"named\": true,\n \"fields\": {\n \"label\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"statement_identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"lambda_capture_specifier\",\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\": \"lambda_default_capture\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"lambda_default_capture\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"lambda_expression\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"compound_statement\",\n \"named\": true\n }\n ]\n },\n \"captures\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"lambda_capture_specifier\",\n \"named\": true\n }\n ]\n },\n \"declarator\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"abstract_function_declarator\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"linkage_specification\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"declaration_list\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"string_literal\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"ms_based_modifier\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"ms_call_modifier\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"ms_declspec_modifier\",\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\": \"ms_pointer_modifier\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"ms_restrict_modifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_signed_ptr_modifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_unaligned_ptr_modifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_unsigned_ptr_modifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"ms_unaligned_ptr_modifier\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"namespace_definition\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declaration_list\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"new_declarator\",\n \"named\": true,\n \"fields\": {\n \"length\": {\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\": \"new_declarator\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"new_expression\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n },\n {\n \"type\": \"initializer_list\",\n \"named\": true\n }\n ]\n },\n \"declarator\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"new_declarator\",\n \"named\": true\n }\n ]\n },\n \"placement\": {\n \"multiple\": false,\n \"required\": false,\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\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"noexcept\",\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\": \"operator_cast\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_abstract_declarator\",\n \"named\": true\n }\n ]\n },\n \"namespace\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"scoped_namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute_specifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"storage_class_specifier\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"optional_parameter_declaration\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_declarator\",\n \"named\": true\n }\n ]\n },\n \"default_value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute_specifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"storage_class_specifier\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"optional_type_parameter_declaration\",\n \"named\": true,\n \"fields\": {\n \"default_type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"parameter_declaration\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_abstract_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_declarator\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute\",\n \"named\": true\n },\n {\n \"type\": \"attribute_specifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"storage_class_specifier\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"parameter_list\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"optional_parameter_declaration\",\n \"named\": true\n },\n {\n \"type\": \"parameter_declaration\",\n \"named\": true\n },\n {\n \"type\": \"variadic_parameter_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"parameter_pack_expansion\",\n \"named\": true,\n \"fields\": {\n \"pattern\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_descriptor\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"parenthesized_declarator\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_field_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_type_declarator\",\n \"named\": true\n }\n ]\n }\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 \"type\": \"comma_expression\",\n \"named\": true\n },\n {\n \"type\": \"preproc_defined\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"pointer_declarator\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_field_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_type_declarator\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"ms_based_modifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_pointer_modifier\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"pointer_expression\",\n \"named\": true,\n \"fields\": {\n \"argument\": {\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 }\n }\n },\n {\n \"type\": \"preproc_call\",\n \"named\": true,\n \"fields\": {\n \"argument\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"preproc_arg\",\n \"named\": true\n }\n ]\n },\n \"directive\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"preproc_directive\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"preproc_def\",\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 \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"preproc_arg\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"preproc_defined\",\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\": \"preproc_elif\",\n \"named\": true,\n \"fields\": {\n \"alternative\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"preproc_elif\",\n \"named\": true\n },\n {\n \"type\": \"preproc_else\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"char_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"number_literal\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n },\n {\n \"type\": \"preproc_defined\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n },\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n },\n {\n \"type\": \"access_specifier\",\n \"named\": true\n },\n {\n \"type\": \"alias_declaration\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"field_declaration\",\n \"named\": true\n },\n {\n \"type\": \"friend_declaration\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"linkage_specification\",\n \"named\": true\n },\n {\n \"type\": \"namespace_definition\",\n \"named\": true\n },\n {\n \"type\": \"preproc_call\",\n \"named\": true\n },\n {\n \"type\": \"preproc_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_function_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_if\",\n \"named\": true\n },\n {\n \"type\": \"preproc_ifdef\",\n \"named\": true\n },\n {\n \"type\": \"preproc_include\",\n \"named\": true\n },\n {\n \"type\": \"static_assert_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_instantiation\",\n \"named\": true\n },\n {\n \"type\": \"type_definition\",\n \"named\": true\n },\n {\n \"type\": \"using_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"preproc_else\",\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 \"type\": \"_type_specifier\",\n \"named\": true\n },\n {\n \"type\": \"access_specifier\",\n \"named\": true\n },\n {\n \"type\": \"alias_declaration\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"field_declaration\",\n \"named\": true\n },\n {\n \"type\": \"friend_declaration\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"linkage_specification\",\n \"named\": true\n },\n {\n \"type\": \"namespace_definition\",\n \"named\": true\n },\n {\n \"type\": \"preproc_call\",\n \"named\": true\n },\n {\n \"type\": \"preproc_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_function_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_if\",\n \"named\": true\n },\n {\n \"type\": \"preproc_ifdef\",\n \"named\": true\n },\n {\n \"type\": \"preproc_include\",\n \"named\": true\n },\n {\n \"type\": \"static_assert_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_instantiation\",\n \"named\": true\n },\n {\n \"type\": \"type_definition\",\n \"named\": true\n },\n {\n \"type\": \"using_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"preproc_function_def\",\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 \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"preproc_params\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"preproc_arg\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"preproc_if\",\n \"named\": true,\n \"fields\": {\n \"alternative\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"preproc_elif\",\n \"named\": true\n },\n {\n \"type\": \"preproc_else\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"char_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"number_literal\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n },\n {\n \"type\": \"preproc_defined\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n },\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n },\n {\n \"type\": \"access_specifier\",\n \"named\": true\n },\n {\n \"type\": \"alias_declaration\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"field_declaration\",\n \"named\": true\n },\n {\n \"type\": \"friend_declaration\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"linkage_specification\",\n \"named\": true\n },\n {\n \"type\": \"namespace_definition\",\n \"named\": true\n },\n {\n \"type\": \"preproc_call\",\n \"named\": true\n },\n {\n \"type\": \"preproc_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_function_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_if\",\n \"named\": true\n },\n {\n \"type\": \"preproc_ifdef\",\n \"named\": true\n },\n {\n \"type\": \"preproc_include\",\n \"named\": true\n },\n {\n \"type\": \"static_assert_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_instantiation\",\n \"named\": true\n },\n {\n \"type\": \"type_definition\",\n \"named\": true\n },\n {\n \"type\": \"using_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"preproc_ifdef\",\n \"named\": true,\n \"fields\": {\n \"alternative\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"preproc_elif\",\n \"named\": true\n },\n {\n \"type\": \"preproc_else\",\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\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n },\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n },\n {\n \"type\": \"access_specifier\",\n \"named\": true\n },\n {\n \"type\": \"alias_declaration\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"field_declaration\",\n \"named\": true\n },\n {\n \"type\": \"friend_declaration\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"linkage_specification\",\n \"named\": true\n },\n {\n \"type\": \"namespace_definition\",\n \"named\": true\n },\n {\n \"type\": \"preproc_call\",\n \"named\": true\n },\n {\n \"type\": \"preproc_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_function_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_if\",\n \"named\": true\n },\n {\n \"type\": \"preproc_ifdef\",\n \"named\": true\n },\n {\n \"type\": \"preproc_include\",\n \"named\": true\n },\n {\n \"type\": \"static_assert_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_instantiation\",\n \"named\": true\n },\n {\n \"type\": \"type_definition\",\n \"named\": true\n },\n {\n \"type\": \"using_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"preproc_include\",\n \"named\": true,\n \"fields\": {\n \"path\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"system_lib_string\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"preproc_params\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"reference_declarator\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_field_declarator\",\n \"named\": true\n },\n {\n \"type\": \"variadic_declarator\",\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 \"type\": \"comma_expression\",\n \"named\": true\n },\n {\n \"type\": \"initializer_list\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"scoped_field_identifier\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"destructor_name\",\n \"named\": true\n },\n {\n \"type\": \"field_identifier\",\n \"named\": true\n },\n {\n \"type\": \"operator_name\",\n \"named\": true\n }\n ]\n },\n \"namespace\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"scoped_namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n }\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\": \"destructor_name\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"operator_name\",\n \"named\": true\n }\n ]\n },\n \"namespace\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"scoped_namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"scoped_namespace_identifier\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"namespace_identifier\",\n \"named\": true\n }\n ]\n },\n \"namespace\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"scoped_namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n },\n \"namespace\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"scoped_namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"sized_type_specifier\",\n \"named\": true,\n \"fields\": {\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"sizeof_expression\",\n \"named\": true,\n \"fields\": {\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_descriptor\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"static_assert_declaration\",\n \"named\": true,\n \"fields\": {\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n },\n \"message\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"concatenated_string\",\n \"named\": true\n },\n {\n \"type\": \"raw_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"storage_class_specifier\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"string_literal\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"struct_specifier\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"field_declaration_list\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"base_class_clause\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"virtual_specifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"structured_binding_declarator\",\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\": \"subscript_designator\",\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\": \"subscript_expression\",\n \"named\": true,\n \"fields\": {\n \"argument\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_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\": \"switch_statement\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"compound_statement\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"condition_clause\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"template_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 \"type\": \"type_descriptor\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"template_declaration\",\n \"named\": true,\n \"fields\": {\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"template_parameter_list\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n },\n {\n \"type\": \"alias_declaration\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"template_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"template_function\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"template_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\": \"template_instantiation\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_declarator\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute_specifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"storage_class_specifier\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"template_method\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"template_argument_list\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"field_identifier\",\n \"named\": true\n },\n {\n \"type\": \"scoped_field_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"template_parameter_list\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"optional_parameter_declaration\",\n \"named\": true\n },\n {\n \"type\": \"optional_type_parameter_declaration\",\n \"named\": true\n },\n {\n \"type\": \"parameter_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_template_parameter_declaration\",\n \"named\": true\n },\n {\n \"type\": \"type_parameter_declaration\",\n \"named\": true\n },\n {\n \"type\": \"variadic_parameter_declaration\",\n \"named\": true\n },\n {\n \"type\": \"variadic_type_parameter_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"template_template_parameter_declaration\",\n \"named\": true,\n \"fields\": {\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"template_parameter_list\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"optional_type_parameter_declaration\",\n \"named\": true\n },\n {\n \"type\": \"type_parameter_declaration\",\n \"named\": true\n },\n {\n \"type\": \"variadic_type_parameter_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"template_type\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"template_argument_list\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"throw_specifier\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_descriptor\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"throw_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\": \"trailing_return_type\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_abstract_declarator\",\n \"named\": true\n },\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"translation_unit\",\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 \"type\": \"_type_specifier\",\n \"named\": true\n },\n {\n \"type\": \"alias_declaration\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"linkage_specification\",\n \"named\": true\n },\n {\n \"type\": \"namespace_definition\",\n \"named\": true\n },\n {\n \"type\": \"preproc_call\",\n \"named\": true\n },\n {\n \"type\": \"preproc_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_function_def\",\n \"named\": true\n },\n {\n \"type\": \"preproc_if\",\n \"named\": true\n },\n {\n \"type\": \"preproc_ifdef\",\n \"named\": true\n },\n {\n \"type\": \"preproc_include\",\n \"named\": true\n },\n {\n \"type\": \"static_assert_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_declaration\",\n \"named\": true\n },\n {\n \"type\": \"template_instantiation\",\n \"named\": true\n },\n {\n \"type\": \"type_definition\",\n \"named\": true\n },\n {\n \"type\": \"using_declaration\",\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\": \"compound_statement\",\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 }\n },\n {\n \"type\": \"type_definition\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_declarator\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_descriptor\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_abstract_declarator\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_parameter_declaration\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true,\n \"fields\": {\n \"argument\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"preproc_defined\",\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\": \"union_specifier\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"field_declaration_list\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"template_type\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"base_class_clause\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"virtual_specifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"update_expression\",\n \"named\": true,\n \"fields\": {\n \"argument\": {\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 }\n }\n },\n {\n \"type\": \"using_declaration\",\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 \"type\": \"scoped_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"variadic_declarator\",\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\": \"variadic_parameter_declaration\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"reference_declarator\",\n \"named\": true\n },\n {\n \"type\": \"variadic_declarator\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type_specifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute_specifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_declspec_modifier\",\n \"named\": true\n },\n {\n \"type\": \"storage_class_specifier\",\n \"named\": true\n },\n {\n \"type\": \"type_qualifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"variadic_type_parameter_declaration\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"virtual_function_specifier\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"virtual_specifier\",\n \"named\": true,\n \"fields\": {}\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\": \"condition_clause\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"\\n\",\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\": \"#define\",\n \"named\": false\n },\n {\n \"type\": \"#elif\",\n \"named\": false\n },\n {\n \"type\": \"#else\",\n \"named\": false\n },\n {\n \"type\": \"#endif\",\n \"named\": false\n },\n {\n \"type\": \"#if\",\n \"named\": false\n },\n {\n \"type\": \"#ifdef\",\n \"named\": false\n },\n {\n \"type\": \"#ifndef\",\n \"named\": false\n },\n {\n \"type\": \"#include\",\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\": \">>\",\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\": \"L\\\"\",\n \"named\": false\n },\n {\n \"type\": \"L\'\",\n \"named\": false\n },\n {\n \"type\": \"U\\\"\",\n \"named\": false\n },\n {\n \"type\": \"U\'\",\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\": \"_Atomic\",\n \"named\": false\n },\n {\n \"type\": \"__attribute__\",\n \"named\": false\n },\n {\n \"type\": \"__based\",\n \"named\": false\n },\n {\n \"type\": \"__cdecl\",\n \"named\": false\n },\n {\n \"type\": \"__clrcall\",\n \"named\": false\n },\n {\n \"type\": \"__constant__\",\n \"named\": false\n },\n {\n \"type\": \"__declspec\",\n \"named\": false\n },\n {\n \"type\": \"__device__\",\n \"named\": false\n },\n {\n \"type\": \"__fastcall\",\n \"named\": false\n },\n {\n \"type\": \"__forceinline__\",\n \"named\": false\n },\n {\n \"type\": \"__global__\",\n \"named\": false\n },\n {\n \"type\": \"__host__\",\n \"named\": false\n },\n {\n \"type\": \"__local__\",\n \"named\": false\n },\n {\n \"type\": \"__restrict__\",\n \"named\": false\n },\n {\n \"type\": \"__shared__\",\n \"named\": false\n },\n {\n \"type\": \"__stdcall\",\n \"named\": false\n },\n {\n \"type\": \"__thiscall\",\n \"named\": false\n },\n {\n \"type\": \"__unaligned\",\n \"named\": false\n },\n {\n \"type\": \"__vectorcall\",\n \"named\": false\n },\n {\n \"type\": \"_unaligned\",\n \"named\": false\n },\n {\n \"type\": \"auto\",\n \"named\": true\n },\n {\n \"type\": \"break\",\n \"named\": false\n },\n {\n \"type\": \"case\",\n \"named\": false\n },\n {\n \"type\": \"catch\",\n \"named\": false\n },\n {\n \"type\": \"class\",\n \"named\": false\n },\n {\n \"type\": \"comment\",\n \"named\": true\n },\n {\n \"type\": \"const\",\n \"named\": false\n },\n {\n \"type\": \"constexpr\",\n \"named\": false\n },\n {\n \"type\": \"continue\",\n \"named\": false\n },\n {\n \"type\": \"decltype\",\n \"named\": false\n },\n {\n \"type\": \"default\",\n \"named\": false\n },\n {\n \"type\": \"defined\",\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\": \"escape_sequence\",\n \"named\": true\n },\n {\n \"type\": \"explicit\",\n \"named\": false\n },\n {\n \"type\": \"extern\",\n \"named\": false\n },\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"field_identifier\",\n \"named\": true\n },\n {\n \"type\": \"final\",\n \"named\": false\n },\n {\n \"type\": \"for\",\n \"named\": false\n },\n {\n \"type\": \"friend\",\n \"named\": false\n },\n {\n \"type\": \"goto\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": false\n },\n {\n \"type\": \"inline\",\n \"named\": false\n },\n {\n \"type\": \"long\",\n \"named\": false\n },\n {\n \"type\": \"ms_restrict_modifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_signed_ptr_modifier\",\n \"named\": true\n },\n {\n \"type\": \"ms_unsigned_ptr_modifier\",\n \"named\": true\n },\n {\n \"type\": \"mutable\",\n \"named\": false\n },\n {\n \"type\": \"namespace\",\n \"named\": false\n },\n {\n \"type\": \"namespace_identifier\",\n \"named\": true\n },\n {\n \"type\": \"new\",\n \"named\": false\n },\n {\n \"type\": \"noexcept\",\n \"named\": false\n },\n {\n \"type\": \"null\",\n \"named\": true\n },\n {\n \"type\": \"nullptr\",\n \"named\": true\n },\n {\n \"type\": \"number_literal\",\n \"named\": true\n },\n {\n \"type\": \"operator\",\n \"named\": false\n },\n {\n \"type\": \"operator_name\",\n \"named\": true\n },\n {\n \"type\": \"override\",\n \"named\": false\n },\n {\n \"type\": \"preproc_arg\",\n \"named\": true\n },\n {\n \"type\": \"preproc_directive\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\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\": \"raw_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"register\",\n \"named\": false\n },\n {\n \"type\": \"restrict\",\n \"named\": false\n },\n {\n \"type\": \"return\",\n \"named\": false\n },\n {\n \"type\": \"short\",\n \"named\": false\n },\n {\n \"type\": \"signed\",\n \"named\": false\n },\n {\n \"type\": \"sizeof\",\n \"named\": false\n },\n {\n \"type\": \"statement_identifier\",\n \"named\": true\n },\n {\n \"type\": \"static\",\n \"named\": false\n },\n {\n \"type\": \"static_assert\",\n \"named\": false\n },\n {\n \"type\": \"struct\",\n \"named\": false\n },\n {\n \"type\": \"switch\",\n \"named\": false\n },\n {\n \"type\": \"system_lib_string\",\n \"named\": true\n },\n {\n \"type\": \"template\",\n \"named\": false\n },\n {\n \"type\": \"this\",\n \"named\": true\n },\n {\n \"type\": \"throw\",\n \"named\": false\n },\n {\n \"type\": \"true\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": false\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"typedef\",\n \"named\": false\n },\n {\n \"type\": \"typename\",\n \"named\": false\n },\n {\n \"type\": \"u\\\"\",\n \"named\": false\n },\n {\n \"type\": \"u\'\",\n \"named\": false\n },\n {\n \"type\": \"u8\\\"\",\n \"named\": false\n },\n {\n \"type\": \"u8\'\",\n \"named\": false\n },\n {\n \"type\": \"union\",\n \"named\": false\n },\n {\n \"type\": \"unsigned\",\n \"named\": false\n },\n {\n \"type\": \"using\",\n \"named\": false\n },\n {\n \"type\": \"virtual\",\n \"named\": false\n },\n {\n \"type\": \"volatile\",\n \"named\": false\n },\n {\n \"type\": \"while\",\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]";
Expand description
The content of the node-types.json
file for this grammar.