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.