Constant tree_sitter_solidity::NODE_TYPES [−][src]
pub const NODE_TYPES: &'static str = "[\n {\n \"type\": \"any_source_type\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"array_access\",\n \"named\": true,\n \"fields\": {\n \"base\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n },\n \"index\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"assembly_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"yul_assignment\",\n \"named\": true\n },\n {\n \"type\": \"yul_block\",\n \"named\": true\n },\n {\n \"type\": \"yul_break\",\n \"named\": true\n },\n {\n \"type\": \"yul_continue\",\n \"named\": true\n },\n {\n \"type\": \"yul_for_statement\",\n \"named\": true\n },\n {\n \"type\": \"yul_function_call\",\n \"named\": true\n },\n {\n \"type\": \"yul_function_definition\",\n \"named\": true\n },\n {\n \"type\": \"yul_if_statement\",\n \"named\": true\n },\n {\n \"type\": \"yul_leave\",\n \"named\": true\n },\n {\n \"type\": \"yul_switch_statement\",\n \"named\": true\n },\n {\n \"type\": \"yul_variable_declaration\",\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\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n }\n ]\n },\n \"right\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"augmented_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\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n }\n ]\n },\n \"right\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_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 },\n \"right\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"block_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"assembly_statement\",\n \"named\": true\n },\n {\n \"type\": \"block_statement\",\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\": \"do_while_statement\",\n \"named\": true\n },\n {\n \"type\": \"emit_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\": \"return_statement\",\n \"named\": true\n },\n {\n \"type\": \"try_statement\",\n \"named\": true\n },\n {\n \"type\": \"variable_declaration_statement\",\n \"named\": true\n },\n {\n \"type\": \"while_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"true\",\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 \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"catch_clause\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"storage_location\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"calldata\",\n \"named\": false\n },\n {\n \"type\": \"memory\",\n \"named\": false\n },\n {\n \"type\": \"storage\",\n \"named\": false\n }\n ]\n },\n \"type\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block_statement\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"constant_variable_declaration\",\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 \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"constant\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"constructor_definition\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"function_body\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"storage_location\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"calldata\",\n \"named\": false\n },\n {\n \"type\": \"memory\",\n \"named\": false\n },\n {\n \"type\": \"storage\",\n \"named\": false\n }\n ]\n },\n \"type\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"modifier_invocation\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"continue_statement\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"contract_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"constructor_definition\",\n \"named\": true\n },\n {\n \"type\": \"enum_declaration\",\n \"named\": true\n },\n {\n \"type\": \"event_definition\",\n \"named\": true\n },\n {\n \"type\": \"fallback_receive_definition\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"modifier_definition\",\n \"named\": true\n },\n {\n \"type\": \"state_variable_declaration\",\n \"named\": true\n },\n {\n \"type\": \"struct_declaration\",\n \"named\": true\n },\n {\n \"type\": \"using_directive\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"contract_declaration\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"contract_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 },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"inheritance_specifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"do_while_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assembly_statement\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"block_statement\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"break_statement\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"continue_statement\",\n \"named\": true\n },\n {\n \"type\": \"do_while_statement\",\n \"named\": true\n },\n {\n \"type\": \"emit_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\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"if_statement\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"return_statement\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"try_statement\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n },\n {\n \"type\": \"variable_declaration_statement\",\n \"named\": true\n },\n {\n \"type\": \"while_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"emit_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"enum_declaration\",\n \"named\": true,\n \"fields\": {\n \"enum_type_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\": \"enum_value\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"event_definition\",\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\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"event_paramater\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"event_paramater\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": false,\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\": \"type_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"expression_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"fallback_receive_definition\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_body\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"modifier_invocation\",\n \"named\": true\n },\n {\n \"type\": \"override_specifier\",\n \"named\": true\n },\n {\n \"type\": \"state_mutability\",\n \"named\": true\n },\n {\n \"type\": \"virtual\",\n \"named\": true\n },\n {\n \"type\": \"visibility\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"false\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"for_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assembly_statement\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"block_statement\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"break_statement\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"continue_statement\",\n \"named\": true\n },\n {\n \"type\": \"do_while_statement\",\n \"named\": true\n },\n {\n \"type\": \"emit_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\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"if_statement\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"return_statement\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"try_statement\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n },\n {\n \"type\": \"variable_declaration_statement\",\n \"named\": true\n },\n {\n \"type\": \"while_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"function_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"assembly_statement\",\n \"named\": true\n },\n {\n \"type\": \"block_statement\",\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\": \"do_while_statement\",\n \"named\": true\n },\n {\n \"type\": \"emit_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\": \"return_statement\",\n \"named\": true\n },\n {\n \"type\": \"try_statement\",\n \"named\": true\n },\n {\n \"type\": \"variable_declaration_statement\",\n \"named\": true\n },\n {\n \"type\": \"while_statement\",\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\": \"function_body\",\n \"named\": true\n }\n ]\n },\n \"function_name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"storage_location\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"calldata\",\n \"named\": false\n },\n {\n \"type\": \"memory\",\n \"named\": false\n },\n {\n \"type\": \"storage\",\n \"named\": false\n }\n ]\n },\n \"type\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"modifier_invocation\",\n \"named\": true\n },\n {\n \"type\": \"override_specifier\",\n \"named\": true\n },\n {\n \"type\": \"state_mutability\",\n \"named\": true\n },\n {\n \"type\": \"virtual\",\n \"named\": true\n },\n {\n \"type\": \"visibility\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"if_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assembly_statement\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"block_statement\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"break_statement\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"continue_statement\",\n \"named\": true\n },\n {\n \"type\": \"do_while_statement\",\n \"named\": true\n },\n {\n \"type\": \"emit_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\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"if_statement\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"return_statement\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"try_statement\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n },\n {\n \"type\": \"variable_declaration_statement\",\n \"named\": true\n },\n {\n \"type\": \"while_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"import_directive\",\n \"named\": true,\n \"fields\": {\n \"import_alias\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"import_origin\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"source\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"inheritance_specifier\",\n \"named\": true,\n \"fields\": {\n \"ancestor\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"ancestor_arguments\": {\n \"multiple\": true,\n \"required\": false,\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\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n },\n {\n \"type\": \"{\",\n \"named\": false\n },\n {\n \"type\": \"}\",\n \"named\": false\n }\n ]\n }\n }\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\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\": \"contract_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 },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"inheritance_specifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"library_declaration\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"contract_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 }\n },\n {\n \"type\": \"member_expression\",\n \"named\": true,\n \"fields\": {\n \"object\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n },\n \"property\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"property_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"modifier_definition\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_body\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"storage_location\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"calldata\",\n \"named\": false\n },\n {\n \"type\": \"memory\",\n \"named\": false\n },\n {\n \"type\": \"storage\",\n \"named\": false\n }\n ]\n },\n \"type\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"override_specifier\",\n \"named\": true\n },\n {\n \"type\": \"virtual\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"modifier_invocation\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"new_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_name\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"number_literal\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"number_unit\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"number_unit\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"override_specifier\",\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\": \"parenthesized_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"payable_conversion_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"pragma_directive\",\n \"named\": true,\n \"fields\": {\n \"version_constraint\": {\n \"multiple\": true,\n \"required\": false,\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 }\n }\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"return_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"slice_access\",\n \"named\": true,\n \"fields\": {\n \"base\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n },\n \"from\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n },\n \"to\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"source_file\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"constant_variable_declaration\",\n \"named\": true\n },\n {\n \"type\": \"contract_declaration\",\n \"named\": true\n },\n {\n \"type\": \"enum_declaration\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"import_directive\",\n \"named\": true\n },\n {\n \"type\": \"interface_declaration\",\n \"named\": true\n },\n {\n \"type\": \"library_declaration\",\n \"named\": true\n },\n {\n \"type\": \"pragma_directive\",\n \"named\": true\n },\n {\n \"type\": \"struct_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"state_mutability\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"state_variable_declaration\",\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 \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n },\n \"visibility\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"visibility\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"constant\",\n \"named\": true\n },\n {\n \"type\": \"immutable\",\n \"named\": true\n },\n {\n \"type\": \"override_specifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"string\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"string_literal\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"struct_declaration\",\n \"named\": true,\n \"fields\": {\n \"struct_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\": \"struct_member\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"struct_member\",\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 \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"true\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"try_statement\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"storage_location\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"calldata\",\n \"named\": false\n },\n {\n \"type\": \"memory\",\n \"named\": false\n },\n {\n \"type\": \"storage\",\n \"named\": false\n }\n ]\n },\n \"type\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"block_statement\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"catch_clause\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_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 }\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_name\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"storage_location\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"calldata\",\n \"named\": false\n },\n {\n \"type\": \"memory\",\n \"named\": false\n },\n {\n \"type\": \"storage\",\n \"named\": false\n }\n ]\n },\n \"type\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_name\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true,\n \"fields\": {\n \"argument\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_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\": \"delete\",\n \"named\": false\n },\n {\n \"type\": \"~\",\n \"named\": false\n }\n ]\n }\n }\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"update_expression\",\n \"named\": true,\n \"fields\": {\n \"argument\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_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_directive\",\n \"named\": true,\n \"fields\": {\n \"source\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"any_source_type\",\n \"named\": true\n },\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_alias\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"variable_declaration\",\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\": true,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"variable_declaration_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n },\n {\n \"type\": \"variable_declaration\",\n \"named\": true\n },\n {\n \"type\": \"variable_declaration_tuple\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"variable_declaration_tuple\",\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 \"type\": \"variable_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"visibility\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"while_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"assembly_statement\",\n \"named\": true\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"block_statement\",\n \"named\": true\n },\n {\n \"type\": \"boolean_literal\",\n \"named\": true\n },\n {\n \"type\": \"break_statement\",\n \"named\": true\n },\n {\n \"type\": \"call_expression\",\n \"named\": true\n },\n {\n \"type\": \"continue_statement\",\n \"named\": true\n },\n {\n \"type\": \"do_while_statement\",\n \"named\": true\n },\n {\n \"type\": \"emit_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\": \"hex_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"if_statement\",\n \"named\": true\n },\n {\n \"type\": \"inline_array_expression\",\n \"named\": true\n },\n {\n \"type\": \"member_expression\",\n \"named\": true\n },\n {\n \"type\": \"meta_type_expression\",\n \"named\": true\n },\n {\n \"type\": \"new_expression\",\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\": \"payable_conversion_expression\",\n \"named\": true\n },\n {\n \"type\": \"primitive_type\",\n \"named\": true\n },\n {\n \"type\": \"return_statement\",\n \"named\": true\n },\n {\n \"type\": \"slice_access\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"struct_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"try_statement\",\n \"named\": true\n },\n {\n \"type\": \"tuple_expression\",\n \"named\": true\n },\n {\n \"type\": \"type_cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unicode_string_literal\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n },\n {\n \"type\": \"variable_declaration_statement\",\n \"named\": true\n },\n {\n \"type\": \"while_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"yul_assignment\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"yul_boolean\",\n \"named\": true\n },\n {\n \"type\": \"yul_decimal_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_function_call\",\n \"named\": true\n },\n {\n \"type\": \"yul_hex_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_path\",\n \"named\": true\n },\n {\n \"type\": \"yul_string_literal\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"yul_block\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"yul_assignment\",\n \"named\": true\n },\n {\n \"type\": \"yul_block\",\n \"named\": true\n },\n {\n \"type\": \"yul_break\",\n \"named\": true\n },\n {\n \"type\": \"yul_continue\",\n \"named\": true\n },\n {\n \"type\": \"yul_for_statement\",\n \"named\": true\n },\n {\n \"type\": \"yul_function_call\",\n \"named\": true\n },\n {\n \"type\": \"yul_function_definition\",\n \"named\": true\n },\n {\n \"type\": \"yul_if_statement\",\n \"named\": true\n },\n {\n \"type\": \"yul_leave\",\n \"named\": true\n },\n {\n \"type\": \"yul_switch_statement\",\n \"named\": true\n },\n {\n \"type\": \"yul_variable_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"yul_boolean\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"yul_break\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"yul_continue\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"yul_evm_builtin\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"yul_for_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"yul_block\",\n \"named\": true\n },\n {\n \"type\": \"yul_boolean\",\n \"named\": true\n },\n {\n \"type\": \"yul_decimal_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_function_call\",\n \"named\": true\n },\n {\n \"type\": \"yul_hex_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_path\",\n \"named\": true\n },\n {\n \"type\": \"yul_string_literal\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"yul_function_call\",\n \"named\": true,\n \"fields\": {\n \"function\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"yul_evm_builtin\",\n \"named\": true\n },\n {\n \"type\": \"yul_identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"yul_boolean\",\n \"named\": true\n },\n {\n \"type\": \"yul_decimal_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_function_call\",\n \"named\": true\n },\n {\n \"type\": \"yul_hex_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_path\",\n \"named\": true\n },\n {\n \"type\": \"yul_string_literal\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"yul_function_definition\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"yul_block\",\n \"named\": true\n },\n {\n \"type\": \"yul_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"yul_if_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"yul_block\",\n \"named\": true\n },\n {\n \"type\": \"yul_boolean\",\n \"named\": true\n },\n {\n \"type\": \"yul_decimal_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_function_call\",\n \"named\": true\n },\n {\n \"type\": \"yul_hex_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_path\",\n \"named\": true\n },\n {\n \"type\": \"yul_string_literal\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"yul_path\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"yul_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"yul_string_literal\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"yul_switch_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"yul_block\",\n \"named\": true\n },\n {\n \"type\": \"yul_boolean\",\n \"named\": true\n },\n {\n \"type\": \"yul_decimal_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_function_call\",\n \"named\": true\n },\n {\n \"type\": \"yul_hex_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_path\",\n \"named\": true\n },\n {\n \"type\": \"yul_string_literal\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"yul_variable_declaration\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": true,\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\": \"yul_identifier\",\n \"named\": true\n }\n ]\n },\n \"right\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"yul_boolean\",\n \"named\": true\n },\n {\n \"type\": \"yul_decimal_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_function_call\",\n \"named\": true\n },\n {\n \"type\": \"yul_hex_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_path\",\n \"named\": true\n },\n {\n \"type\": \"yul_string_literal\",\n \"named\": true\n }\n ]\n }\n }\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\": \"\\\"evmasm\\\"\",\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\": \"[\",\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\": \"abstract\",\n \"named\": false\n },\n {\n \"type\": \"add\",\n \"named\": false\n },\n {\n \"type\": \"addmod\",\n \"named\": false\n },\n {\n \"type\": \"address\",\n \"named\": false\n },\n {\n \"type\": \"and\",\n \"named\": false\n },\n {\n \"type\": \"anonymous\",\n \"named\": false\n },\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"assembly\",\n \"named\": false\n },\n {\n \"type\": \"balance\",\n \"named\": false\n },\n {\n \"type\": \"blockhash\",\n \"named\": false\n },\n {\n \"type\": \"bool\",\n \"named\": false\n },\n {\n \"type\": \"break\",\n \"named\": false\n },\n {\n \"type\": \"byte\",\n \"named\": false\n },\n {\n \"type\": \"bytes\",\n \"named\": false\n },\n {\n \"type\": \"bytes1\",\n \"named\": false\n },\n {\n \"type\": \"bytes10\",\n \"named\": false\n },\n {\n \"type\": \"bytes11\",\n \"named\": false\n },\n {\n \"type\": \"bytes12\",\n \"named\": false\n },\n {\n \"type\": \"bytes13\",\n \"named\": false\n },\n {\n \"type\": \"bytes14\",\n \"named\": false\n },\n {\n \"type\": \"bytes15\",\n \"named\": false\n },\n {\n \"type\": \"bytes16\",\n \"named\": false\n },\n {\n \"type\": \"bytes17\",\n \"named\": false\n },\n {\n \"type\": \"bytes18\",\n \"named\": false\n },\n {\n \"type\": \"bytes19\",\n \"named\": false\n },\n {\n \"type\": \"bytes2\",\n \"named\": false\n },\n {\n \"type\": \"bytes20\",\n \"named\": false\n },\n {\n \"type\": \"bytes21\",\n \"named\": false\n },\n {\n \"type\": \"bytes22\",\n \"named\": false\n },\n {\n \"type\": \"bytes23\",\n \"named\": false\n },\n {\n \"type\": \"bytes24\",\n \"named\": false\n },\n {\n \"type\": \"bytes25\",\n \"named\": false\n },\n {\n \"type\": \"bytes26\",\n \"named\": false\n },\n {\n \"type\": \"bytes27\",\n \"named\": false\n },\n {\n \"type\": \"bytes28\",\n \"named\": false\n },\n {\n \"type\": \"bytes29\",\n \"named\": false\n },\n {\n \"type\": \"bytes3\",\n \"named\": false\n },\n {\n \"type\": \"bytes30\",\n \"named\": false\n },\n {\n \"type\": \"bytes31\",\n \"named\": false\n },\n {\n \"type\": \"bytes32\",\n \"named\": false\n },\n {\n \"type\": \"bytes4\",\n \"named\": false\n },\n {\n \"type\": \"bytes5\",\n \"named\": false\n },\n {\n \"type\": \"bytes6\",\n \"named\": false\n },\n {\n \"type\": \"bytes7\",\n \"named\": false\n },\n {\n \"type\": \"bytes8\",\n \"named\": false\n },\n {\n \"type\": \"bytes9\",\n \"named\": false\n },\n {\n \"type\": \"call\",\n \"named\": false\n },\n {\n \"type\": \"callcode\",\n \"named\": false\n },\n {\n \"type\": \"calldata\",\n \"named\": false\n },\n {\n \"type\": \"calldatacopy\",\n \"named\": false\n },\n {\n \"type\": \"calldataload\",\n \"named\": false\n },\n {\n \"type\": \"calldatasize\",\n \"named\": false\n },\n {\n \"type\": \"caller\",\n \"named\": false\n },\n {\n \"type\": \"callvalue\",\n \"named\": false\n },\n {\n \"type\": \"case\",\n \"named\": false\n },\n {\n \"type\": \"catch\",\n \"named\": false\n },\n {\n \"type\": \"chainid\",\n \"named\": false\n },\n {\n \"type\": \"coinbase\",\n \"named\": false\n },\n {\n \"type\": \"comment\",\n \"named\": true\n },\n {\n \"type\": \"constant\",\n \"named\": true\n },\n {\n \"type\": \"constructor\",\n \"named\": false\n },\n {\n \"type\": \"continue\",\n \"named\": false\n },\n {\n \"type\": \"contract\",\n \"named\": false\n },\n {\n \"type\": \"create\",\n \"named\": false\n },\n {\n \"type\": \"create2\",\n \"named\": false\n },\n {\n \"type\": \"days\",\n \"named\": false\n },\n {\n \"type\": \"default\",\n \"named\": false\n },\n {\n \"type\": \"delegatecall\",\n \"named\": false\n },\n {\n \"type\": \"delete\",\n \"named\": false\n },\n {\n \"type\": \"difficulty\",\n \"named\": false\n },\n {\n \"type\": \"div\",\n \"named\": false\n },\n {\n \"type\": \"do\",\n \"named\": false\n },\n {\n \"type\": \"else\",\n \"named\": false\n },\n {\n \"type\": \"emit\",\n \"named\": false\n },\n {\n \"type\": \"enum\",\n \"named\": false\n },\n {\n \"type\": \"enum_value\",\n \"named\": true\n },\n {\n \"type\": \"eq\",\n \"named\": false\n },\n {\n \"type\": \"ether\",\n \"named\": false\n },\n {\n \"type\": \"event\",\n \"named\": false\n },\n {\n \"type\": \"exp\",\n \"named\": false\n },\n {\n \"type\": \"extcodecopy\",\n \"named\": false\n },\n {\n \"type\": \"extcodehash\",\n \"named\": false\n },\n {\n \"type\": \"extcodesize\",\n \"named\": false\n },\n {\n \"type\": \"external\",\n \"named\": false\n },\n {\n \"type\": \"fallback\",\n \"named\": false\n },\n {\n \"type\": \"false\",\n \"named\": false\n },\n {\n \"type\": \"finney\",\n \"named\": false\n },\n {\n \"type\": \"fixed\",\n \"named\": false\n },\n {\n \"type\": \"for\",\n \"named\": false\n },\n {\n \"type\": \"from\",\n \"named\": false\n },\n {\n \"type\": \"function\",\n \"named\": false\n },\n {\n \"type\": \"gas\",\n \"named\": false\n },\n {\n \"type\": \"gaslimit\",\n \"named\": false\n },\n {\n \"type\": \"gasprice\",\n \"named\": false\n },\n {\n \"type\": \"gt\",\n \"named\": false\n },\n {\n \"type\": \"gwei\",\n \"named\": false\n },\n {\n \"type\": \"hex\",\n \"named\": false\n },\n {\n \"type\": \"hours\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": false\n },\n {\n \"type\": \"immutable\",\n \"named\": true\n },\n {\n \"type\": \"import\",\n \"named\": false\n },\n {\n \"type\": \"indexed\",\n \"named\": false\n },\n {\n \"type\": \"int\",\n \"named\": false\n },\n {\n \"type\": \"int104\",\n \"named\": false\n },\n {\n \"type\": \"int112\",\n \"named\": false\n },\n {\n \"type\": \"int120\",\n \"named\": false\n },\n {\n \"type\": \"int128\",\n \"named\": false\n },\n {\n \"type\": \"int136\",\n \"named\": false\n },\n {\n \"type\": \"int144\",\n \"named\": false\n },\n {\n \"type\": \"int152\",\n \"named\": false\n },\n {\n \"type\": \"int16\",\n \"named\": false\n },\n {\n \"type\": \"int160\",\n \"named\": false\n },\n {\n \"type\": \"int168\",\n \"named\": false\n },\n {\n \"type\": \"int176\",\n \"named\": false\n },\n {\n \"type\": \"int184\",\n \"named\": false\n },\n {\n \"type\": \"int192\",\n \"named\": false\n },\n {\n \"type\": \"int200\",\n \"named\": false\n },\n {\n \"type\": \"int208\",\n \"named\": false\n },\n {\n \"type\": \"int216\",\n \"named\": false\n },\n {\n \"type\": \"int224\",\n \"named\": false\n },\n {\n \"type\": \"int232\",\n \"named\": false\n },\n {\n \"type\": \"int24\",\n \"named\": false\n },\n {\n \"type\": \"int240\",\n \"named\": false\n },\n {\n \"type\": \"int248\",\n \"named\": false\n },\n {\n \"type\": \"int256\",\n \"named\": false\n },\n {\n \"type\": \"int32\",\n \"named\": false\n },\n {\n \"type\": \"int40\",\n \"named\": false\n },\n {\n \"type\": \"int48\",\n \"named\": false\n },\n {\n \"type\": \"int56\",\n \"named\": false\n },\n {\n \"type\": \"int64\",\n \"named\": false\n },\n {\n \"type\": \"int72\",\n \"named\": false\n },\n {\n \"type\": \"int8\",\n \"named\": false\n },\n {\n \"type\": \"int80\",\n \"named\": false\n },\n {\n \"type\": \"int88\",\n \"named\": false\n },\n {\n \"type\": \"int96\",\n \"named\": false\n },\n {\n \"type\": \"interface\",\n \"named\": false\n },\n {\n \"type\": \"internal\",\n \"named\": false\n },\n {\n \"type\": \"invalid\",\n \"named\": false\n },\n {\n \"type\": \"is\",\n \"named\": false\n },\n {\n \"type\": \"iszero\",\n \"named\": false\n },\n {\n \"type\": \"keccak256\",\n \"named\": false\n },\n {\n \"type\": \"let\",\n \"named\": false\n },\n {\n \"type\": \"library\",\n \"named\": false\n },\n {\n \"type\": \"log0\",\n \"named\": false\n },\n {\n \"type\": \"log1\",\n \"named\": false\n },\n {\n \"type\": \"log2\",\n \"named\": false\n },\n {\n \"type\": \"log3\",\n \"named\": false\n },\n {\n \"type\": \"log4\",\n \"named\": false\n },\n {\n \"type\": \"lt\",\n \"named\": false\n },\n {\n \"type\": \"mapping\",\n \"named\": false\n },\n {\n \"type\": \"memory\",\n \"named\": false\n },\n {\n \"type\": \"minutes\",\n \"named\": false\n },\n {\n \"type\": \"mload\",\n \"named\": false\n },\n {\n \"type\": \"mod\",\n \"named\": false\n },\n {\n \"type\": \"modifier\",\n \"named\": false\n },\n {\n \"type\": \"msize\",\n \"named\": false\n },\n {\n \"type\": \"mstore\",\n \"named\": false\n },\n {\n \"type\": \"mstore8\",\n \"named\": false\n },\n {\n \"type\": \"mul\",\n \"named\": false\n },\n {\n \"type\": \"mulmod\",\n \"named\": false\n },\n {\n \"type\": \"new\",\n \"named\": false\n },\n {\n \"type\": \"not\",\n \"named\": false\n },\n {\n \"type\": \"number\",\n \"named\": false\n },\n {\n \"type\": \"or\",\n \"named\": false\n },\n {\n \"type\": \"origin\",\n \"named\": false\n },\n {\n \"type\": \"override\",\n \"named\": false\n },\n {\n \"type\": \"payable\",\n \"named\": false\n },\n {\n \"type\": \"pop\",\n \"named\": false\n },\n {\n \"type\": \"pragma\",\n \"named\": false\n },\n {\n \"type\": \"private\",\n \"named\": false\n },\n {\n \"type\": \"property_identifier\",\n \"named\": true\n },\n {\n \"type\": \"public\",\n \"named\": false\n },\n {\n \"type\": \"pure\",\n \"named\": false\n },\n {\n \"type\": \"receive\",\n \"named\": false\n },\n {\n \"type\": \"return\",\n \"named\": false\n },\n {\n \"type\": \"returndatacopy\",\n \"named\": false\n },\n {\n \"type\": \"returndatasize\",\n \"named\": false\n },\n {\n \"type\": \"returns\",\n \"named\": false\n },\n {\n \"type\": \"revert\",\n \"named\": false\n },\n {\n \"type\": \"sar\",\n \"named\": false\n },\n {\n \"type\": \"sdiv\",\n \"named\": false\n },\n {\n \"type\": \"seconds\",\n \"named\": false\n },\n {\n \"type\": \"selfbalance\",\n \"named\": false\n },\n {\n \"type\": \"selfdestruct\",\n \"named\": false\n },\n {\n \"type\": \"sgt\",\n \"named\": false\n },\n {\n \"type\": \"shl\",\n \"named\": false\n },\n {\n \"type\": \"shr\",\n \"named\": false\n },\n {\n \"type\": \"signextend\",\n \"named\": false\n },\n {\n \"type\": \"sload\",\n \"named\": false\n },\n {\n \"type\": \"slt\",\n \"named\": false\n },\n {\n \"type\": \"smod\",\n \"named\": false\n },\n {\n \"type\": \"solidity\",\n \"named\": false\n },\n {\n \"type\": \"sstore\",\n \"named\": false\n },\n {\n \"type\": \"staticcall\",\n \"named\": false\n },\n {\n \"type\": \"stop\",\n \"named\": false\n },\n {\n \"type\": \"storage\",\n \"named\": false\n },\n {\n \"type\": \"string\",\n \"named\": false\n },\n {\n \"type\": \"struct\",\n \"named\": false\n },\n {\n \"type\": \"sub\",\n \"named\": false\n },\n {\n \"type\": \"switch\",\n \"named\": false\n },\n {\n \"type\": \"szabo\",\n \"named\": false\n },\n {\n \"type\": \"timestamp\",\n \"named\": false\n },\n {\n \"type\": \"true\",\n \"named\": false\n },\n {\n \"type\": \"try\",\n \"named\": false\n },\n {\n \"type\": \"type\",\n \"named\": false\n },\n {\n \"type\": \"ufixed\",\n \"named\": false\n },\n {\n \"type\": \"uint\",\n \"named\": false\n },\n {\n \"type\": \"uint104\",\n \"named\": false\n },\n {\n \"type\": \"uint112\",\n \"named\": false\n },\n {\n \"type\": \"uint120\",\n \"named\": false\n },\n {\n \"type\": \"uint128\",\n \"named\": false\n },\n {\n \"type\": \"uint136\",\n \"named\": false\n },\n {\n \"type\": \"uint144\",\n \"named\": false\n },\n {\n \"type\": \"uint152\",\n \"named\": false\n },\n {\n \"type\": \"uint16\",\n \"named\": false\n },\n {\n \"type\": \"uint160\",\n \"named\": false\n },\n {\n \"type\": \"uint168\",\n \"named\": false\n },\n {\n \"type\": \"uint176\",\n \"named\": false\n },\n {\n \"type\": \"uint184\",\n \"named\": false\n },\n {\n \"type\": \"uint192\",\n \"named\": false\n },\n {\n \"type\": \"uint200\",\n \"named\": false\n },\n {\n \"type\": \"uint208\",\n \"named\": false\n },\n {\n \"type\": \"uint216\",\n \"named\": false\n },\n {\n \"type\": \"uint224\",\n \"named\": false\n },\n {\n \"type\": \"uint232\",\n \"named\": false\n },\n {\n \"type\": \"uint24\",\n \"named\": false\n },\n {\n \"type\": \"uint240\",\n \"named\": false\n },\n {\n \"type\": \"uint248\",\n \"named\": false\n },\n {\n \"type\": \"uint256\",\n \"named\": false\n },\n {\n \"type\": \"uint32\",\n \"named\": false\n },\n {\n \"type\": \"uint40\",\n \"named\": false\n },\n {\n \"type\": \"uint48\",\n \"named\": false\n },\n {\n \"type\": \"uint56\",\n \"named\": false\n },\n {\n \"type\": \"uint64\",\n \"named\": false\n },\n {\n \"type\": \"uint72\",\n \"named\": false\n },\n {\n \"type\": \"uint8\",\n \"named\": false\n },\n {\n \"type\": \"uint80\",\n \"named\": false\n },\n {\n \"type\": \"uint88\",\n \"named\": false\n },\n {\n \"type\": \"uint96\",\n \"named\": false\n },\n {\n \"type\": \"unicode\",\n \"named\": false\n },\n {\n \"type\": \"using\",\n \"named\": false\n },\n {\n \"type\": \"var\",\n \"named\": false\n },\n {\n \"type\": \"view\",\n \"named\": false\n },\n {\n \"type\": \"virtual\",\n \"named\": true\n },\n {\n \"type\": \"weeks\",\n \"named\": false\n },\n {\n \"type\": \"wei\",\n \"named\": false\n },\n {\n \"type\": \"while\",\n \"named\": false\n },\n {\n \"type\": \"xor\",\n \"named\": false\n },\n {\n \"type\": \"years\",\n \"named\": false\n },\n {\n \"type\": \"yul_decimal_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_hex_number\",\n \"named\": true\n },\n {\n \"type\": \"yul_identifier\",\n \"named\": true\n },\n {\n \"type\": \"yul_leave\",\n \"named\": true\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.