From f32d372fd86f940a2fcad5d47b66caa714c3004e Mon Sep 17 00:00:00 2001 From: joker1007 Date: Mon, 4 Dec 2023 22:07:01 +0900 Subject: [PATCH 1/2] feat: support annotation syntax --- grammar.js | 69 +- src/grammar.json | 325 +- src/node-types.json | 72 +- src/parser.c | 17480 +++++++++++++++++++--------------- test/corpus/annotations.txt | 354 + 5 files changed, 10615 insertions(+), 7685 deletions(-) create mode 100644 test/corpus/annotations.txt diff --git a/grammar.js b/grammar.js index 2c4e99b..b26a590 100644 --- a/grammar.js +++ b/grammar.js @@ -154,15 +154,32 @@ module.exports = grammar({ seq($.namespace, "*"), ), - _decl: $ => choice( - $.class_decl, - $.module_decl, - $.class_alias_decl, - $.module_alias_decl, - $.interface_decl, - $.type_alias_decl, - $.const_decl, - $.global_decl, + _annotation_text_without_brace: $ => /[^\x00}]*/, + _annotation_text_without_parenthesis: $ => /[^\x00)]*/, + _annotation_text_without_bracket: $ => /[^\x00]]*/, + _annotation_text_without_bar: $ => /[^\x00\|]]*/, + _annotation_text_without_angle_bracket: $ => /[^\x00>]]*/, + + annotation: $ => choice( + seq("%a{", alias($._annotation_text_without_brace, $.annotation_text), "}"), + seq("%a(", alias($._annotation_text_without_parenthesis, $.annotation_text), ")"), + seq("%a[", $._annotation_text_without_bracket, "]"), + seq("%a|", $._annotation_text_without_bar, "|"), + seq("%a<", $._annotation_text_without_angle_bracket, ">"), + ), + + _decl: $ => seq( + alias(repeat($.annotation), $.annotations), + choice( + $.class_decl, + $.module_decl, + $.class_alias_decl, + $.module_alias_decl, + $.interface_decl, + $.type_alias_decl, + $.const_decl, + $.global_decl, + ) ), _nestable_decls: $ => choice( @@ -211,10 +228,13 @@ module.exports = grammar({ interface_decl: $ => seq("interface", $.interface_name, optional($.module_type_parameters), alias(repeat($.interface_member), $.interface_members), "end"), - interface_member: $ => choice( - $.method_member, - $.include_member, - $.alias_member, + interface_member: $ => seq( + alias(repeat($.annotation), $.annotations), + choice( + $.method_member, + $.include_member, + $.alias_member, + ) ), type_alias_decl: $ => seq("type", $.alias_name, optional($.module_type_parameters), "=", $.type), @@ -309,15 +329,18 @@ module.exports = grammar({ seq("?", "{", $.parameters, optional($.self_type_binding), "->", $.type, "}"), ), - _member: $ => choice( - $.ivar_member, - $.method_member, - prec.right($.attribute_member), - $.include_member, - $.extend_member, - $.prepend_member, - $.alias_member, - prec.left($.visibility_member), + _member: $ => seq( + alias(repeat($.annotation), $.annotations), + choice( + $.ivar_member, + $.method_member, + prec.right($.attribute_member), + $.include_member, + $.extend_member, + $.prepend_member, + $.alias_member, + prec.left($.visibility_member), + ) ), ivar_member: $ => choice( @@ -333,7 +356,7 @@ module.exports = grammar({ ), method_types: $ => choice( - sep1(seq(optional($.method_type_parameters), $.method_type), "|"), + sep1(seq(optional($.method_type_parameters), alias(repeat($.annotation), $.annotations), $.method_type), "|"), "..." ), diff --git a/src/grammar.json b/src/grammar.json index e8117f7..ec694c0 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1067,40 +1067,177 @@ } ] }, - "_decl": { + "_annotation_text_without_brace": { + "type": "PATTERN", + "value": "[^\\x00}]*" + }, + "_annotation_text_without_parenthesis": { + "type": "PATTERN", + "value": "[^\\x00)]*" + }, + "_annotation_text_without_bracket": { + "type": "PATTERN", + "value": "[^\\x00]]*" + }, + "_annotation_text_without_bar": { + "type": "PATTERN", + "value": "[^\\x00\\|]]*" + }, + "_annotation_text_without_angle_bracket": { + "type": "PATTERN", + "value": "[^\\x00>]]*" + }, + "annotation": { "type": "CHOICE", "members": [ { - "type": "SYMBOL", - "name": "class_decl" - }, - { - "type": "SYMBOL", - "name": "module_decl" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "%a{" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_annotation_text_without_brace" + }, + "named": true, + "value": "annotation_text" + }, + { + "type": "STRING", + "value": "}" + } + ] }, { - "type": "SYMBOL", - "name": "class_alias_decl" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "%a(" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_annotation_text_without_parenthesis" + }, + "named": true, + "value": "annotation_text" + }, + { + "type": "STRING", + "value": ")" + } + ] }, { - "type": "SYMBOL", - "name": "module_alias_decl" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "%a[" + }, + { + "type": "SYMBOL", + "name": "_annotation_text_without_bracket" + }, + { + "type": "STRING", + "value": "]" + } + ] }, { - "type": "SYMBOL", - "name": "interface_decl" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "%a|" + }, + { + "type": "SYMBOL", + "name": "_annotation_text_without_bar" + }, + { + "type": "STRING", + "value": "|" + } + ] }, { - "type": "SYMBOL", - "name": "type_alias_decl" - }, + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "%a<" + }, + { + "type": "SYMBOL", + "name": "_annotation_text_without_angle_bracket" + }, + { + "type": "STRING", + "value": ">" + } + ] + } + ] + }, + "_decl": { + "type": "SEQ", + "members": [ { - "type": "SYMBOL", - "name": "const_decl" + "type": "ALIAS", + "content": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "annotation" + } + }, + "named": true, + "value": "annotations" }, { - "type": "SYMBOL", - "name": "global_decl" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "class_decl" + }, + { + "type": "SYMBOL", + "name": "module_decl" + }, + { + "type": "SYMBOL", + "name": "class_alias_decl" + }, + { + "type": "SYMBOL", + "name": "module_alias_decl" + }, + { + "type": "SYMBOL", + "name": "interface_decl" + }, + { + "type": "SYMBOL", + "name": "type_alias_decl" + }, + { + "type": "SYMBOL", + "name": "const_decl" + }, + { + "type": "SYMBOL", + "name": "global_decl" + } + ] } ] }, @@ -1513,19 +1650,36 @@ ] }, "interface_member": { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "method_member" - }, - { - "type": "SYMBOL", - "name": "include_member" + "type": "ALIAS", + "content": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "annotation" + } + }, + "named": true, + "value": "annotations" }, { - "type": "SYMBOL", - "name": "alias_member" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "method_member" + }, + { + "type": "SYMBOL", + "name": "include_member" + }, + { + "type": "SYMBOL", + "name": "alias_member" + } + ] } ] }, @@ -2687,47 +2841,64 @@ ] }, "_member": { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "ivar_member" - }, - { - "type": "SYMBOL", - "name": "method_member" - }, - { - "type": "PREC_RIGHT", - "value": 0, + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "attribute_member" - } - }, - { - "type": "SYMBOL", - "name": "include_member" - }, - { - "type": "SYMBOL", - "name": "extend_member" - }, - { - "type": "SYMBOL", - "name": "prepend_member" - }, - { - "type": "SYMBOL", - "name": "alias_member" + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "annotation" + } + }, + "named": true, + "value": "annotations" }, { - "type": "PREC_LEFT", - "value": 0, - "content": { - "type": "SYMBOL", - "name": "visibility_member" - } + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ivar_member" + }, + { + "type": "SYMBOL", + "name": "method_member" + }, + { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SYMBOL", + "name": "attribute_member" + } + }, + { + "type": "SYMBOL", + "name": "include_member" + }, + { + "type": "SYMBOL", + "name": "extend_member" + }, + { + "type": "SYMBOL", + "name": "prepend_member" + }, + { + "type": "SYMBOL", + "name": "alias_member" + }, + { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "SYMBOL", + "name": "visibility_member" + } + } + ] } ] }, @@ -2924,6 +3095,18 @@ } ] }, + { + "type": "ALIAS", + "content": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "annotation" + } + }, + "named": true, + "value": "annotations" + }, { "type": "SYMBOL", "name": "method_type" @@ -2954,6 +3137,18 @@ } ] }, + { + "type": "ALIAS", + "content": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "annotation" + } + }, + "named": true, + "value": "annotations" + }, { "type": "SYMBOL", "name": "method_type" diff --git a/src/node-types.json b/src/node-types.json index b3ddaab..8655d8a 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -71,6 +71,36 @@ ] } }, + { + "type": "annotation", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "annotation_text", + "named": true + } + ] + } + }, + { + "type": "annotations", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "annotation", + "named": true + } + ] + } + }, { "type": "attribute_member", "named": true, @@ -459,13 +489,17 @@ "named": true, "fields": {}, "children": { - "multiple": false, + "multiple": true, "required": true, "types": [ { "type": "alias_member", "named": true }, + { + "type": "annotations", + "named": true + }, { "type": "include_member", "named": true @@ -633,6 +667,10 @@ "type": "alias_member", "named": true }, + { + "type": "annotations", + "named": true + }, { "type": "attribute_member", "named": true @@ -804,6 +842,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "annotations", + "named": true + }, { "type": "method_type", "named": true @@ -1156,6 +1198,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "annotations", + "named": true + }, { "type": "class_alias_decl", "named": true @@ -1706,6 +1752,26 @@ "type": "%", "named": false }, + { + "type": "%a(", + "named": false + }, + { + "type": "%a<", + "named": false + }, + { + "type": "%a[", + "named": false + }, + { + "type": "%a{", + "named": false + }, + { + "type": "%a|", + "named": false + }, { "type": "&", "named": false @@ -1866,6 +1932,10 @@ "type": "alias", "named": false }, + { + "type": "annotation_text", + "named": true + }, { "type": "as", "named": false diff --git a/src/parser.c b/src/parser.c index f9f64f1..807c163 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 441 +#define STATE_COUNT 476 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 191 -#define ALIAS_COUNT 7 -#define TOKEN_COUNT 98 +#define SYMBOL_COUNT 203 +#define ALIAS_COUNT 8 +#define TOKEN_COUNT 108 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 6 #define MAX_ALIAS_SEQUENCE_LENGTH 11 -#define PRODUCTION_ID_COUNT 22 +#define PRODUCTION_ID_COUNT 25 enum { sym_identifier = 1, @@ -61,159 +61,172 @@ enum { anon_sym_use = 42, anon_sym_as = 43, anon_sym_STAR = 44, - anon_sym_end = 45, - anon_sym_LT = 46, - anon_sym_module = 47, - anon_sym_EQ2 = 48, - anon_sym_interface = 49, - anon_sym_type = 50, - sym_global_name = 51, - sym_generics_unchecked = 52, - anon_sym_out = 53, - anon_sym_in = 54, - anon_sym_QMARK2 = 55, - anon_sym_STAR_STAR = 56, - anon_sym_DOT = 57, - anon_sym_def = 58, - anon_sym_QMARK_DOT = 59, - anon_sym_DOT_DOT_DOT = 60, - anon_sym_LPAREN_RPAREN = 61, - aux_sym_visibility_member_token1 = 62, - anon_sym_public = 63, - anon_sym_private = 64, - anon_sym_attr_reader = 65, - anon_sym_attr_writer = 66, - anon_sym_attr_accessor = 67, - anon_sym_include = 68, - anon_sym_extend = 69, - anon_sym_prepend = 70, - anon_sym_alias = 71, - sym_ivar_name = 72, - sym_cvar_name = 73, - anon_sym_DOT_DOT = 74, - anon_sym_LT_EQ_GT = 75, - anon_sym_EQ_EQ = 76, - anon_sym_EQ_EQ_EQ = 77, - anon_sym_EQ_TILDE = 78, - anon_sym_GT = 79, - anon_sym_GT_EQ = 80, - anon_sym_LT_EQ = 81, - anon_sym_PLUS = 82, - anon_sym_DASH = 83, - anon_sym_SLASH = 84, - anon_sym_PERCENT = 85, - anon_sym_BANG = 86, - anon_sym_BANG_TILDE = 87, - anon_sym_LT_LT = 88, - anon_sym_GT_GT = 89, - anon_sym_TILDE = 90, - anon_sym_PLUS_AT = 91, - anon_sym_DASH_AT = 92, - anon_sym_TILDE_AT = 93, - anon_sym_LBRACK_RBRACK = 94, - anon_sym_LBRACK_RBRACK_EQ = 95, - anon_sym_BQUOTE = 96, - aux_sym_method_name_token1 = 97, - sym_program = 98, - sym_type = 99, - sym_builtin_type = 100, - sym_class_type = 101, - sym_interface_type = 102, - sym_alias_type = 103, - sym_singleton_type = 104, - sym_union_type = 105, - sym_intersection_type = 106, - sym_optional_type = 107, - sym_tuple_type = 108, - sym__record_type_single = 109, - sym_record_type = 110, - sym_class_name = 111, - sym_interface_name = 112, - sym_alias_name = 113, - sym_type_variable = 114, - sym_namespace = 115, - sym_type_arguments = 116, - sym__literal = 117, - sym_string_literal = 118, - sym_symbol_literal = 119, - sym_proc = 120, - sym_use_directive = 121, - sym_use_clause = 122, - sym__decl = 123, - sym__nestable_decls = 124, - sym_class_decl = 125, - sym_superclass = 126, - sym_module_decl = 127, - sym_module_self_type_binds = 128, - sym_class_alias_decl = 129, - sym_module_alias_decl = 130, - sym_module_self_types = 131, - sym_interface_decl = 132, - sym_interface_member = 133, - sym_type_alias_decl = 134, - sym_const_decl = 135, - sym_const_name = 136, - sym_global_decl = 137, - sym_module_type_parameters = 138, - sym_module_type_parameter = 139, - sym_generics_bound = 140, - sym_bound_type = 141, - sym_generics_variance = 142, - sym_method_type = 143, - sym_parameters = 144, - sym_parameter = 145, - sym_required_positionals = 146, - sym_optional_positionals = 147, - sym_rest_positional = 148, - sym_trailing_positionals = 149, - sym_keywords = 150, - sym_splat_keyword = 151, - sym_required_keywords = 152, - sym_optional_keywords = 153, - sym_var_name = 154, - sym_self_type_binding = 155, - sym_block = 156, - sym__member = 157, - sym_ivar_member = 158, - sym_method_member = 159, - sym_method_types = 160, - sym_method_type_parameters = 161, - sym_attribute_member = 162, - sym_visibility_member = 163, - sym_visibility = 164, - sym_attribyte_type = 165, - sym_include_member = 166, - sym_extend_member = 167, - sym_prepend_member = 168, - sym_singleton_method_name = 169, - sym_alias_member = 170, - sym_operator = 171, - sym_setter = 172, - sym_constant_setter = 173, - sym_identifier_suffix = 174, - sym_constant_suffix = 175, - sym_method_name = 176, - aux_sym_program_repeat1 = 177, - aux_sym_program_repeat2 = 178, - aux_sym_tuple_type_repeat1 = 179, - aux_sym_record_type_repeat1 = 180, - aux_sym_string_literal_repeat1 = 181, - aux_sym_string_literal_repeat2 = 182, - aux_sym_use_directive_repeat1 = 183, - aux_sym_class_decl_repeat1 = 184, - aux_sym_interface_decl_repeat1 = 185, - aux_sym_module_type_parameters_repeat1 = 186, - aux_sym_required_positionals_repeat1 = 187, - aux_sym_optional_positionals_repeat1 = 188, - aux_sym_method_types_repeat1 = 189, - aux_sym_method_type_parameters_repeat1 = 190, - alias_sym_interface_members = 191, - alias_sym_keyword = 192, - alias_sym_members = 193, - alias_sym_module_name = 194, - alias_sym_record_key = 195, - alias_sym_simple_type_name = 196, - alias_sym_type_name = 197, + sym__annotation_text_without_brace = 45, + sym__annotation_text_without_parenthesis = 46, + sym__annotation_text_without_bracket = 47, + sym__annotation_text_without_bar = 48, + sym__annotation_text_without_angle_bracket = 49, + anon_sym_PERCENTa_LBRACE = 50, + anon_sym_PERCENTa_LPAREN = 51, + anon_sym_PERCENTa_LBRACK = 52, + anon_sym_PERCENTa_PIPE = 53, + anon_sym_PERCENTa_LT = 54, + anon_sym_GT = 55, + anon_sym_end = 56, + anon_sym_LT = 57, + anon_sym_module = 58, + anon_sym_EQ2 = 59, + anon_sym_interface = 60, + anon_sym_type = 61, + sym_global_name = 62, + sym_generics_unchecked = 63, + anon_sym_out = 64, + anon_sym_in = 65, + anon_sym_QMARK2 = 66, + anon_sym_STAR_STAR = 67, + anon_sym_DOT = 68, + anon_sym_def = 69, + anon_sym_QMARK_DOT = 70, + anon_sym_DOT_DOT_DOT = 71, + anon_sym_LPAREN_RPAREN = 72, + aux_sym_visibility_member_token1 = 73, + anon_sym_public = 74, + anon_sym_private = 75, + anon_sym_attr_reader = 76, + anon_sym_attr_writer = 77, + anon_sym_attr_accessor = 78, + anon_sym_include = 79, + anon_sym_extend = 80, + anon_sym_prepend = 81, + anon_sym_alias = 82, + sym_ivar_name = 83, + sym_cvar_name = 84, + anon_sym_DOT_DOT = 85, + anon_sym_LT_EQ_GT = 86, + anon_sym_EQ_EQ = 87, + anon_sym_EQ_EQ_EQ = 88, + anon_sym_EQ_TILDE = 89, + anon_sym_GT_EQ = 90, + anon_sym_LT_EQ = 91, + anon_sym_PLUS = 92, + anon_sym_DASH = 93, + anon_sym_SLASH = 94, + anon_sym_PERCENT = 95, + anon_sym_BANG = 96, + anon_sym_BANG_TILDE = 97, + anon_sym_LT_LT = 98, + anon_sym_GT_GT = 99, + anon_sym_TILDE = 100, + anon_sym_PLUS_AT = 101, + anon_sym_DASH_AT = 102, + anon_sym_TILDE_AT = 103, + anon_sym_LBRACK_RBRACK = 104, + anon_sym_LBRACK_RBRACK_EQ = 105, + anon_sym_BQUOTE = 106, + aux_sym_method_name_token1 = 107, + sym_program = 108, + sym_type = 109, + sym_builtin_type = 110, + sym_class_type = 111, + sym_interface_type = 112, + sym_alias_type = 113, + sym_singleton_type = 114, + sym_union_type = 115, + sym_intersection_type = 116, + sym_optional_type = 117, + sym_tuple_type = 118, + sym__record_type_single = 119, + sym_record_type = 120, + sym_class_name = 121, + sym_interface_name = 122, + sym_alias_name = 123, + sym_type_variable = 124, + sym_namespace = 125, + sym_type_arguments = 126, + sym__literal = 127, + sym_string_literal = 128, + sym_symbol_literal = 129, + sym_proc = 130, + sym_use_directive = 131, + sym_use_clause = 132, + sym_annotation = 133, + sym__decl = 134, + sym__nestable_decls = 135, + sym_class_decl = 136, + sym_superclass = 137, + sym_module_decl = 138, + sym_module_self_type_binds = 139, + sym_class_alias_decl = 140, + sym_module_alias_decl = 141, + sym_module_self_types = 142, + sym_interface_decl = 143, + sym_interface_member = 144, + sym_type_alias_decl = 145, + sym_const_decl = 146, + sym_const_name = 147, + sym_global_decl = 148, + sym_module_type_parameters = 149, + sym_module_type_parameter = 150, + sym_generics_bound = 151, + sym_bound_type = 152, + sym_generics_variance = 153, + sym_method_type = 154, + sym_parameters = 155, + sym_parameter = 156, + sym_required_positionals = 157, + sym_optional_positionals = 158, + sym_rest_positional = 159, + sym_trailing_positionals = 160, + sym_keywords = 161, + sym_splat_keyword = 162, + sym_required_keywords = 163, + sym_optional_keywords = 164, + sym_var_name = 165, + sym_self_type_binding = 166, + sym_block = 167, + sym__member = 168, + sym_ivar_member = 169, + sym_method_member = 170, + sym_method_types = 171, + sym_method_type_parameters = 172, + sym_attribute_member = 173, + sym_visibility_member = 174, + sym_visibility = 175, + sym_attribyte_type = 176, + sym_include_member = 177, + sym_extend_member = 178, + sym_prepend_member = 179, + sym_singleton_method_name = 180, + sym_alias_member = 181, + sym_operator = 182, + sym_setter = 183, + sym_constant_setter = 184, + sym_identifier_suffix = 185, + sym_constant_suffix = 186, + sym_method_name = 187, + aux_sym_program_repeat1 = 188, + aux_sym_program_repeat2 = 189, + aux_sym_tuple_type_repeat1 = 190, + aux_sym_record_type_repeat1 = 191, + aux_sym_string_literal_repeat1 = 192, + aux_sym_string_literal_repeat2 = 193, + aux_sym_use_directive_repeat1 = 194, + aux_sym__decl_repeat1 = 195, + aux_sym_class_decl_repeat1 = 196, + aux_sym_interface_decl_repeat1 = 197, + aux_sym_module_type_parameters_repeat1 = 198, + aux_sym_required_positionals_repeat1 = 199, + aux_sym_optional_positionals_repeat1 = 200, + aux_sym_method_types_repeat1 = 201, + aux_sym_method_type_parameters_repeat1 = 202, + alias_sym_annotations = 203, + alias_sym_interface_members = 204, + alias_sym_keyword = 205, + alias_sym_members = 206, + alias_sym_module_name = 207, + alias_sym_record_key = 208, + alias_sym_simple_type_name = 209, + alias_sym_type_name = 210, }; static const char * const ts_symbol_names[] = { @@ -262,6 +275,17 @@ static const char * const ts_symbol_names[] = { [anon_sym_use] = "use", [anon_sym_as] = "as", [anon_sym_STAR] = "*", + [sym__annotation_text_without_brace] = "annotation_text", + [sym__annotation_text_without_parenthesis] = "annotation_text", + [sym__annotation_text_without_bracket] = "_annotation_text_without_bracket", + [sym__annotation_text_without_bar] = "_annotation_text_without_bar", + [sym__annotation_text_without_angle_bracket] = "_annotation_text_without_angle_bracket", + [anon_sym_PERCENTa_LBRACE] = "%a{", + [anon_sym_PERCENTa_LPAREN] = "%a(", + [anon_sym_PERCENTa_LBRACK] = "%a[", + [anon_sym_PERCENTa_PIPE] = "%a|", + [anon_sym_PERCENTa_LT] = "%a<", + [anon_sym_GT] = ">", [anon_sym_end] = "end", [anon_sym_LT] = "<", [anon_sym_module] = "module", @@ -296,7 +320,6 @@ static const char * const ts_symbol_names[] = { [anon_sym_EQ_EQ] = "==", [anon_sym_EQ_EQ_EQ] = "===", [anon_sym_EQ_TILDE] = "=~", - [anon_sym_GT] = ">", [anon_sym_GT_EQ] = ">=", [anon_sym_LT_EQ] = "<=", [anon_sym_PLUS] = "+", @@ -340,6 +363,7 @@ static const char * const ts_symbol_names[] = { [sym_proc] = "proc", [sym_use_directive] = "use_directive", [sym_use_clause] = "use_clause", + [sym_annotation] = "annotation", [sym__decl] = "_decl", [sym__nestable_decls] = "_nestable_decls", [sym_class_decl] = "class_decl", @@ -401,6 +425,7 @@ static const char * const ts_symbol_names[] = { [aux_sym_string_literal_repeat1] = "string_literal_repeat1", [aux_sym_string_literal_repeat2] = "string_literal_repeat2", [aux_sym_use_directive_repeat1] = "use_directive_repeat1", + [aux_sym__decl_repeat1] = "_decl_repeat1", [aux_sym_class_decl_repeat1] = "class_decl_repeat1", [aux_sym_interface_decl_repeat1] = "interface_decl_repeat1", [aux_sym_module_type_parameters_repeat1] = "module_type_parameters_repeat1", @@ -408,6 +433,7 @@ static const char * const ts_symbol_names[] = { [aux_sym_optional_positionals_repeat1] = "optional_positionals_repeat1", [aux_sym_method_types_repeat1] = "method_types_repeat1", [aux_sym_method_type_parameters_repeat1] = "method_type_parameters_repeat1", + [alias_sym_annotations] = "annotations", [alias_sym_interface_members] = "interface_members", [alias_sym_keyword] = "keyword", [alias_sym_members] = "members", @@ -463,6 +489,17 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_use] = anon_sym_use, [anon_sym_as] = anon_sym_as, [anon_sym_STAR] = anon_sym_STAR, + [sym__annotation_text_without_brace] = sym__annotation_text_without_brace, + [sym__annotation_text_without_parenthesis] = sym__annotation_text_without_brace, + [sym__annotation_text_without_bracket] = sym__annotation_text_without_bracket, + [sym__annotation_text_without_bar] = sym__annotation_text_without_bar, + [sym__annotation_text_without_angle_bracket] = sym__annotation_text_without_angle_bracket, + [anon_sym_PERCENTa_LBRACE] = anon_sym_PERCENTa_LBRACE, + [anon_sym_PERCENTa_LPAREN] = anon_sym_PERCENTa_LPAREN, + [anon_sym_PERCENTa_LBRACK] = anon_sym_PERCENTa_LBRACK, + [anon_sym_PERCENTa_PIPE] = anon_sym_PERCENTa_PIPE, + [anon_sym_PERCENTa_LT] = anon_sym_PERCENTa_LT, + [anon_sym_GT] = anon_sym_GT, [anon_sym_end] = anon_sym_end, [anon_sym_LT] = anon_sym_LT, [anon_sym_module] = anon_sym_module, @@ -497,7 +534,6 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, [anon_sym_EQ_EQ_EQ] = anon_sym_EQ_EQ_EQ, [anon_sym_EQ_TILDE] = anon_sym_EQ_TILDE, - [anon_sym_GT] = anon_sym_GT, [anon_sym_GT_EQ] = anon_sym_GT_EQ, [anon_sym_LT_EQ] = anon_sym_LT_EQ, [anon_sym_PLUS] = anon_sym_PLUS, @@ -541,6 +577,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_proc] = sym_proc, [sym_use_directive] = sym_use_directive, [sym_use_clause] = sym_use_clause, + [sym_annotation] = sym_annotation, [sym__decl] = sym__decl, [sym__nestable_decls] = sym__nestable_decls, [sym_class_decl] = sym_class_decl, @@ -602,6 +639,7 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_string_literal_repeat1] = aux_sym_string_literal_repeat1, [aux_sym_string_literal_repeat2] = aux_sym_string_literal_repeat2, [aux_sym_use_directive_repeat1] = aux_sym_use_directive_repeat1, + [aux_sym__decl_repeat1] = aux_sym__decl_repeat1, [aux_sym_class_decl_repeat1] = aux_sym_class_decl_repeat1, [aux_sym_interface_decl_repeat1] = aux_sym_interface_decl_repeat1, [aux_sym_module_type_parameters_repeat1] = aux_sym_module_type_parameters_repeat1, @@ -609,6 +647,7 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_optional_positionals_repeat1] = aux_sym_optional_positionals_repeat1, [aux_sym_method_types_repeat1] = aux_sym_method_types_repeat1, [aux_sym_method_type_parameters_repeat1] = aux_sym_method_type_parameters_repeat1, + [alias_sym_annotations] = alias_sym_annotations, [alias_sym_interface_members] = alias_sym_interface_members, [alias_sym_keyword] = alias_sym_keyword, [alias_sym_members] = alias_sym_members, @@ -799,6 +838,50 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [sym__annotation_text_without_brace] = { + .visible = true, + .named = true, + }, + [sym__annotation_text_without_parenthesis] = { + .visible = true, + .named = true, + }, + [sym__annotation_text_without_bracket] = { + .visible = false, + .named = true, + }, + [sym__annotation_text_without_bar] = { + .visible = false, + .named = true, + }, + [sym__annotation_text_without_angle_bracket] = { + .visible = false, + .named = true, + }, + [anon_sym_PERCENTa_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENTa_LPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENTa_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENTa_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENTa_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT] = { + .visible = true, + .named = false, + }, [anon_sym_end] = { .visible = true, .named = false, @@ -935,10 +1018,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_GT] = { - .visible = true, - .named = false, - }, [anon_sym_GT_EQ] = { .visible = true, .named = false, @@ -1111,6 +1190,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_annotation] = { + .visible = true, + .named = true, + }, [sym__decl] = { .visible = false, .named = true, @@ -1355,6 +1438,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym__decl_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_class_decl_repeat1] = { .visible = false, .named = false, @@ -1383,6 +1470,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [alias_sym_annotations] = { + .visible = true, + .named = true, + }, [alias_sym_interface_members] = { .visible = true, .named = true, @@ -1433,14 +1524,14 @@ static const char * const ts_field_names[] = { }; static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { - [3] = {.index = 0, .length = 2}, - [6] = {.index = 0, .length = 2}, - [9] = {.index = 2, .length = 2}, - [13] = {.index = 4, .length = 2}, - [14] = {.index = 6, .length = 2}, - [17] = {.index = 8, .length = 2}, - [18] = {.index = 10, .length = 4}, - [19] = {.index = 14, .length = 4}, + [4] = {.index = 0, .length = 2}, + [7] = {.index = 0, .length = 2}, + [10] = {.index = 2, .length = 2}, + [14] = {.index = 4, .length = 2}, + [15] = {.index = 6, .length = 2}, + [18] = {.index = 8, .length = 2}, + [19] = {.index = 10, .length = 4}, + [20] = {.index = 14, .length = 4}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -1477,52 +1568,61 @@ static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE [0] = alias_sym_type_name, }, [2] = { + [0] = alias_sym_annotations, + }, + [3] = { [1] = alias_sym_module_name, }, - [4] = { + [5] = { [2] = alias_sym_members, }, - [5] = { + [6] = { [0] = alias_sym_type_name, [2] = alias_sym_simple_type_name, }, - [6] = { + [7] = { [1] = alias_sym_module_name, [3] = alias_sym_module_name, }, - [7] = { + [8] = { [1] = alias_sym_module_name, [2] = alias_sym_members, }, - [8] = { + [9] = { [2] = alias_sym_interface_members, }, - [10] = { + [11] = { [3] = alias_sym_members, }, - [11] = { + [12] = { [1] = alias_sym_module_name, [3] = alias_sym_members, }, - [12] = { + [13] = { [3] = alias_sym_interface_members, }, - [15] = { + [16] = { [4] = alias_sym_members, }, - [16] = { + [17] = { [1] = alias_sym_module_name, [4] = alias_sym_members, }, - [17] = { + [18] = { [0] = alias_sym_record_key, }, - [20] = { + [21] = { [0] = alias_sym_keyword, }, - [21] = { + [22] = { + [1] = alias_sym_annotations, + }, + [23] = { [1] = alias_sym_keyword, }, + [24] = { + [2] = alias_sym_annotations, + }, }; static const uint16_t ts_non_terminal_alias_map[] = { @@ -1533,6 +1633,9 @@ static const uint16_t ts_non_terminal_alias_map[] = { sym_var_name, 2, sym_var_name, alias_sym_keyword, + aux_sym__decl_repeat1, 2, + aux_sym__decl_repeat1, + alias_sym_annotations, aux_sym_class_decl_repeat1, 2, aux_sym_class_decl_repeat1, alias_sym_members, @@ -1609,21 +1712,21 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [63] = 63, [64] = 64, [65] = 65, - [66] = 66, + [66] = 65, [67] = 67, [68] = 68, [69] = 69, - [70] = 69, + [70] = 70, [71] = 71, - [72] = 72, - [73] = 73, + [72] = 71, + [73] = 71, [74] = 74, [75] = 75, [76] = 76, [77] = 76, [78] = 78, [79] = 79, - [80] = 79, + [80] = 80, [81] = 81, [82] = 82, [83] = 83, @@ -1695,12 +1798,12 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [149] = 149, [150] = 150, [151] = 151, - [152] = 152, + [152] = 125, [153] = 153, [154] = 154, - [155] = 86, + [155] = 155, [156] = 156, - [157] = 157, + [157] = 124, [158] = 158, [159] = 159, [160] = 160, @@ -1709,7 +1812,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [163] = 163, [164] = 164, [165] = 165, - [166] = 85, + [166] = 166, [167] = 167, [168] = 168, [169] = 169, @@ -1724,34 +1827,34 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [178] = 178, [179] = 179, [180] = 180, - [181] = 66, + [181] = 181, [182] = 182, - [183] = 67, + [183] = 183, [184] = 184, - [185] = 56, + [185] = 185, [186] = 186, [187] = 187, [188] = 188, - [189] = 63, + [189] = 189, [190] = 190, [191] = 191, [192] = 192, [193] = 193, - [194] = 194, - [195] = 62, - [196] = 196, + [194] = 93, + [195] = 85, + [196] = 90, [197] = 197, [198] = 198, - [199] = 60, + [199] = 89, [200] = 200, [201] = 201, - [202] = 202, - [203] = 203, - [204] = 86, + [202] = 88, + [203] = 86, + [204] = 204, [205] = 205, [206] = 206, [207] = 207, - [208] = 85, + [208] = 208, [209] = 209, [210] = 210, [211] = 211, @@ -1786,8 +1889,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [240] = 240, [241] = 241, [242] = 242, - [243] = 243, - [244] = 244, + [243] = 124, + [244] = 125, [245] = 245, [246] = 246, [247] = 247, @@ -1812,8 +1915,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [266] = 266, [267] = 267, [268] = 268, - [269] = 269, - [270] = 270, + [269] = 125, + [270] = 124, [271] = 271, [272] = 272, [273] = 273, @@ -1888,7 +1991,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [342] = 342, [343] = 343, [344] = 344, - [345] = 338, + [345] = 345, [346] = 346, [347] = 347, [348] = 348, @@ -1934,7 +2037,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [388] = 388, [389] = 389, [390] = 390, - [391] = 391, + [391] = 360, [392] = 392, [393] = 393, [394] = 394, @@ -1968,7 +2071,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [422] = 422, [423] = 423, [424] = 424, - [425] = 250, + [425] = 425, [426] = 426, [427] = 427, [428] = 428, @@ -1982,8 +2085,43 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [436] = 436, [437] = 437, [438] = 438, - [439] = 416, + [439] = 439, [440] = 440, + [441] = 441, + [442] = 442, + [443] = 443, + [444] = 444, + [445] = 445, + [446] = 446, + [447] = 447, + [448] = 448, + [449] = 449, + [450] = 450, + [451] = 451, + [452] = 452, + [453] = 453, + [454] = 454, + [455] = 455, + [456] = 277, + [457] = 457, + [458] = 458, + [459] = 459, + [460] = 460, + [461] = 461, + [462] = 462, + [463] = 463, + [464] = 464, + [465] = 465, + [466] = 466, + [467] = 467, + [468] = 468, + [469] = 469, + [470] = 470, + [471] = 471, + [472] = 472, + [473] = 419, + [474] = 419, + [475] = 475, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1991,954 +2129,1156 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(60); - if (lookahead == '!') ADVANCE(135); - if (lookahead == '"') ADVANCE(77); - if (lookahead == '#') ADVANCE(65); - if (lookahead == '$') ADVANCE(45); - if (lookahead == '%') ADVANCE(134); - if (lookahead == '&') ADVANCE(67); - if (lookahead == '\'') ADVANCE(78); - if (lookahead == '(') ADVANCE(63); - if (lookahead == ')') ADVANCE(64); - if (lookahead == '*') ADVANCE(108); - if (lookahead == '+') ADVANCE(131); - if (lookahead == ',') ADVANCE(70); - if (lookahead == '-') ADVANCE(132); - if (lookahead == '.') ADVANCE(116); - if (lookahead == '/') ADVANCE(133); - if (lookahead == ':') ADVANCE(73); - if (lookahead == '<') ADVANCE(110); - if (lookahead == '=') ADVANCE(89); - if (lookahead == '>') ADVANCE(128); - if (lookahead == '?') ADVANCE(68); - if (lookahead == '@') ADVANCE(33); - if (lookahead == '[') ADVANCE(69); - if (lookahead == '\\') SKIP(50) - if (lookahead == ']') ADVANCE(71); - if (lookahead == '^') ADVANCE(105); - if (lookahead == '`') ADVANCE(145); - if (lookahead == '{') ADVANCE(74); - if (lookahead == '|') ADVANCE(66); - if (lookahead == '}') ADVANCE(75); - if (lookahead == '~') ADVANCE(139); + if (eof) ADVANCE(65); + if (lookahead == '!') ADVANCE(162); + if (lookahead == '"') ADVANCE(82); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '$') ADVANCE(47); + if (lookahead == '%') ADVANCE(161); + if (lookahead == '&') ADVANCE(72); + if (lookahead == '\'') ADVANCE(83); + if (lookahead == '(') ADVANCE(68); + if (lookahead == ')') ADVANCE(69); + if (lookahead == '*') ADVANCE(113); + if (lookahead == '+') ADVANCE(158); + if (lookahead == ',') ADVANCE(75); + if (lookahead == '-') ADVANCE(159); + if (lookahead == '.') ADVANCE(144); + if (lookahead == '/') ADVANCE(160); + if (lookahead == ':') ADVANCE(78); + if (lookahead == '<') ADVANCE(138); + if (lookahead == '=') ADVANCE(94); + if (lookahead == '>') ADVANCE(136); + if (lookahead == '?') ADVANCE(73); + if (lookahead == '@') ADVANCE(34); + if (lookahead == '[') ADVANCE(74); + if (lookahead == '\\') SKIP(52) + if (lookahead == ']') ADVANCE(76); + if (lookahead == '^') ADVANCE(110); + if (lookahead == '`') ADVANCE(172); + if (lookahead == '{') ADVANCE(79); + if (lookahead == '|') ADVANCE(71); + if (lookahead == '}') ADVANCE(80); + if (lookahead == '~') ADVANCE(166); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(55) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(61); + lookahead == ' ') SKIP(59) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(103); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(66); if (lookahead != 0 && - lookahead > ';') ADVANCE(147); + lookahead > ';') ADVANCE(174); END_STATE(); case 1: - if (lookahead == '\n') SKIP(17) + if (lookahead == '\n') SKIP(13) END_STATE(); case 2: - if (lookahead == '\n') SKIP(17) + if (lookahead == '\n') SKIP(13) if (lookahead == '\r') SKIP(1) END_STATE(); case 3: - if (lookahead == '\n') SKIP(15) + if (lookahead == '\n') SKIP(17) END_STATE(); case 4: - if (lookahead == '\n') SKIP(15) + if (lookahead == '\n') SKIP(17) if (lookahead == '\r') SKIP(3) END_STATE(); case 5: - if (lookahead == '\n') SKIP(20) - END_STATE(); - case 6: - if (lookahead == '\n') SKIP(20) - if (lookahead == '\r') SKIP(5) - END_STATE(); - case 7: - if (lookahead == '\n') ADVANCE(120); - if (lookahead == '#') ADVANCE(65); - if (lookahead == '\\') SKIP(9) + if (lookahead == '\n') ADVANCE(148); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '\\') SKIP(7) if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') SKIP(22) + lookahead == ' ') SKIP(19) if (lookahead != 0 && lookahead > '^' && lookahead != '`' && - (lookahead < '{' || '~' < lookahead)) ADVANCE(147); + (lookahead < '{' || '~' < lookahead)) ADVANCE(174); + END_STATE(); + case 6: + if (lookahead == '\n') SKIP(19) + END_STATE(); + case 7: + if (lookahead == '\n') SKIP(19) + if (lookahead == '\r') SKIP(6) END_STATE(); case 8: - if (lookahead == '\n') SKIP(22) + if (lookahead == '\n') ADVANCE(105); + if (lookahead == '\r') ADVANCE(104); + if (lookahead == 'u') ADVANCE(39); + if (lookahead == 'x') ADVANCE(43); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(108); + if (lookahead != 0) ADVANCE(104); END_STATE(); case 9: - if (lookahead == '\n') SKIP(22) - if (lookahead == '\r') SKIP(8) + if (lookahead == '\n') SKIP(18) END_STATE(); case 10: - if (lookahead == '\n') ADVANCE(100); - if (lookahead == '\r') ADVANCE(99); - if (lookahead == 'u') ADVANCE(37); - if (lookahead == 'x') ADVANCE(41); - if (('0' <= lookahead && lookahead <= '7')) ADVANCE(103); - if (lookahead != 0) ADVANCE(99); + if (lookahead == '\n') SKIP(18) + if (lookahead == '\r') SKIP(9) END_STATE(); case 11: - if (lookahead == '\n') SKIP(21) + if (lookahead == '\n') ADVANCE(106); + if (lookahead == '\r') ADVANCE(104); + if (lookahead == 'u') ADVANCE(39); + if (lookahead == 'x') ADVANCE(43); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(108); + if (lookahead != 0) ADVANCE(104); END_STATE(); case 12: - if (lookahead == '\n') SKIP(21) - if (lookahead == '\r') SKIP(11) - END_STATE(); - case 13: - if (lookahead == '\n') ADVANCE(101); - if (lookahead == '\r') ADVANCE(99); - if (lookahead == 'u') ADVANCE(37); - if (lookahead == 'x') ADVANCE(41); - if (('0' <= lookahead && lookahead <= '7')) ADVANCE(103); - if (lookahead != 0) ADVANCE(99); - END_STATE(); - case 14: - if (lookahead == '!') ADVANCE(135); - if (lookahead == '#') ADVANCE(65); - if (lookahead == '%') ADVANCE(134); - if (lookahead == '&') ADVANCE(67); - if (lookahead == '(') ADVANCE(63); - if (lookahead == ')') ADVANCE(64); - if (lookahead == '*') ADVANCE(108); - if (lookahead == '+') ADVANCE(131); - if (lookahead == ',') ADVANCE(70); - if (lookahead == '-') ADVANCE(132); - if (lookahead == '.') ADVANCE(26); - if (lookahead == '/') ADVANCE(133); - if (lookahead == ':') ADVANCE(72); - if (lookahead == '<') ADVANCE(110); - if (lookahead == '=') ADVANCE(89); - if (lookahead == '>') ADVANCE(128); - if (lookahead == '?') ADVANCE(68); - if (lookahead == '[') ADVANCE(35); - if (lookahead == '\\') SKIP(4) - if (lookahead == '^') ADVANCE(105); - if (lookahead == '`') ADVANCE(145); - if (lookahead == '|') ADVANCE(66); - if (lookahead == '~') ADVANCE(139); + if (lookahead == '!') ADVANCE(162); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '%') ADVANCE(161); + if (lookahead == '&') ADVANCE(72); + if (lookahead == '(') ADVANCE(68); + if (lookahead == ')') ADVANCE(69); + if (lookahead == '*') ADVANCE(113); + if (lookahead == '+') ADVANCE(158); + if (lookahead == ',') ADVANCE(75); + if (lookahead == '-') ADVANCE(159); + if (lookahead == '.') ADVANCE(27); + if (lookahead == '/') ADVANCE(160); + if (lookahead == ':') ADVANCE(77); + if (lookahead == '<') ADVANCE(138); + if (lookahead == '=') ADVANCE(94); + if (lookahead == '>') ADVANCE(136); + if (lookahead == '?') ADVANCE(73); + if (lookahead == '[') ADVANCE(36); + if (lookahead == '\\') SKIP(2) + if (lookahead == '^') ADVANCE(110); + if (lookahead == '`') ADVANCE(172); + if (lookahead == '|') ADVANCE(71); + if (lookahead == '~') ADVANCE(166); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(15) - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(61); + lookahead == ' ') SKIP(13) + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(66); if (lookahead != 0 && lookahead > ']' && - (lookahead < '{' || '}' < lookahead)) ADVANCE(147); + (lookahead < '{' || '}' < lookahead)) ADVANCE(174); END_STATE(); - case 15: - if (lookahead == '!') ADVANCE(135); - if (lookahead == '#') ADVANCE(65); - if (lookahead == '%') ADVANCE(134); - if (lookahead == '&') ADVANCE(67); - if (lookahead == '(') ADVANCE(63); - if (lookahead == ')') ADVANCE(64); - if (lookahead == '*') ADVANCE(108); - if (lookahead == '+') ADVANCE(131); - if (lookahead == ',') ADVANCE(70); - if (lookahead == '-') ADVANCE(132); - if (lookahead == '.') ADVANCE(26); - if (lookahead == '/') ADVANCE(133); - if (lookahead == ':') ADVANCE(72); - if (lookahead == '<') ADVANCE(110); - if (lookahead == '=') ADVANCE(30); - if (lookahead == '>') ADVANCE(128); - if (lookahead == '[') ADVANCE(35); - if (lookahead == '\\') SKIP(4) - if (lookahead == '^') ADVANCE(105); - if (lookahead == '`') ADVANCE(145); - if (lookahead == '|') ADVANCE(66); - if (lookahead == '~') ADVANCE(139); + case 13: + if (lookahead == '!') ADVANCE(162); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '%') ADVANCE(161); + if (lookahead == '&') ADVANCE(72); + if (lookahead == '(') ADVANCE(68); + if (lookahead == ')') ADVANCE(69); + if (lookahead == '*') ADVANCE(113); + if (lookahead == '+') ADVANCE(158); + if (lookahead == ',') ADVANCE(75); + if (lookahead == '-') ADVANCE(159); + if (lookahead == '.') ADVANCE(27); + if (lookahead == '/') ADVANCE(160); + if (lookahead == ':') ADVANCE(77); + if (lookahead == '<') ADVANCE(138); + if (lookahead == '=') ADVANCE(31); + if (lookahead == '>') ADVANCE(136); + if (lookahead == '[') ADVANCE(36); + if (lookahead == '\\') SKIP(2) + if (lookahead == '^') ADVANCE(110); + if (lookahead == '`') ADVANCE(172); + if (lookahead == '|') ADVANCE(71); + if (lookahead == '~') ADVANCE(166); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(15) - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(61); + lookahead == ' ') SKIP(13) + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(66); if (lookahead != 0 && lookahead > ']' && - (lookahead < '{' || '}' < lookahead)) ADVANCE(147); + (lookahead < '{' || '}' < lookahead)) ADVANCE(174); END_STATE(); - case 16: - if (lookahead == '!') ADVANCE(96); - if (lookahead == '"') ADVANCE(85); + case 14: + if (lookahead == '!') ADVANCE(101); + if (lookahead == '"') ADVANCE(90); if (lookahead == '%' || lookahead == '&' || lookahead == '/' || lookahead == '^' || lookahead == '`' || - lookahead == '|') ADVANCE(90); - if (lookahead == '\'') ADVANCE(86); - if (lookahead == '*') ADVANCE(91); - if (lookahead == '+') ADVANCE(95); - if (lookahead == '-') ADVANCE(95); - if (lookahead == '.') ADVANCE(24); - if (lookahead == ':') ADVANCE(76); - if (lookahead == '<') ADVANCE(92); - if (lookahead == '=') ADVANCE(31); - if (lookahead == '>') ADVANCE(97); - if (lookahead == '[') ADVANCE(34); - if (lookahead == '~') ADVANCE(95); + lookahead == '|') ADVANCE(95); + if (lookahead == '\'') ADVANCE(91); + if (lookahead == '*') ADVANCE(96); + if (lookahead == '+') ADVANCE(100); + if (lookahead == '-') ADVANCE(100); + if (lookahead == '.') ADVANCE(25); + if (lookahead == ':') ADVANCE(81); + if (lookahead == '<') ADVANCE(97); + if (lookahead == '=') ADVANCE(32); + if (lookahead == '>') ADVANCE(102); + if (lookahead == '[') ADVANCE(35); + if (lookahead == '~') ADVANCE(100); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(92); + END_STATE(); + case 15: + if (lookahead == '"') ADVANCE(82); + if (lookahead == '#') ADVANCE(84); + if (lookahead == '\\') ADVANCE(11); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(85); + if (lookahead != 0) ADVANCE(86); + END_STATE(); + case 16: + if (lookahead == '#') ADVANCE(70); + if (lookahead == '&') ADVANCE(72); + if (lookahead == '(') ADVANCE(68); + if (lookahead == ')') ADVANCE(69); + if (lookahead == ',') ADVANCE(75); + if (lookahead == ':') ADVANCE(77); + if (lookahead == '=') ADVANCE(93); + if (lookahead == '?') ADVANCE(73); + if (lookahead == '[') ADVANCE(74); + if (lookahead == '\\') SKIP(4) + if (lookahead == '|') ADVANCE(71); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(17) + if (lookahead != 0 && + lookahead > '^' && + lookahead != '`' && + (lookahead < '{' || '~' < lookahead)) ADVANCE(174); END_STATE(); case 17: - if (lookahead == '"') ADVANCE(77); - if (lookahead == '#') ADVANCE(65); - if (lookahead == '\'') ADVANCE(78); - if (lookahead == '(') ADVANCE(62); - if (lookahead == ')') ADVANCE(64); - if (lookahead == '*') ADVANCE(108); - if (lookahead == ',') ADVANCE(70); - if (lookahead == '-') ADVANCE(32); - if (lookahead == '.') ADVANCE(28); - if (lookahead == ':') ADVANCE(16); - if (lookahead == '<') ADVANCE(109); - if (lookahead == '=') ADVANCE(111); - if (lookahead == '?') ADVANCE(114); - if (lookahead == '@') ADVANCE(33); - if (lookahead == '[') ADVANCE(69); - if (lookahead == '\\') SKIP(2) - if (lookahead == ']') ADVANCE(71); - if (lookahead == '^') ADVANCE(105); - if (lookahead == '{') ADVANCE(74); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '&') ADVANCE(72); + if (lookahead == '(') ADVANCE(68); + if (lookahead == ')') ADVANCE(69); + if (lookahead == ',') ADVANCE(75); + if (lookahead == ':') ADVANCE(77); + if (lookahead == '[') ADVANCE(74); + if (lookahead == '\\') SKIP(4) + if (lookahead == '|') ADVANCE(71); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(17) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(61); if (lookahead != 0 && - lookahead > '>' && + lookahead > '^' && lookahead != '`' && - (lookahead < '|' || '~' < lookahead)) ADVANCE(147); + (lookahead < '{' || '~' < lookahead)) ADVANCE(174); END_STATE(); case 18: - if (lookahead == '"') ADVANCE(77); - if (lookahead == '#') ADVANCE(79); - if (lookahead == '\\') ADVANCE(10); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '.') ADVANCE(144); + if (lookahead == '?') ADVANCE(28); + if (lookahead == '\\') SKIP(10) if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(80); - if (lookahead != 0) ADVANCE(81); + lookahead == ' ') SKIP(18) END_STATE(); case 19: - if (lookahead == '#') ADVANCE(65); - if (lookahead == '&') ADVANCE(67); - if (lookahead == '(') ADVANCE(63); - if (lookahead == ')') ADVANCE(64); - if (lookahead == ',') ADVANCE(70); - if (lookahead == ':') ADVANCE(72); - if (lookahead == '=') ADVANCE(88); - if (lookahead == '?') ADVANCE(68); - if (lookahead == '[') ADVANCE(69); - if (lookahead == '\\') SKIP(6) - if (lookahead == '|') ADVANCE(66); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '\\') SKIP(7) if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(20) + lookahead == ' ') SKIP(19) if (lookahead != 0 && lookahead > '^' && lookahead != '`' && - (lookahead < '{' || '~' < lookahead)) ADVANCE(147); + (lookahead < '{' || '~' < lookahead)) ADVANCE(174); END_STATE(); case 20: - if (lookahead == '#') ADVANCE(65); - if (lookahead == '&') ADVANCE(67); - if (lookahead == '(') ADVANCE(63); - if (lookahead == ')') ADVANCE(64); - if (lookahead == ',') ADVANCE(70); - if (lookahead == ':') ADVANCE(72); - if (lookahead == '[') ADVANCE(69); - if (lookahead == '\\') SKIP(6) - if (lookahead == '|') ADVANCE(66); + if (lookahead == '#') ADVANCE(87); + if (lookahead == '\'') ADVANCE(83); + if (lookahead == '\\') ADVANCE(8); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(20) - if (lookahead != 0 && - lookahead > '^' && - lookahead != '`' && - (lookahead < '{' || '~' < lookahead)) ADVANCE(147); + lookahead == ' ') ADVANCE(88); + if (lookahead != 0) ADVANCE(89); END_STATE(); case 21: - if (lookahead == '#') ADVANCE(65); - if (lookahead == '.') ADVANCE(116); - if (lookahead == '?') ADVANCE(27); - if (lookahead == '\\') SKIP(12) + if (lookahead == '#') ADVANCE(129); + if (lookahead == '\\') ADVANCE(129); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(21) + lookahead == ' ') ADVANCE(128); + if (lookahead != 0 && + lookahead != 0 && + lookahead != '>') ADVANCE(129); END_STATE(); case 22: - if (lookahead == '#') ADVANCE(65); - if (lookahead == '\\') SKIP(9) + if (lookahead == '#') ADVANCE(127); + if (lookahead == '\\') ADVANCE(127); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(22) + lookahead == ' ') ADVANCE(126); if (lookahead != 0 && - lookahead > '^' && - lookahead != '`' && - (lookahead < '{' || '~' < lookahead)) ADVANCE(147); + lookahead != 0 && + lookahead != '|') ADVANCE(127); END_STATE(); case 23: - if (lookahead == '#') ADVANCE(82); - if (lookahead == '\'') ADVANCE(78); - if (lookahead == '\\') ADVANCE(13); + if (lookahead == '#') ADVANCE(125); + if (lookahead == '\\') ADVANCE(125); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(83); - if (lookahead != 0) ADVANCE(84); + lookahead == ' ') ADVANCE(124); + if (lookahead != 0 && + lookahead != 0) ADVANCE(125); END_STATE(); case 24: - if (lookahead == '.') ADVANCE(90); + if (lookahead == '(') ADVANCE(131); + if (lookahead == '<') ADVANCE(134); + if (lookahead == '[') ADVANCE(132); + if (lookahead == '{') ADVANCE(130); + if (lookahead == '|') ADVANCE(133); END_STATE(); case 25: - if (lookahead == '.') ADVANCE(118); + if (lookahead == '.') ADVANCE(95); END_STATE(); case 26: - if (lookahead == '.') ADVANCE(123); + if (lookahead == '.') ADVANCE(146); END_STATE(); case 27: - if (lookahead == '.') ADVANCE(117); + if (lookahead == '.') ADVANCE(151); END_STATE(); case 28: - if (lookahead == '.') ADVANCE(25); + if (lookahead == '.') ADVANCE(145); END_STATE(); case 29: - if (lookahead == ':') ADVANCE(76); + if (lookahead == '.') ADVANCE(26); END_STATE(); case 30: - if (lookahead == '=') ADVANCE(125); - if (lookahead == '~') ADVANCE(127); + if (lookahead == ':') ADVANCE(81); END_STATE(); case 31: - if (lookahead == '=') ADVANCE(93); - if (lookahead == '~') ADVANCE(90); + if (lookahead == '=') ADVANCE(153); + if (lookahead == '~') ADVANCE(155); END_STATE(); case 32: - if (lookahead == '>') ADVANCE(106); + if (lookahead == '=') ADVANCE(98); + if (lookahead == '~') ADVANCE(95); END_STATE(); case 33: - if (lookahead == '@') ADVANCE(46); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(121); + if (lookahead == '>') ADVANCE(111); END_STATE(); case 34: - if (lookahead == ']') ADVANCE(93); + if (lookahead == '@') ADVANCE(48); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(149); END_STATE(); case 35: - if (lookahead == ']') ADVANCE(143); + if (lookahead == ']') ADVANCE(98); END_STATE(); case 36: - if (lookahead == '`') ADVANCE(146); - if (lookahead != 0) ADVANCE(36); + if (lookahead == ']') ADVANCE(170); END_STATE(); case 37: - if (lookahead == '{') ADVANCE(44); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(43); + if (lookahead == '`') ADVANCE(173); + if (lookahead != 0) ADVANCE(37); END_STATE(); case 38: - if (lookahead == '}') ADVANCE(99); - if (lookahead == ' ' || - ('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(38); + if (lookahead == 'a') ADVANCE(24); END_STATE(); case 39: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98); + if (lookahead == '{') ADVANCE(46); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(45); END_STATE(); case 40: - if (('0' <= lookahead && lookahead <= '9') || + if (lookahead == '}') ADVANCE(104); + if (lookahead == ' ' || + ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(99); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(40); END_STATE(); case 41: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(103); + END_STATE(); + case 42: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(104); END_STATE(); - case 42: + case 43: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(40); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(109); END_STATE(); - case 43: + case 44: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(42); END_STATE(); - case 44: + case 45: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(44); + END_STATE(); + case 46: if (lookahead == ' ' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(38); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(40); END_STATE(); - case 45: + case 47: if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(47); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(49); END_STATE(); - case 46: + case 48: if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(48); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50); END_STATE(); - case 47: + case 49: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); END_STATE(); - case 48: + case 50: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); - END_STATE(); - case 49: - if (eof) ADVANCE(60); - if (lookahead == '\n') SKIP(55) - END_STATE(); - case 50: - if (eof) ADVANCE(60); - if (lookahead == '\n') SKIP(55) - if (lookahead == '\r') SKIP(49) + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(150); END_STATE(); case 51: - if (eof) ADVANCE(60); - if (lookahead == '\n') SKIP(57) + if (eof) ADVANCE(65); + if (lookahead == '\n') SKIP(59) END_STATE(); case 52: - if (eof) ADVANCE(60); - if (lookahead == '\n') SKIP(57) + if (eof) ADVANCE(65); + if (lookahead == '\n') SKIP(59) if (lookahead == '\r') SKIP(51) END_STATE(); case 53: - if (eof) ADVANCE(60); - if (lookahead == '\n') SKIP(59) + if (eof) ADVANCE(65); + if (lookahead == '\n') SKIP(60) END_STATE(); case 54: - if (eof) ADVANCE(60); - if (lookahead == '\n') SKIP(59) + if (eof) ADVANCE(65); + if (lookahead == '\n') SKIP(60) if (lookahead == '\r') SKIP(53) END_STATE(); case 55: - if (eof) ADVANCE(60); - if (lookahead == '!') ADVANCE(135); - if (lookahead == '"') ADVANCE(77); - if (lookahead == '#') ADVANCE(65); - if (lookahead == '$') ADVANCE(45); - if (lookahead == '%') ADVANCE(134); - if (lookahead == '&') ADVANCE(67); - if (lookahead == '\'') ADVANCE(78); - if (lookahead == '(') ADVANCE(63); - if (lookahead == ')') ADVANCE(64); - if (lookahead == '*') ADVANCE(108); - if (lookahead == '+') ADVANCE(131); - if (lookahead == ',') ADVANCE(70); - if (lookahead == '-') ADVANCE(132); - if (lookahead == '.') ADVANCE(116); - if (lookahead == '/') ADVANCE(133); - if (lookahead == ':') ADVANCE(73); - if (lookahead == '<') ADVANCE(110); - if (lookahead == '=') ADVANCE(112); - if (lookahead == '>') ADVANCE(128); - if (lookahead == '?') ADVANCE(114); - if (lookahead == '@') ADVANCE(33); - if (lookahead == '[') ADVANCE(69); - if (lookahead == '\\') SKIP(50) - if (lookahead == ']') ADVANCE(71); - if (lookahead == '^') ADVANCE(105); - if (lookahead == '`') ADVANCE(145); - if (lookahead == '{') ADVANCE(74); - if (lookahead == '|') ADVANCE(66); - if (lookahead == '}') ADVANCE(75); - if (lookahead == '~') ADVANCE(139); + if (eof) ADVANCE(65); + if (lookahead == '\n') SKIP(62) + END_STATE(); + case 56: + if (eof) ADVANCE(65); + if (lookahead == '\n') SKIP(62) + if (lookahead == '\r') SKIP(55) + END_STATE(); + case 57: + if (eof) ADVANCE(65); + if (lookahead == '\n') SKIP(64) + END_STATE(); + case 58: + if (eof) ADVANCE(65); + if (lookahead == '\n') SKIP(64) + if (lookahead == '\r') SKIP(57) + END_STATE(); + case 59: + if (eof) ADVANCE(65); + if (lookahead == '!') ADVANCE(162); + if (lookahead == '"') ADVANCE(82); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '$') ADVANCE(47); + if (lookahead == '%') ADVANCE(161); + if (lookahead == '&') ADVANCE(72); + if (lookahead == '\'') ADVANCE(83); + if (lookahead == '(') ADVANCE(68); + if (lookahead == ')') ADVANCE(69); + if (lookahead == '*') ADVANCE(113); + if (lookahead == '+') ADVANCE(158); + if (lookahead == ',') ADVANCE(75); + if (lookahead == '-') ADVANCE(159); + if (lookahead == '.') ADVANCE(144); + if (lookahead == '/') ADVANCE(160); + if (lookahead == ':') ADVANCE(78); + if (lookahead == '<') ADVANCE(138); + if (lookahead == '=') ADVANCE(140); + if (lookahead == '>') ADVANCE(136); + if (lookahead == '?') ADVANCE(142); + if (lookahead == '@') ADVANCE(34); + if (lookahead == '[') ADVANCE(74); + if (lookahead == '\\') SKIP(52) + if (lookahead == ']') ADVANCE(76); + if (lookahead == '^') ADVANCE(110); + if (lookahead == '`') ADVANCE(172); + if (lookahead == '{') ADVANCE(79); + if (lookahead == '|') ADVANCE(71); + if (lookahead == '}') ADVANCE(80); + if (lookahead == '~') ADVANCE(166); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(59) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(103); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(66); + if (lookahead != 0 && + lookahead > ';') ADVANCE(174); + END_STATE(); + case 60: + if (eof) ADVANCE(65); + if (lookahead == '"') ADVANCE(82); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '$') ADVANCE(47); + if (lookahead == '%') ADVANCE(38); + if (lookahead == '\'') ADVANCE(83); + if (lookahead == '(') ADVANCE(67); + if (lookahead == ')') ADVANCE(69); + if (lookahead == '*') ADVANCE(113); + if (lookahead == ',') ADVANCE(75); + if (lookahead == '-') ADVANCE(33); + if (lookahead == '.') ADVANCE(29); + if (lookahead == ':') ADVANCE(14); + if (lookahead == '<') ADVANCE(137); + if (lookahead == '=') ADVANCE(139); + if (lookahead == '>') ADVANCE(135); + if (lookahead == '?') ADVANCE(142); + if (lookahead == '@') ADVANCE(34); + if (lookahead == '[') ADVANCE(74); + if (lookahead == '\\') SKIP(54) + if (lookahead == ']') ADVANCE(76); + if (lookahead == '^') ADVANCE(110); + if (lookahead == '{') ADVANCE(79); + if (lookahead == '|') ADVANCE(71); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(55) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(61); + lookahead == ' ') SKIP(60) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(103); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(66); if (lookahead != 0 && - lookahead > ';') ADVANCE(147); + lookahead > ';' && + lookahead != '`' && + lookahead != '}' && + lookahead != '~') ADVANCE(174); END_STATE(); - case 56: - if (eof) ADVANCE(60); - if (lookahead == '#') ADVANCE(65); - if (lookahead == '$') ADVANCE(45); - if (lookahead == '&') ADVANCE(67); - if (lookahead == ')') ADVANCE(64); - if (lookahead == '*') ADVANCE(107); - if (lookahead == ',') ADVANCE(70); - if (lookahead == ':') ADVANCE(73); - if (lookahead == '<') ADVANCE(109); - if (lookahead == '=') ADVANCE(111); - if (lookahead == '?') ADVANCE(68); - if (lookahead == '@') ADVANCE(33); - if (lookahead == '[') ADVANCE(69); - if (lookahead == '\\') SKIP(52) - if (lookahead == ']') ADVANCE(71); - if (lookahead == '|') ADVANCE(66); - if (lookahead == '}') ADVANCE(75); + case 61: + if (eof) ADVANCE(65); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '$') ADVANCE(47); + if (lookahead == '%') ADVANCE(38); + if (lookahead == '&') ADVANCE(72); + if (lookahead == ')') ADVANCE(69); + if (lookahead == '*') ADVANCE(112); + if (lookahead == ',') ADVANCE(75); + if (lookahead == ':') ADVANCE(78); + if (lookahead == '<') ADVANCE(137); + if (lookahead == '=') ADVANCE(139); + if (lookahead == '?') ADVANCE(73); + if (lookahead == '@') ADVANCE(34); + if (lookahead == '[') ADVANCE(74); + if (lookahead == '\\') SKIP(56) + if (lookahead == ']') ADVANCE(76); + if (lookahead == '|') ADVANCE(71); + if (lookahead == '}') ADVANCE(80); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(57) - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(61); + lookahead == ' ') SKIP(62) + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(66); if (lookahead != 0 && lookahead > '^' && lookahead != '`' && - (lookahead < '{' || '~' < lookahead)) ADVANCE(147); + (lookahead < '{' || '~' < lookahead)) ADVANCE(174); END_STATE(); - case 57: - if (eof) ADVANCE(60); - if (lookahead == '#') ADVANCE(65); - if (lookahead == '$') ADVANCE(45); - if (lookahead == '&') ADVANCE(67); - if (lookahead == ')') ADVANCE(64); - if (lookahead == '*') ADVANCE(107); - if (lookahead == ',') ADVANCE(70); - if (lookahead == ':') ADVANCE(73); - if (lookahead == '<') ADVANCE(109); - if (lookahead == '=') ADVANCE(111); - if (lookahead == '@') ADVANCE(33); - if (lookahead == '[') ADVANCE(69); - if (lookahead == '\\') SKIP(52) - if (lookahead == ']') ADVANCE(71); - if (lookahead == '|') ADVANCE(66); - if (lookahead == '}') ADVANCE(75); + case 62: + if (eof) ADVANCE(65); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '$') ADVANCE(47); + if (lookahead == '%') ADVANCE(38); + if (lookahead == '&') ADVANCE(72); + if (lookahead == ')') ADVANCE(69); + if (lookahead == '*') ADVANCE(112); + if (lookahead == ',') ADVANCE(75); + if (lookahead == ':') ADVANCE(78); + if (lookahead == '<') ADVANCE(137); + if (lookahead == '=') ADVANCE(139); + if (lookahead == '@') ADVANCE(34); + if (lookahead == '[') ADVANCE(74); + if (lookahead == '\\') SKIP(56) + if (lookahead == ']') ADVANCE(76); + if (lookahead == '|') ADVANCE(71); + if (lookahead == '}') ADVANCE(80); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(57) - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(61); + lookahead == ' ') SKIP(62) + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(66); if (lookahead != 0 && lookahead > '^' && lookahead != '`' && - (lookahead < '{' || '~' < lookahead)) ADVANCE(147); + (lookahead < '{' || '~' < lookahead)) ADVANCE(174); END_STATE(); - case 58: - if (eof) ADVANCE(60); - if (lookahead == '#') ADVANCE(65); - if (lookahead == '$') ADVANCE(45); - if (lookahead == '&') ADVANCE(67); - if (lookahead == ')') ADVANCE(64); - if (lookahead == ',') ADVANCE(70); - if (lookahead == ':') ADVANCE(29); - if (lookahead == '=') ADVANCE(88); - if (lookahead == '?') ADVANCE(68); - if (lookahead == '@') ADVANCE(33); - if (lookahead == '\\') SKIP(54) - if (lookahead == ']') ADVANCE(71); - if (lookahead == '|') ADVANCE(66); - if (lookahead == '}') ADVANCE(75); + case 63: + if (eof) ADVANCE(65); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '$') ADVANCE(47); + if (lookahead == '%') ADVANCE(38); + if (lookahead == '&') ADVANCE(72); + if (lookahead == ')') ADVANCE(69); + if (lookahead == ',') ADVANCE(75); + if (lookahead == ':') ADVANCE(30); + if (lookahead == '=') ADVANCE(93); + if (lookahead == '?') ADVANCE(73); + if (lookahead == '@') ADVANCE(34); + if (lookahead == '\\') SKIP(58) + if (lookahead == ']') ADVANCE(76); + if (lookahead == '|') ADVANCE(71); + if (lookahead == '}') ADVANCE(80); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(59) - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(61); + lookahead == ' ') SKIP(64) + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(66); if (lookahead != 0 && lookahead > '^' && lookahead != '`' && - (lookahead < '{' || '~' < lookahead)) ADVANCE(147); + (lookahead < '{' || '~' < lookahead)) ADVANCE(174); END_STATE(); - case 59: - if (eof) ADVANCE(60); - if (lookahead == '#') ADVANCE(65); - if (lookahead == '$') ADVANCE(45); - if (lookahead == '&') ADVANCE(67); - if (lookahead == ')') ADVANCE(64); - if (lookahead == ',') ADVANCE(70); - if (lookahead == ':') ADVANCE(29); - if (lookahead == '@') ADVANCE(33); - if (lookahead == '\\') SKIP(54) - if (lookahead == ']') ADVANCE(71); - if (lookahead == '|') ADVANCE(66); - if (lookahead == '}') ADVANCE(75); + case 64: + if (eof) ADVANCE(65); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '$') ADVANCE(47); + if (lookahead == '%') ADVANCE(38); + if (lookahead == '&') ADVANCE(72); + if (lookahead == ')') ADVANCE(69); + if (lookahead == ',') ADVANCE(75); + if (lookahead == ':') ADVANCE(30); + if (lookahead == '@') ADVANCE(34); + if (lookahead == '\\') SKIP(58) + if (lookahead == ']') ADVANCE(76); + if (lookahead == '|') ADVANCE(71); + if (lookahead == '}') ADVANCE(80); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(59) - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(61); + lookahead == ' ') SKIP(64) + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(66); if (lookahead != 0 && lookahead > '^' && lookahead != '`' && - (lookahead < '{' || '~' < lookahead)) ADVANCE(147); + (lookahead < '{' || '~' < lookahead)) ADVANCE(174); END_STATE(); - case 60: + case 65: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 61: + case 66: ACCEPT_TOKEN(sym_constant); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(61); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(66); END_STATE(); - case 62: + case 67: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 63: + case 68: ACCEPT_TOKEN(anon_sym_LPAREN); - if (lookahead == ')') ADVANCE(119); + if (lookahead == ')') ADVANCE(147); END_STATE(); - case 64: + case 69: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 65: + case 70: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(65); + lookahead != '\n') ADVANCE(70); END_STATE(); - case 66: + case 71: ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); - case 67: + case 72: ACCEPT_TOKEN(anon_sym_AMP); END_STATE(); - case 68: + case 73: ACCEPT_TOKEN(anon_sym_QMARK); END_STATE(); - case 69: + case 74: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 70: + case 75: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 71: + case 76: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 72: + case 77: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 73: + case 78: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == ':') ADVANCE(76); + if (lookahead == ':') ADVANCE(81); END_STATE(); - case 74: + case 79: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 75: + case 80: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 76: + case 81: ACCEPT_TOKEN(sym__scope); END_STATE(); - case 77: + case 82: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 78: + case 83: ACCEPT_TOKEN(anon_sym_SQUOTE); END_STATE(); - case 79: + case 84: ACCEPT_TOKEN(sym_double_quote_string_body); - if (lookahead == '\n') ADVANCE(81); + if (lookahead == '\n') ADVANCE(86); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(79); + lookahead != '\\') ADVANCE(84); END_STATE(); - case 80: + case 85: ACCEPT_TOKEN(sym_double_quote_string_body); - if (lookahead == '#') ADVANCE(79); - if (lookahead == '\\') ADVANCE(10); + if (lookahead == '#') ADVANCE(84); + if (lookahead == '\\') ADVANCE(11); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(80); + lookahead == ' ') ADVANCE(85); if (lookahead != 0 && - lookahead != '"') ADVANCE(81); + lookahead != '"') ADVANCE(86); END_STATE(); - case 81: + case 86: ACCEPT_TOKEN(sym_double_quote_string_body); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(81); + lookahead != '\\') ADVANCE(86); END_STATE(); - case 82: + case 87: ACCEPT_TOKEN(sym_single_quote_string_body); - if (lookahead == '\n') ADVANCE(84); + if (lookahead == '\n') ADVANCE(89); if (lookahead != 0 && lookahead != '\'' && - lookahead != '\\') ADVANCE(82); + lookahead != '\\') ADVANCE(87); END_STATE(); - case 83: + case 88: ACCEPT_TOKEN(sym_single_quote_string_body); - if (lookahead == '#') ADVANCE(82); - if (lookahead == '\\') ADVANCE(13); + if (lookahead == '#') ADVANCE(87); + if (lookahead == '\\') ADVANCE(8); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(83); + lookahead == ' ') ADVANCE(88); if (lookahead != 0 && - lookahead != '\'') ADVANCE(84); + lookahead != '\'') ADVANCE(89); END_STATE(); - case 84: + case 89: ACCEPT_TOKEN(sym_single_quote_string_body); if (lookahead != 0 && lookahead != '\'' && - lookahead != '\\') ADVANCE(84); + lookahead != '\\') ADVANCE(89); END_STATE(); - case 85: + case 90: ACCEPT_TOKEN(anon_sym_COLON_DQUOTE); END_STATE(); - case 86: + case 91: ACCEPT_TOKEN(anon_sym_COLON_SQUOTE); END_STATE(); - case 87: + case 92: ACCEPT_TOKEN(aux_sym_symbol_literal_token1); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(92); END_STATE(); - case 88: + case 93: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); - case 89: + case 94: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(125); - if (lookahead == '~') ADVANCE(127); + if (lookahead == '=') ADVANCE(153); + if (lookahead == '~') ADVANCE(155); END_STATE(); - case 90: + case 95: ACCEPT_TOKEN(aux_sym_symbol_literal_token2); END_STATE(); - case 91: + case 96: ACCEPT_TOKEN(aux_sym_symbol_literal_token2); - if (lookahead == '*') ADVANCE(90); + if (lookahead == '*') ADVANCE(95); END_STATE(); - case 92: + case 97: ACCEPT_TOKEN(aux_sym_symbol_literal_token2); - if (lookahead == '<') ADVANCE(90); - if (lookahead == '=') ADVANCE(94); + if (lookahead == '<') ADVANCE(95); + if (lookahead == '=') ADVANCE(99); END_STATE(); - case 93: + case 98: ACCEPT_TOKEN(aux_sym_symbol_literal_token2); - if (lookahead == '=') ADVANCE(90); + if (lookahead == '=') ADVANCE(95); END_STATE(); - case 94: + case 99: ACCEPT_TOKEN(aux_sym_symbol_literal_token2); - if (lookahead == '>') ADVANCE(90); + if (lookahead == '>') ADVANCE(95); END_STATE(); - case 95: + case 100: ACCEPT_TOKEN(aux_sym_symbol_literal_token2); - if (lookahead == '@') ADVANCE(90); + if (lookahead == '@') ADVANCE(95); END_STATE(); - case 96: + case 101: ACCEPT_TOKEN(aux_sym_symbol_literal_token2); - if (lookahead == '~') ADVANCE(90); + if (lookahead == '~') ADVANCE(95); END_STATE(); - case 97: + case 102: ACCEPT_TOKEN(aux_sym_symbol_literal_token2); if (lookahead == '=' || - lookahead == '>') ADVANCE(90); + lookahead == '>') ADVANCE(95); END_STATE(); - case 98: + case 103: ACCEPT_TOKEN(sym_integer_literal); - if (lookahead == '_') ADVANCE(39); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(98); + if (lookahead == '_') ADVANCE(41); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(103); END_STATE(); - case 99: + case 104: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 100: + case 105: ACCEPT_TOKEN(sym_escape_sequence); - if (lookahead == '\\') ADVANCE(10); + if (lookahead == '\\') ADVANCE(8); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(80); + lookahead == ' ') ADVANCE(88); END_STATE(); - case 101: + case 106: ACCEPT_TOKEN(sym_escape_sequence); - if (lookahead == '\\') ADVANCE(13); + if (lookahead == '\\') ADVANCE(11); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(83); + lookahead == ' ') ADVANCE(85); END_STATE(); - case 102: + case 107: ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '7')) ADVANCE(99); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(104); END_STATE(); - case 103: + case 108: ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '7')) ADVANCE(102); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(107); END_STATE(); - case 104: + case 109: ACCEPT_TOKEN(sym_escape_sequence); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(99); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(104); END_STATE(); - case 105: + case 110: ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); - case 106: + case 111: ACCEPT_TOKEN(anon_sym_DASH_GT); END_STATE(); - case 107: + case 112: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); - case 108: + case 113: ACCEPT_TOKEN(anon_sym_STAR); - if (lookahead == '*') ADVANCE(115); + if (lookahead == '*') ADVANCE(143); END_STATE(); - case 109: + case 114: + ACCEPT_TOKEN(sym__annotation_text_without_brace); + if (lookahead == '\n') ADVANCE(117); + if (lookahead == '\r') ADVANCE(115); + if (lookahead != 0 && + lookahead != 0 && + lookahead != '}') ADVANCE(118); + END_STATE(); + case 115: + ACCEPT_TOKEN(sym__annotation_text_without_brace); + if (lookahead == '\n') ADVANCE(117); + if (lookahead != 0 && + lookahead != 0 && + lookahead != '}') ADVANCE(118); + END_STATE(); + case 116: + ACCEPT_TOKEN(sym__annotation_text_without_brace); + if (lookahead == '\n') ADVANCE(118); + if (lookahead != 0 && + lookahead != 0 && + lookahead != '}') ADVANCE(116); + END_STATE(); + case 117: + ACCEPT_TOKEN(sym__annotation_text_without_brace); + if (lookahead == '#') ADVANCE(116); + if (lookahead == '\\') ADVANCE(114); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(117); + if (lookahead != 0 && + lookahead != 0 && + lookahead != '}') ADVANCE(118); + END_STATE(); + case 118: + ACCEPT_TOKEN(sym__annotation_text_without_brace); + if (lookahead != 0 && + lookahead != 0 && + lookahead != '}') ADVANCE(118); + END_STATE(); + case 119: + ACCEPT_TOKEN(sym__annotation_text_without_parenthesis); + if (lookahead == '\n') ADVANCE(122); + if (lookahead == '\r') ADVANCE(120); + if (lookahead != 0 && + lookahead != 0 && + lookahead != ')') ADVANCE(123); + END_STATE(); + case 120: + ACCEPT_TOKEN(sym__annotation_text_without_parenthesis); + if (lookahead == '\n') ADVANCE(122); + if (lookahead != 0 && + lookahead != 0 && + lookahead != ')') ADVANCE(123); + END_STATE(); + case 121: + ACCEPT_TOKEN(sym__annotation_text_without_parenthesis); + if (lookahead == '\n') ADVANCE(123); + if (lookahead != 0 && + lookahead != 0 && + lookahead != ')') ADVANCE(121); + END_STATE(); + case 122: + ACCEPT_TOKEN(sym__annotation_text_without_parenthesis); + if (lookahead == '#') ADVANCE(121); + if (lookahead == '\\') ADVANCE(119); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(122); + if (lookahead != 0 && + lookahead != 0 && + lookahead != ')') ADVANCE(123); + END_STATE(); + case 123: + ACCEPT_TOKEN(sym__annotation_text_without_parenthesis); + if (lookahead != 0 && + lookahead != 0 && + lookahead != ')') ADVANCE(123); + END_STATE(); + case 124: + ACCEPT_TOKEN(sym__annotation_text_without_bracket); + if (lookahead == '#') ADVANCE(125); + if (lookahead == '\\') ADVANCE(125); + if (lookahead == ']') ADVANCE(125); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(124); + if (lookahead != 0 && + lookahead != 0) ADVANCE(125); + END_STATE(); + case 125: + ACCEPT_TOKEN(sym__annotation_text_without_bracket); + if (lookahead == ']') ADVANCE(125); + END_STATE(); + case 126: + ACCEPT_TOKEN(sym__annotation_text_without_bar); + if (lookahead == '#') ADVANCE(127); + if (lookahead == '\\') ADVANCE(127); + if (lookahead == ']') ADVANCE(127); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(126); + if (lookahead != 0 && + lookahead != 0 && + lookahead != '|') ADVANCE(127); + END_STATE(); + case 127: + ACCEPT_TOKEN(sym__annotation_text_without_bar); + if (lookahead == ']') ADVANCE(127); + END_STATE(); + case 128: + ACCEPT_TOKEN(sym__annotation_text_without_angle_bracket); + if (lookahead == '#') ADVANCE(129); + if (lookahead == '\\') ADVANCE(129); + if (lookahead == ']') ADVANCE(129); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(128); + if (lookahead != 0 && + lookahead != 0 && + lookahead != '>') ADVANCE(129); + END_STATE(); + case 129: + ACCEPT_TOKEN(sym__annotation_text_without_angle_bracket); + if (lookahead == ']') ADVANCE(129); + END_STATE(); + case 130: + ACCEPT_TOKEN(anon_sym_PERCENTa_LBRACE); + END_STATE(); + case 131: + ACCEPT_TOKEN(anon_sym_PERCENTa_LPAREN); + END_STATE(); + case 132: + ACCEPT_TOKEN(anon_sym_PERCENTa_LBRACK); + END_STATE(); + case 133: + ACCEPT_TOKEN(anon_sym_PERCENTa_PIPE); + END_STATE(); + case 134: + ACCEPT_TOKEN(anon_sym_PERCENTa_LT); + END_STATE(); + case 135: + ACCEPT_TOKEN(anon_sym_GT); + END_STATE(); + case 136: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(156); + if (lookahead == '>') ADVANCE(165); + END_STATE(); + case 137: ACCEPT_TOKEN(anon_sym_LT); END_STATE(); - case 110: + case 138: ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '<') ADVANCE(137); - if (lookahead == '=') ADVANCE(130); + if (lookahead == '<') ADVANCE(164); + if (lookahead == '=') ADVANCE(157); END_STATE(); - case 111: + case 139: ACCEPT_TOKEN(anon_sym_EQ2); END_STATE(); - case 112: + case 140: ACCEPT_TOKEN(anon_sym_EQ2); - if (lookahead == '=') ADVANCE(125); - if (lookahead == '~') ADVANCE(127); + if (lookahead == '=') ADVANCE(153); + if (lookahead == '~') ADVANCE(155); END_STATE(); - case 113: + case 141: ACCEPT_TOKEN(sym_global_name); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(113); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(141); END_STATE(); - case 114: + case 142: ACCEPT_TOKEN(anon_sym_QMARK2); END_STATE(); - case 115: + case 143: ACCEPT_TOKEN(anon_sym_STAR_STAR); END_STATE(); - case 116: + case 144: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 117: + case 145: ACCEPT_TOKEN(anon_sym_QMARK_DOT); END_STATE(); - case 118: + case 146: ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); - case 119: + case 147: ACCEPT_TOKEN(anon_sym_LPAREN_RPAREN); END_STATE(); - case 120: + case 148: ACCEPT_TOKEN(aux_sym_visibility_member_token1); END_STATE(); - case 121: + case 149: ACCEPT_TOKEN(sym_ivar_name); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(121); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(149); END_STATE(); - case 122: + case 150: ACCEPT_TOKEN(sym_cvar_name); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(122); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(150); END_STATE(); - case 123: + case 151: ACCEPT_TOKEN(anon_sym_DOT_DOT); END_STATE(); - case 124: + case 152: ACCEPT_TOKEN(anon_sym_LT_EQ_GT); END_STATE(); - case 125: + case 153: ACCEPT_TOKEN(anon_sym_EQ_EQ); - if (lookahead == '=') ADVANCE(126); + if (lookahead == '=') ADVANCE(154); END_STATE(); - case 126: + case 154: ACCEPT_TOKEN(anon_sym_EQ_EQ_EQ); END_STATE(); - case 127: + case 155: ACCEPT_TOKEN(anon_sym_EQ_TILDE); END_STATE(); - case 128: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(129); - if (lookahead == '>') ADVANCE(138); - END_STATE(); - case 129: + case 156: ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); - case 130: + case 157: ACCEPT_TOKEN(anon_sym_LT_EQ); - if (lookahead == '>') ADVANCE(124); + if (lookahead == '>') ADVANCE(152); END_STATE(); - case 131: + case 158: ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '@') ADVANCE(140); + if (lookahead == '@') ADVANCE(167); END_STATE(); - case 132: + case 159: ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '@') ADVANCE(141); + if (lookahead == '@') ADVANCE(168); END_STATE(); - case 133: + case 160: ACCEPT_TOKEN(anon_sym_SLASH); END_STATE(); - case 134: + case 161: ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); - case 135: + case 162: ACCEPT_TOKEN(anon_sym_BANG); - if (lookahead == '~') ADVANCE(136); + if (lookahead == '~') ADVANCE(163); END_STATE(); - case 136: + case 163: ACCEPT_TOKEN(anon_sym_BANG_TILDE); END_STATE(); - case 137: + case 164: ACCEPT_TOKEN(anon_sym_LT_LT); END_STATE(); - case 138: + case 165: ACCEPT_TOKEN(anon_sym_GT_GT); END_STATE(); - case 139: + case 166: ACCEPT_TOKEN(anon_sym_TILDE); - if (lookahead == '@') ADVANCE(142); + if (lookahead == '@') ADVANCE(169); END_STATE(); - case 140: + case 167: ACCEPT_TOKEN(anon_sym_PLUS_AT); END_STATE(); - case 141: + case 168: ACCEPT_TOKEN(anon_sym_DASH_AT); END_STATE(); - case 142: + case 169: ACCEPT_TOKEN(anon_sym_TILDE_AT); END_STATE(); - case 143: + case 170: ACCEPT_TOKEN(anon_sym_LBRACK_RBRACK); - if (lookahead == '=') ADVANCE(144); + if (lookahead == '=') ADVANCE(171); END_STATE(); - case 144: + case 171: ACCEPT_TOKEN(anon_sym_LBRACK_RBRACK_EQ); END_STATE(); - case 145: + case 172: ACCEPT_TOKEN(anon_sym_BQUOTE); if (lookahead != 0 && - lookahead != '`') ADVANCE(36); + lookahead != '`') ADVANCE(37); END_STATE(); - case 146: + case 173: ACCEPT_TOKEN(aux_sym_method_name_token1); END_STATE(); - case 147: + case 174: ACCEPT_TOKEN(sym_identifier); if (lookahead != 0 && lookahead > '/' && (lookahead < ':' || '@' < lookahead) && (lookahead < '[' || '^' < lookahead) && lookahead != '`' && - (lookahead < '{' || '~' < lookahead)) ADVANCE(147); + (lookahead < '{' || '~' < lookahead)) ADVANCE(174); END_STATE(); default: return false; @@ -3450,446 +3790,481 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 0}, - [2] = {.lex_state = 17}, - [3] = {.lex_state = 17}, - [4] = {.lex_state = 17}, - [5] = {.lex_state = 17}, - [6] = {.lex_state = 17}, - [7] = {.lex_state = 17}, - [8] = {.lex_state = 17}, - [9] = {.lex_state = 56}, - [10] = {.lex_state = 17}, - [11] = {.lex_state = 17}, - [12] = {.lex_state = 17}, - [13] = {.lex_state = 17}, - [14] = {.lex_state = 17}, - [15] = {.lex_state = 17}, - [16] = {.lex_state = 17}, - [17] = {.lex_state = 17}, - [18] = {.lex_state = 17}, - [19] = {.lex_state = 17}, - [20] = {.lex_state = 17}, - [21] = {.lex_state = 17}, - [22] = {.lex_state = 17}, - [23] = {.lex_state = 17}, - [24] = {.lex_state = 17}, - [25] = {.lex_state = 17}, - [26] = {.lex_state = 17}, - [27] = {.lex_state = 17}, - [28] = {.lex_state = 17}, - [29] = {.lex_state = 17}, - [30] = {.lex_state = 17}, - [31] = {.lex_state = 17}, - [32] = {.lex_state = 17}, - [33] = {.lex_state = 17}, - [34] = {.lex_state = 17}, - [35] = {.lex_state = 17}, - [36] = {.lex_state = 17}, - [37] = {.lex_state = 17}, - [38] = {.lex_state = 17}, - [39] = {.lex_state = 17}, - [40] = {.lex_state = 17}, - [41] = {.lex_state = 17}, - [42] = {.lex_state = 17}, - [43] = {.lex_state = 17}, - [44] = {.lex_state = 17}, - [45] = {.lex_state = 17}, - [46] = {.lex_state = 17}, - [47] = {.lex_state = 17}, - [48] = {.lex_state = 17}, - [49] = {.lex_state = 17}, - [50] = {.lex_state = 0}, - [51] = {.lex_state = 17}, - [52] = {.lex_state = 0}, - [53] = {.lex_state = 0}, - [54] = {.lex_state = 0}, - [55] = {.lex_state = 0}, - [56] = {.lex_state = 14}, - [57] = {.lex_state = 0}, - [58] = {.lex_state = 0}, - [59] = {.lex_state = 0}, - [60] = {.lex_state = 14}, - [61] = {.lex_state = 0}, - [62] = {.lex_state = 14}, - [63] = {.lex_state = 14}, - [64] = {.lex_state = 0}, - [65] = {.lex_state = 0}, - [66] = {.lex_state = 14}, - [67] = {.lex_state = 14}, - [68] = {.lex_state = 0}, - [69] = {.lex_state = 14}, - [70] = {.lex_state = 14}, - [71] = {.lex_state = 14}, - [72] = {.lex_state = 14}, - [73] = {.lex_state = 14}, - [74] = {.lex_state = 14}, - [75] = {.lex_state = 14}, - [76] = {.lex_state = 14}, - [77] = {.lex_state = 14}, - [78] = {.lex_state = 14}, - [79] = {.lex_state = 14}, - [80] = {.lex_state = 14}, - [81] = {.lex_state = 14}, - [82] = {.lex_state = 14}, - [83] = {.lex_state = 56}, - [84] = {.lex_state = 56}, - [85] = {.lex_state = 14}, - [86] = {.lex_state = 14}, - [87] = {.lex_state = 14}, - [88] = {.lex_state = 56}, - [89] = {.lex_state = 56}, - [90] = {.lex_state = 56}, - [91] = {.lex_state = 56}, - [92] = {.lex_state = 56}, - [93] = {.lex_state = 56}, - [94] = {.lex_state = 56}, - [95] = {.lex_state = 58}, - [96] = {.lex_state = 56}, - [97] = {.lex_state = 56}, - [98] = {.lex_state = 56}, - [99] = {.lex_state = 56}, - [100] = {.lex_state = 56}, - [101] = {.lex_state = 56}, - [102] = {.lex_state = 56}, - [103] = {.lex_state = 56}, - [104] = {.lex_state = 56}, - [105] = {.lex_state = 56}, - [106] = {.lex_state = 56}, - [107] = {.lex_state = 56}, - [108] = {.lex_state = 56}, - [109] = {.lex_state = 56}, - [110] = {.lex_state = 56}, - [111] = {.lex_state = 56}, - [112] = {.lex_state = 56}, - [113] = {.lex_state = 56}, - [114] = {.lex_state = 56}, - [115] = {.lex_state = 56}, - [116] = {.lex_state = 56}, - [117] = {.lex_state = 56}, - [118] = {.lex_state = 56}, - [119] = {.lex_state = 56}, - [120] = {.lex_state = 56}, - [121] = {.lex_state = 56}, - [122] = {.lex_state = 56}, - [123] = {.lex_state = 56}, - [124] = {.lex_state = 56}, - [125] = {.lex_state = 56}, - [126] = {.lex_state = 56}, - [127] = {.lex_state = 56}, - [128] = {.lex_state = 56}, - [129] = {.lex_state = 56}, - [130] = {.lex_state = 56}, - [131] = {.lex_state = 56}, - [132] = {.lex_state = 56}, - [133] = {.lex_state = 0}, - [134] = {.lex_state = 56}, - [135] = {.lex_state = 56}, - [136] = {.lex_state = 56}, - [137] = {.lex_state = 56}, - [138] = {.lex_state = 56}, - [139] = {.lex_state = 0}, - [140] = {.lex_state = 56}, - [141] = {.lex_state = 56}, - [142] = {.lex_state = 56}, - [143] = {.lex_state = 56}, - [144] = {.lex_state = 56}, - [145] = {.lex_state = 0}, - [146] = {.lex_state = 0}, - [147] = {.lex_state = 0}, - [148] = {.lex_state = 0}, - [149] = {.lex_state = 0}, - [150] = {.lex_state = 0}, - [151] = {.lex_state = 0}, - [152] = {.lex_state = 0}, - [153] = {.lex_state = 0}, - [154] = {.lex_state = 0}, - [155] = {.lex_state = 58}, - [156] = {.lex_state = 0}, - [157] = {.lex_state = 0}, - [158] = {.lex_state = 0}, - [159] = {.lex_state = 0}, - [160] = {.lex_state = 0}, - [161] = {.lex_state = 0}, - [162] = {.lex_state = 0}, - [163] = {.lex_state = 0}, - [164] = {.lex_state = 0}, - [165] = {.lex_state = 0}, - [166] = {.lex_state = 58}, - [167] = {.lex_state = 0}, - [168] = {.lex_state = 0}, - [169] = {.lex_state = 0}, - [170] = {.lex_state = 0}, - [171] = {.lex_state = 0}, - [172] = {.lex_state = 0}, - [173] = {.lex_state = 0}, - [174] = {.lex_state = 0}, - [175] = {.lex_state = 0}, - [176] = {.lex_state = 0}, - [177] = {.lex_state = 0}, - [178] = {.lex_state = 0}, - [179] = {.lex_state = 0}, - [180] = {.lex_state = 0}, - [181] = {.lex_state = 0}, - [182] = {.lex_state = 0}, - [183] = {.lex_state = 0}, - [184] = {.lex_state = 0}, - [185] = {.lex_state = 0}, - [186] = {.lex_state = 0}, - [187] = {.lex_state = 0}, - [188] = {.lex_state = 0}, - [189] = {.lex_state = 0}, - [190] = {.lex_state = 0}, - [191] = {.lex_state = 0}, - [192] = {.lex_state = 0}, - [193] = {.lex_state = 0}, - [194] = {.lex_state = 0}, - [195] = {.lex_state = 0}, - [196] = {.lex_state = 0}, - [197] = {.lex_state = 0}, - [198] = {.lex_state = 0}, - [199] = {.lex_state = 0}, - [200] = {.lex_state = 0}, - [201] = {.lex_state = 0}, - [202] = {.lex_state = 0}, - [203] = {.lex_state = 0}, - [204] = {.lex_state = 19}, - [205] = {.lex_state = 0}, - [206] = {.lex_state = 0}, - [207] = {.lex_state = 0}, - [208] = {.lex_state = 19}, - [209] = {.lex_state = 0}, - [210] = {.lex_state = 0}, - [211] = {.lex_state = 17}, - [212] = {.lex_state = 17}, - [213] = {.lex_state = 56}, - [214] = {.lex_state = 0}, - [215] = {.lex_state = 17}, - [216] = {.lex_state = 17}, - [217] = {.lex_state = 0}, - [218] = {.lex_state = 17}, - [219] = {.lex_state = 0}, - [220] = {.lex_state = 0}, - [221] = {.lex_state = 0}, - [222] = {.lex_state = 0}, - [223] = {.lex_state = 0}, - [224] = {.lex_state = 17}, - [225] = {.lex_state = 17}, - [226] = {.lex_state = 17}, - [227] = {.lex_state = 17}, - [228] = {.lex_state = 17}, - [229] = {.lex_state = 17}, - [230] = {.lex_state = 17}, - [231] = {.lex_state = 19}, - [232] = {.lex_state = 17}, - [233] = {.lex_state = 17}, - [234] = {.lex_state = 17}, - [235] = {.lex_state = 0}, - [236] = {.lex_state = 0}, - [237] = {.lex_state = 0}, - [238] = {.lex_state = 0}, - [239] = {.lex_state = 56}, - [240] = {.lex_state = 0}, - [241] = {.lex_state = 56}, - [242] = {.lex_state = 0}, - [243] = {.lex_state = 0}, - [244] = {.lex_state = 0}, - [245] = {.lex_state = 0}, - [246] = {.lex_state = 56}, - [247] = {.lex_state = 7}, - [248] = {.lex_state = 17}, - [249] = {.lex_state = 0}, - [250] = {.lex_state = 7}, - [251] = {.lex_state = 56}, - [252] = {.lex_state = 0}, - [253] = {.lex_state = 0}, - [254] = {.lex_state = 0}, - [255] = {.lex_state = 56}, - [256] = {.lex_state = 0}, - [257] = {.lex_state = 56}, - [258] = {.lex_state = 56}, - [259] = {.lex_state = 0}, - [260] = {.lex_state = 0}, - [261] = {.lex_state = 18}, - [262] = {.lex_state = 17}, - [263] = {.lex_state = 17}, - [264] = {.lex_state = 23}, - [265] = {.lex_state = 17}, - [266] = {.lex_state = 17}, - [267] = {.lex_state = 18}, - [268] = {.lex_state = 23}, - [269] = {.lex_state = 18}, - [270] = {.lex_state = 17}, - [271] = {.lex_state = 56}, + [1] = {.lex_state = 60}, + [2] = {.lex_state = 60}, + [3] = {.lex_state = 60}, + [4] = {.lex_state = 60}, + [5] = {.lex_state = 60}, + [6] = {.lex_state = 60}, + [7] = {.lex_state = 60}, + [8] = {.lex_state = 61}, + [9] = {.lex_state = 60}, + [10] = {.lex_state = 60}, + [11] = {.lex_state = 61}, + [12] = {.lex_state = 60}, + [13] = {.lex_state = 60}, + [14] = {.lex_state = 60}, + [15] = {.lex_state = 60}, + [16] = {.lex_state = 60}, + [17] = {.lex_state = 60}, + [18] = {.lex_state = 60}, + [19] = {.lex_state = 60}, + [20] = {.lex_state = 60}, + [21] = {.lex_state = 60}, + [22] = {.lex_state = 60}, + [23] = {.lex_state = 60}, + [24] = {.lex_state = 60}, + [25] = {.lex_state = 60}, + [26] = {.lex_state = 60}, + [27] = {.lex_state = 60}, + [28] = {.lex_state = 60}, + [29] = {.lex_state = 60}, + [30] = {.lex_state = 60}, + [31] = {.lex_state = 60}, + [32] = {.lex_state = 60}, + [33] = {.lex_state = 60}, + [34] = {.lex_state = 60}, + [35] = {.lex_state = 60}, + [36] = {.lex_state = 60}, + [37] = {.lex_state = 60}, + [38] = {.lex_state = 60}, + [39] = {.lex_state = 60}, + [40] = {.lex_state = 60}, + [41] = {.lex_state = 60}, + [42] = {.lex_state = 60}, + [43] = {.lex_state = 60}, + [44] = {.lex_state = 60}, + [45] = {.lex_state = 60}, + [46] = {.lex_state = 60}, + [47] = {.lex_state = 60}, + [48] = {.lex_state = 60}, + [49] = {.lex_state = 60}, + [50] = {.lex_state = 60}, + [51] = {.lex_state = 60}, + [52] = {.lex_state = 60}, + [53] = {.lex_state = 60}, + [54] = {.lex_state = 60}, + [55] = {.lex_state = 60}, + [56] = {.lex_state = 60}, + [57] = {.lex_state = 60}, + [58] = {.lex_state = 60}, + [59] = {.lex_state = 60}, + [60] = {.lex_state = 60}, + [61] = {.lex_state = 60}, + [62] = {.lex_state = 60}, + [63] = {.lex_state = 61}, + [64] = {.lex_state = 61}, + [65] = {.lex_state = 12}, + [66] = {.lex_state = 12}, + [67] = {.lex_state = 12}, + [68] = {.lex_state = 12}, + [69] = {.lex_state = 12}, + [70] = {.lex_state = 12}, + [71] = {.lex_state = 12}, + [72] = {.lex_state = 12}, + [73] = {.lex_state = 12}, + [74] = {.lex_state = 12}, + [75] = {.lex_state = 12}, + [76] = {.lex_state = 12}, + [77] = {.lex_state = 12}, + [78] = {.lex_state = 12}, + [79] = {.lex_state = 12}, + [80] = {.lex_state = 61}, + [81] = {.lex_state = 61}, + [82] = {.lex_state = 61}, + [83] = {.lex_state = 61}, + [84] = {.lex_state = 61}, + [85] = {.lex_state = 12}, + [86] = {.lex_state = 12}, + [87] = {.lex_state = 63}, + [88] = {.lex_state = 12}, + [89] = {.lex_state = 12}, + [90] = {.lex_state = 12}, + [91] = {.lex_state = 61}, + [92] = {.lex_state = 61}, + [93] = {.lex_state = 12}, + [94] = {.lex_state = 61}, + [95] = {.lex_state = 61}, + [96] = {.lex_state = 61}, + [97] = {.lex_state = 61}, + [98] = {.lex_state = 61}, + [99] = {.lex_state = 61}, + [100] = {.lex_state = 61}, + [101] = {.lex_state = 61}, + [102] = {.lex_state = 61}, + [103] = {.lex_state = 61}, + [104] = {.lex_state = 61}, + [105] = {.lex_state = 61}, + [106] = {.lex_state = 61}, + [107] = {.lex_state = 61}, + [108] = {.lex_state = 61}, + [109] = {.lex_state = 61}, + [110] = {.lex_state = 61}, + [111] = {.lex_state = 61}, + [112] = {.lex_state = 61}, + [113] = {.lex_state = 61}, + [114] = {.lex_state = 61}, + [115] = {.lex_state = 61}, + [116] = {.lex_state = 61}, + [117] = {.lex_state = 61}, + [118] = {.lex_state = 61}, + [119] = {.lex_state = 61}, + [120] = {.lex_state = 61}, + [121] = {.lex_state = 61}, + [122] = {.lex_state = 61}, + [123] = {.lex_state = 61}, + [124] = {.lex_state = 12}, + [125] = {.lex_state = 12}, + [126] = {.lex_state = 12}, + [127] = {.lex_state = 60}, + [128] = {.lex_state = 60}, + [129] = {.lex_state = 60}, + [130] = {.lex_state = 61}, + [131] = {.lex_state = 61}, + [132] = {.lex_state = 61}, + [133] = {.lex_state = 60}, + [134] = {.lex_state = 60}, + [135] = {.lex_state = 61}, + [136] = {.lex_state = 61}, + [137] = {.lex_state = 61}, + [138] = {.lex_state = 60}, + [139] = {.lex_state = 61}, + [140] = {.lex_state = 61}, + [141] = {.lex_state = 61}, + [142] = {.lex_state = 61}, + [143] = {.lex_state = 61}, + [144] = {.lex_state = 61}, + [145] = {.lex_state = 61}, + [146] = {.lex_state = 61}, + [147] = {.lex_state = 61}, + [148] = {.lex_state = 61}, + [149] = {.lex_state = 61}, + [150] = {.lex_state = 60}, + [151] = {.lex_state = 60}, + [152] = {.lex_state = 63}, + [153] = {.lex_state = 60}, + [154] = {.lex_state = 60}, + [155] = {.lex_state = 60}, + [156] = {.lex_state = 60}, + [157] = {.lex_state = 63}, + [158] = {.lex_state = 60}, + [159] = {.lex_state = 60}, + [160] = {.lex_state = 60}, + [161] = {.lex_state = 60}, + [162] = {.lex_state = 60}, + [163] = {.lex_state = 60}, + [164] = {.lex_state = 60}, + [165] = {.lex_state = 60}, + [166] = {.lex_state = 60}, + [167] = {.lex_state = 60}, + [168] = {.lex_state = 60}, + [169] = {.lex_state = 60}, + [170] = {.lex_state = 60}, + [171] = {.lex_state = 60}, + [172] = {.lex_state = 60}, + [173] = {.lex_state = 60}, + [174] = {.lex_state = 60}, + [175] = {.lex_state = 60}, + [176] = {.lex_state = 60}, + [177] = {.lex_state = 60}, + [178] = {.lex_state = 60}, + [179] = {.lex_state = 60}, + [180] = {.lex_state = 60}, + [181] = {.lex_state = 60}, + [182] = {.lex_state = 60}, + [183] = {.lex_state = 60}, + [184] = {.lex_state = 60}, + [185] = {.lex_state = 60}, + [186] = {.lex_state = 60}, + [187] = {.lex_state = 60}, + [188] = {.lex_state = 60}, + [189] = {.lex_state = 60}, + [190] = {.lex_state = 60}, + [191] = {.lex_state = 60}, + [192] = {.lex_state = 60}, + [193] = {.lex_state = 60}, + [194] = {.lex_state = 60}, + [195] = {.lex_state = 60}, + [196] = {.lex_state = 60}, + [197] = {.lex_state = 60}, + [198] = {.lex_state = 60}, + [199] = {.lex_state = 60}, + [200] = {.lex_state = 60}, + [201] = {.lex_state = 60}, + [202] = {.lex_state = 60}, + [203] = {.lex_state = 60}, + [204] = {.lex_state = 60}, + [205] = {.lex_state = 60}, + [206] = {.lex_state = 60}, + [207] = {.lex_state = 60}, + [208] = {.lex_state = 60}, + [209] = {.lex_state = 60}, + [210] = {.lex_state = 60}, + [211] = {.lex_state = 60}, + [212] = {.lex_state = 60}, + [213] = {.lex_state = 60}, + [214] = {.lex_state = 60}, + [215] = {.lex_state = 60}, + [216] = {.lex_state = 60}, + [217] = {.lex_state = 60}, + [218] = {.lex_state = 60}, + [219] = {.lex_state = 60}, + [220] = {.lex_state = 60}, + [221] = {.lex_state = 60}, + [222] = {.lex_state = 60}, + [223] = {.lex_state = 60}, + [224] = {.lex_state = 60}, + [225] = {.lex_state = 60}, + [226] = {.lex_state = 60}, + [227] = {.lex_state = 61}, + [228] = {.lex_state = 60}, + [229] = {.lex_state = 60}, + [230] = {.lex_state = 60}, + [231] = {.lex_state = 60}, + [232] = {.lex_state = 60}, + [233] = {.lex_state = 60}, + [234] = {.lex_state = 60}, + [235] = {.lex_state = 60}, + [236] = {.lex_state = 60}, + [237] = {.lex_state = 60}, + [238] = {.lex_state = 60}, + [239] = {.lex_state = 60}, + [240] = {.lex_state = 60}, + [241] = {.lex_state = 60}, + [242] = {.lex_state = 60}, + [243] = {.lex_state = 63}, + [244] = {.lex_state = 63}, + [245] = {.lex_state = 60}, + [246] = {.lex_state = 60}, + [247] = {.lex_state = 60}, + [248] = {.lex_state = 0}, + [249] = {.lex_state = 60}, + [250] = {.lex_state = 60}, + [251] = {.lex_state = 60}, + [252] = {.lex_state = 60}, + [253] = {.lex_state = 60}, + [254] = {.lex_state = 16}, + [255] = {.lex_state = 60}, + [256] = {.lex_state = 60}, + [257] = {.lex_state = 60}, + [258] = {.lex_state = 60}, + [259] = {.lex_state = 60}, + [260] = {.lex_state = 60}, + [261] = {.lex_state = 61}, + [262] = {.lex_state = 0}, + [263] = {.lex_state = 0}, + [264] = {.lex_state = 0}, + [265] = {.lex_state = 0}, + [266] = {.lex_state = 0}, + [267] = {.lex_state = 0}, + [268] = {.lex_state = 61}, + [269] = {.lex_state = 16}, + [270] = {.lex_state = 16}, + [271] = {.lex_state = 5}, [272] = {.lex_state = 0}, - [273] = {.lex_state = 17}, - [274] = {.lex_state = 17}, - [275] = {.lex_state = 56}, - [276] = {.lex_state = 17}, - [277] = {.lex_state = 56}, - [278] = {.lex_state = 56}, - [279] = {.lex_state = 17}, - [280] = {.lex_state = 23}, - [281] = {.lex_state = 23}, - [282] = {.lex_state = 56}, - [283] = {.lex_state = 17}, - [284] = {.lex_state = 0}, - [285] = {.lex_state = 17}, - [286] = {.lex_state = 17}, - [287] = {.lex_state = 17}, - [288] = {.lex_state = 0}, - [289] = {.lex_state = 56}, - [290] = {.lex_state = 56}, - [291] = {.lex_state = 18}, - [292] = {.lex_state = 0}, - [293] = {.lex_state = 56}, - [294] = {.lex_state = 23}, - [295] = {.lex_state = 17}, - [296] = {.lex_state = 0}, - [297] = {.lex_state = 18}, - [298] = {.lex_state = 17}, - [299] = {.lex_state = 14}, - [300] = {.lex_state = 0}, - [301] = {.lex_state = 0}, - [302] = {.lex_state = 0}, - [303] = {.lex_state = 0}, - [304] = {.lex_state = 0}, - [305] = {.lex_state = 0}, - [306] = {.lex_state = 0}, - [307] = {.lex_state = 0}, - [308] = {.lex_state = 56}, - [309] = {.lex_state = 17}, - [310] = {.lex_state = 0}, - [311] = {.lex_state = 0}, - [312] = {.lex_state = 0}, - [313] = {.lex_state = 0}, + [273] = {.lex_state = 0}, + [274] = {.lex_state = 61}, + [275] = {.lex_state = 60}, + [276] = {.lex_state = 61}, + [277] = {.lex_state = 5}, + [278] = {.lex_state = 0}, + [279] = {.lex_state = 0}, + [280] = {.lex_state = 0}, + [281] = {.lex_state = 0}, + [282] = {.lex_state = 61}, + [283] = {.lex_state = 61}, + [284] = {.lex_state = 61}, + [285] = {.lex_state = 0}, + [286] = {.lex_state = 20}, + [287] = {.lex_state = 60}, + [288] = {.lex_state = 61}, + [289] = {.lex_state = 60}, + [290] = {.lex_state = 61}, + [291] = {.lex_state = 15}, + [292] = {.lex_state = 20}, + [293] = {.lex_state = 60}, + [294] = {.lex_state = 61}, + [295] = {.lex_state = 60}, + [296] = {.lex_state = 61}, + [297] = {.lex_state = 60}, + [298] = {.lex_state = 61}, + [299] = {.lex_state = 60}, + [300] = {.lex_state = 61}, + [301] = {.lex_state = 60}, + [302] = {.lex_state = 20}, + [303] = {.lex_state = 60}, + [304] = {.lex_state = 60}, + [305] = {.lex_state = 60}, + [306] = {.lex_state = 61}, + [307] = {.lex_state = 15}, + [308] = {.lex_state = 15}, + [309] = {.lex_state = 15}, + [310] = {.lex_state = 20}, + [311] = {.lex_state = 20}, + [312] = {.lex_state = 15}, + [313] = {.lex_state = 60}, [314] = {.lex_state = 0}, [315] = {.lex_state = 0}, - [316] = {.lex_state = 14}, + [316] = {.lex_state = 0}, [317] = {.lex_state = 0}, - [318] = {.lex_state = 0}, + [318] = {.lex_state = 60}, [319] = {.lex_state = 0}, - [320] = {.lex_state = 17}, - [321] = {.lex_state = 17}, + [320] = {.lex_state = 60}, + [321] = {.lex_state = 61}, [322] = {.lex_state = 0}, [323] = {.lex_state = 0}, - [324] = {.lex_state = 17}, - [325] = {.lex_state = 0}, - [326] = {.lex_state = 14}, - [327] = {.lex_state = 14}, - [328] = {.lex_state = 14}, + [324] = {.lex_state = 0}, + [325] = {.lex_state = 60}, + [326] = {.lex_state = 12}, + [327] = {.lex_state = 0}, + [328] = {.lex_state = 0}, [329] = {.lex_state = 0}, [330] = {.lex_state = 0}, [331] = {.lex_state = 0}, - [332] = {.lex_state = 17}, + [332] = {.lex_state = 60}, [333] = {.lex_state = 0}, [334] = {.lex_state = 0}, - [335] = {.lex_state = 0}, - [336] = {.lex_state = 0}, - [337] = {.lex_state = 0}, + [335] = {.lex_state = 12}, + [336] = {.lex_state = 12}, + [337] = {.lex_state = 61}, [338] = {.lex_state = 0}, [339] = {.lex_state = 0}, - [340] = {.lex_state = 0}, - [341] = {.lex_state = 0}, + [340] = {.lex_state = 60}, + [341] = {.lex_state = 60}, [342] = {.lex_state = 0}, [343] = {.lex_state = 0}, [344] = {.lex_state = 0}, [345] = {.lex_state = 0}, [346] = {.lex_state = 0}, - [347] = {.lex_state = 17}, + [347] = {.lex_state = 12}, [348] = {.lex_state = 0}, [349] = {.lex_state = 0}, [350] = {.lex_state = 0}, [351] = {.lex_state = 0}, - [352] = {.lex_state = 0}, + [352] = {.lex_state = 12}, [353] = {.lex_state = 0}, [354] = {.lex_state = 0}, [355] = {.lex_state = 0}, - [356] = {.lex_state = 0}, + [356] = {.lex_state = 60}, [357] = {.lex_state = 0}, [358] = {.lex_state = 0}, [359] = {.lex_state = 0}, - [360] = {.lex_state = 17}, - [361] = {.lex_state = 0}, + [360] = {.lex_state = 0}, + [361] = {.lex_state = 61}, [362] = {.lex_state = 0}, [363] = {.lex_state = 0}, - [364] = {.lex_state = 21}, - [365] = {.lex_state = 56}, + [364] = {.lex_state = 0}, + [365] = {.lex_state = 0}, [366] = {.lex_state = 0}, [367] = {.lex_state = 0}, [368] = {.lex_state = 0}, [369] = {.lex_state = 0}, [370] = {.lex_state = 0}, [371] = {.lex_state = 0}, - [372] = {.lex_state = 0}, - [373] = {.lex_state = 14}, - [374] = {.lex_state = 14}, + [372] = {.lex_state = 60}, + [373] = {.lex_state = 0}, + [374] = {.lex_state = 0}, [375] = {.lex_state = 0}, - [376] = {.lex_state = 14}, - [377] = {.lex_state = 17}, + [376] = {.lex_state = 0}, + [377] = {.lex_state = 0}, [378] = {.lex_state = 0}, [379] = {.lex_state = 0}, - [380] = {.lex_state = 14}, + [380] = {.lex_state = 0}, [381] = {.lex_state = 0}, - [382] = {.lex_state = 14}, - [383] = {.lex_state = 14}, - [384] = {.lex_state = 14}, - [385] = {.lex_state = 17}, + [382] = {.lex_state = 0}, + [383] = {.lex_state = 0}, + [384] = {.lex_state = 0}, + [385] = {.lex_state = 0}, [386] = {.lex_state = 0}, [387] = {.lex_state = 0}, [388] = {.lex_state = 0}, - [389] = {.lex_state = 14}, - [390] = {.lex_state = 17}, + [389] = {.lex_state = 18}, + [390] = {.lex_state = 0}, [391] = {.lex_state = 0}, [392] = {.lex_state = 0}, [393] = {.lex_state = 0}, [394] = {.lex_state = 0}, - [395] = {.lex_state = 0}, - [396] = {.lex_state = 14}, - [397] = {.lex_state = 17}, - [398] = {.lex_state = 0}, - [399] = {.lex_state = 14}, - [400] = {.lex_state = 0}, + [395] = {.lex_state = 60}, + [396] = {.lex_state = 0}, + [397] = {.lex_state = 0}, + [398] = {.lex_state = 12}, + [399] = {.lex_state = 0}, + [400] = {.lex_state = 12}, [401] = {.lex_state = 0}, [402] = {.lex_state = 0}, - [403] = {.lex_state = 0}, - [404] = {.lex_state = 17}, - [405] = {.lex_state = 17}, - [406] = {.lex_state = 17}, - [407] = {.lex_state = 0}, - [408] = {.lex_state = 0}, - [409] = {.lex_state = 0}, - [410] = {.lex_state = 17}, - [411] = {.lex_state = 14}, - [412] = {.lex_state = 14}, - [413] = {.lex_state = 0}, - [414] = {.lex_state = 17}, - [415] = {.lex_state = 0}, - [416] = {.lex_state = 0}, - [417] = {.lex_state = 17}, - [418] = {.lex_state = 0}, - [419] = {.lex_state = 14}, + [403] = {.lex_state = 12}, + [404] = {.lex_state = 60}, + [405] = {.lex_state = 0}, + [406] = {.lex_state = 0}, + [407] = {.lex_state = 60}, + [408] = {.lex_state = 12}, + [409] = {.lex_state = 60}, + [410] = {.lex_state = 0}, + [411] = {.lex_state = 0}, + [412] = {.lex_state = 0}, + [413] = {.lex_state = 60}, + [414] = {.lex_state = 60}, + [415] = {.lex_state = 12}, + [416] = {.lex_state = 60}, + [417] = {.lex_state = 0}, + [418] = {.lex_state = 12}, + [419] = {.lex_state = 0}, [420] = {.lex_state = 0}, - [421] = {.lex_state = 17}, - [422] = {.lex_state = 0}, + [421] = {.lex_state = 12}, + [422] = {.lex_state = 12}, [423] = {.lex_state = 0}, [424] = {.lex_state = 0}, [425] = {.lex_state = 0}, - [426] = {.lex_state = 14}, - [427] = {.lex_state = 14}, - [428] = {.lex_state = 14}, - [429] = {.lex_state = 0}, + [426] = {.lex_state = 12}, + [427] = {.lex_state = 0}, + [428] = {.lex_state = 12}, + [429] = {.lex_state = 60}, [430] = {.lex_state = 0}, - [431] = {.lex_state = 14}, - [432] = {.lex_state = 0}, + [431] = {.lex_state = 0}, + [432] = {.lex_state = 12}, [433] = {.lex_state = 0}, - [434] = {.lex_state = 0}, - [435] = {.lex_state = 14}, - [436] = {.lex_state = 0}, - [437] = {.lex_state = 0}, - [438] = {.lex_state = 17}, - [439] = {.lex_state = 0}, - [440] = {.lex_state = 17}, + [434] = {.lex_state = 60}, + [435] = {.lex_state = 0}, + [436] = {.lex_state = 12}, + [437] = {.lex_state = 12}, + [438] = {.lex_state = 0}, + [439] = {.lex_state = 60}, + [440] = {.lex_state = 0}, + [441] = {.lex_state = 60}, + [442] = {.lex_state = 0}, + [443] = {.lex_state = 0}, + [444] = {.lex_state = 0}, + [445] = {.lex_state = 60}, + [446] = {.lex_state = 12}, + [447] = {.lex_state = 0}, + [448] = {.lex_state = 60}, + [449] = {.lex_state = 0}, + [450] = {.lex_state = 60}, + [451] = {.lex_state = 12}, + [452] = {.lex_state = 0}, + [453] = {.lex_state = 0}, + [454] = {.lex_state = 0}, + [455] = {.lex_state = 0}, + [456] = {.lex_state = 0}, + [457] = {.lex_state = 60}, + [458] = {.lex_state = 0}, + [459] = {.lex_state = 0}, + [460] = {.lex_state = 0}, + [461] = {.lex_state = 0}, + [462] = {.lex_state = 0}, + [463] = {.lex_state = 0}, + [464] = {.lex_state = 12}, + [465] = {.lex_state = 0}, + [466] = {.lex_state = 0}, + [467] = {.lex_state = 12}, + [468] = {.lex_state = 21}, + [469] = {.lex_state = 22}, + [470] = {.lex_state = 23}, + [471] = {.lex_state = 122}, + [472] = {.lex_state = 117}, + [473] = {.lex_state = 0}, + [474] = {.lex_state = 0}, + [475] = {.lex_state = 12}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -3931,6 +4306,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_use] = ACTIONS(1), [anon_sym_as] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), [anon_sym_end] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), [anon_sym_module] = ACTIONS(1), @@ -3961,7 +4337,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_EQ_EQ] = ACTIONS(1), [anon_sym_EQ_EQ_EQ] = ACTIONS(1), [anon_sym_EQ_TILDE] = ACTIONS(1), - [anon_sym_GT] = ACTIONS(1), [anon_sym_GT_EQ] = ACTIONS(1), [anon_sym_LT_EQ] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), @@ -3980,31 +4355,38 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_method_name_token1] = ACTIONS(1), }, [1] = { - [sym_program] = STATE(408), - [sym_namespace] = STATE(395), - [sym_use_directive] = STATE(139), - [sym__decl] = STATE(179), - [sym_class_decl] = STATE(179), - [sym_module_decl] = STATE(179), - [sym_class_alias_decl] = STATE(179), - [sym_module_alias_decl] = STATE(179), - [sym_interface_decl] = STATE(179), - [sym_type_alias_decl] = STATE(179), - [sym_const_decl] = STATE(179), - [sym_const_name] = STATE(373), - [sym_global_decl] = STATE(179), - [aux_sym_program_repeat1] = STATE(139), - [aux_sym_program_repeat2] = STATE(179), + [sym_program] = STATE(466), + [sym_namespace] = STATE(465), + [sym_use_directive] = STATE(128), + [sym_annotation] = STATE(134), + [sym__decl] = STATE(158), + [sym_class_decl] = STATE(158), + [sym_module_decl] = STATE(158), + [sym_class_alias_decl] = STATE(158), + [sym_module_alias_decl] = STATE(158), + [sym_interface_decl] = STATE(158), + [sym_type_alias_decl] = STATE(158), + [sym_const_decl] = STATE(158), + [sym_const_name] = STATE(464), + [sym_global_decl] = STATE(158), + [aux_sym_program_repeat1] = STATE(128), + [aux_sym_program_repeat2] = STATE(158), + [aux_sym__decl_repeat1] = STATE(216), [ts_builtin_sym_end] = ACTIONS(5), [sym_constant] = ACTIONS(7), [anon_sym_class] = ACTIONS(9), [sym_comment] = ACTIONS(3), [sym__scope] = ACTIONS(11), [anon_sym_use] = ACTIONS(13), - [anon_sym_module] = ACTIONS(15), - [anon_sym_interface] = ACTIONS(17), - [anon_sym_type] = ACTIONS(19), - [sym_global_name] = ACTIONS(21), + [anon_sym_PERCENTa_LBRACE] = ACTIONS(15), + [anon_sym_PERCENTa_LPAREN] = ACTIONS(17), + [anon_sym_PERCENTa_LBRACK] = ACTIONS(19), + [anon_sym_PERCENTa_PIPE] = ACTIONS(21), + [anon_sym_PERCENTa_LT] = ACTIONS(23), + [anon_sym_module] = ACTIONS(25), + [anon_sym_interface] = ACTIONS(27), + [anon_sym_type] = ACTIONS(29), + [sym_global_name] = ACTIONS(31), }, }; @@ -4014,75 +4396,75 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(23), 1, + ACTIONS(33), 1, sym_identifier, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(33), 1, + ACTIONS(43), 1, anon_sym_RPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(59), 1, + ACTIONS(69), 1, anon_sym_STAR, - ACTIONS(61), 1, + ACTIONS(71), 1, anon_sym_QMARK2, - ACTIONS(63), 1, + ACTIONS(73), 1, anon_sym_STAR_STAR, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(239), 1, + STATE(261), 1, sym_type, - STATE(305), 1, - sym_parameter, - STATE(318), 1, + STATE(329), 1, sym_namespace, - STATE(339), 1, - sym_required_positionals, - STATE(340), 1, - sym_optional_positionals, - STATE(342), 1, + STATE(348), 1, + sym_parameter, + STATE(385), 1, sym_rest_positional, - STATE(428), 1, - sym_var_name, - STATE(430), 1, + STATE(386), 1, + sym_optional_positionals, + STATE(388), 1, + sym_required_positionals, + STATE(411), 1, + sym_keywords, + STATE(427), 1, sym_splat_keyword, STATE(432), 1, - sym_keywords, - ACTIONS(41), 2, + sym_var_name, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(430), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4092,7 +4474,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4112,71 +4494,71 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(23), 1, + ACTIONS(33), 1, sym_identifier, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(59), 1, + ACTIONS(69), 1, anon_sym_STAR, - ACTIONS(63), 1, + ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_QMARK2, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(239), 1, + STATE(261), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - STATE(330), 1, + STATE(353), 1, sym_parameter, - STATE(344), 1, + STATE(375), 1, sym_rest_positional, - STATE(348), 1, + STATE(378), 1, sym_trailing_positionals, - STATE(428), 1, - sym_var_name, - STATE(430), 1, + STATE(427), 1, sym_splat_keyword, - STATE(433), 1, + STATE(432), 1, + sym_var_name, + STATE(438), 1, sym_keywords, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(430), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4186,7 +4568,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4206,71 +4588,71 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(23), 1, + ACTIONS(33), 1, sym_identifier, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(59), 1, + ACTIONS(69), 1, anon_sym_STAR, - ACTIONS(63), 1, + ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_QMARK2, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(239), 1, + STATE(261), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - STATE(330), 1, + STATE(353), 1, sym_parameter, - STATE(357), 1, + STATE(380), 1, sym_trailing_positionals, - STATE(359), 1, + STATE(381), 1, sym_rest_positional, - STATE(401), 1, + STATE(427), 1, + sym_splat_keyword, + STATE(431), 1, sym_keywords, - STATE(428), 1, + STATE(432), 1, sym_var_name, - STATE(430), 1, - sym_splat_keyword, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(430), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4280,7 +4662,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4300,67 +4682,67 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(23), 1, + ACTIONS(33), 1, sym_identifier, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(63), 1, + ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_QMARK2, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(239), 1, + STATE(261), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - STATE(330), 1, + STATE(353), 1, sym_parameter, - STATE(348), 1, + STATE(379), 1, sym_trailing_positionals, - STATE(428), 1, - sym_var_name, - STATE(430), 1, + STATE(427), 1, sym_splat_keyword, - STATE(433), 1, + STATE(431), 1, sym_keywords, - ACTIONS(41), 2, + STATE(432), 1, + sym_var_name, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(430), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4370,7 +4752,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4390,67 +4772,67 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(23), 1, + ACTIONS(33), 1, sym_identifier, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(63), 1, + ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_QMARK2, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(239), 1, + STATE(261), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - STATE(330), 1, + STATE(353), 1, sym_parameter, - STATE(351), 1, + STATE(369), 1, sym_trailing_positionals, - STATE(418), 1, - sym_keywords, - STATE(428), 1, - sym_var_name, - STATE(430), 1, + STATE(427), 1, sym_splat_keyword, - ACTIONS(41), 2, + STATE(432), 1, + sym_var_name, + STATE(449), 1, + sym_keywords, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(430), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4460,7 +4842,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4480,67 +4862,67 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(23), 1, + ACTIONS(33), 1, sym_identifier, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(63), 1, + ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_QMARK2, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(239), 1, + STATE(261), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - STATE(330), 1, + STATE(353), 1, sym_parameter, - STATE(356), 1, + STATE(378), 1, sym_trailing_positionals, - STATE(401), 1, - sym_keywords, - STATE(428), 1, - sym_var_name, - STATE(430), 1, + STATE(427), 1, sym_splat_keyword, - ACTIONS(41), 2, + STATE(432), 1, + sym_var_name, + STATE(438), 1, + sym_keywords, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(430), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4550,7 +4932,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4565,84 +4947,98 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [762] = 27, + [762] = 35, ACTIONS(3), 1, sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, - sym_identifier, + anon_sym_PERCENTa_LT, ACTIONS(25), 1, - sym_constant, + anon_sym_module, ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_singleton, - ACTIONS(37), 1, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(79), 1, anon_sym_LBRACK, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_DQUOTE, - ACTIONS(45), 1, - anon_sym_SQUOTE, - ACTIONS(47), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, - aux_sym_symbol_literal_token1, - ACTIONS(53), 1, - aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, - anon_sym_CARET, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(239), 1, - sym_type, - STATE(303), 1, - sym_parameter, - STATE(318), 1, + ACTIONS(81), 1, + anon_sym_COLON, + ACTIONS(83), 1, + anon_sym_end, + ACTIONS(85), 1, + anon_sym_EQ2, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + STATE(11), 1, + sym_module_type_parameters, + STATE(17), 1, + sym_module_self_type_binds, + STATE(20), 1, + aux_sym_class_decl_repeat1, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, sym_namespace, - STATE(382), 1, - sym_var_name, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, - sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(114), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [866] = 28, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [888] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -4652,56 +5048,70 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 1, sym__scope, ACTIONS(15), 1, - anon_sym_module, + anon_sym_PERCENTa_LBRACE, ACTIONS(17), 1, - anon_sym_interface, + anon_sym_PERCENTa_LPAREN, ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(25), 1, + anon_sym_module, + ACTIONS(27), 1, + anon_sym_interface, + ACTIONS(29), 1, anon_sym_type, - ACTIONS(67), 1, + ACTIONS(77), 1, sym_self, - ACTIONS(69), 1, + ACTIONS(79), 1, anon_sym_LBRACK, - ACTIONS(71), 1, - anon_sym_COLON, - ACTIONS(73), 1, - anon_sym_end, - ACTIONS(75), 1, - anon_sym_EQ2, - ACTIONS(77), 1, + ACTIONS(87), 1, anon_sym_def, - ACTIONS(83), 1, + ACTIONS(93), 1, anon_sym_include, - ACTIONS(85), 1, + ACTIONS(95), 1, anon_sym_extend, - ACTIONS(87), 1, + ACTIONS(97), 1, anon_sym_prepend, - ACTIONS(89), 1, + ACTIONS(99), 1, anon_sym_alias, - STATE(50), 1, + ACTIONS(103), 1, + anon_sym_end, + ACTIONS(105), 1, + anon_sym_LT, + ACTIONS(107), 1, + anon_sym_EQ2, + STATE(10), 1, sym_module_type_parameters, - STATE(52), 1, - sym_module_self_type_binds, - STATE(65), 1, + STATE(14), 1, aux_sym_class_decl_repeat1, - STATE(74), 1, + STATE(18), 1, + sym_superclass, + STATE(69), 1, sym_attribyte_type, - STATE(247), 1, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, sym_visibility, - STATE(373), 1, + STATE(464), 1, sym_const_name, - STATE(395), 1, + STATE(465), 1, sym_namespace, - ACTIONS(79), 2, + ACTIONS(89), 2, anon_sym_public, anon_sym_private, - ACTIONS(91), 2, + ACTIONS(101), 2, sym_ivar_name, sym_cvar_name, - ACTIONS(81), 3, + ACTIONS(91), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(180), 17, + STATE(193), 17, sym__nestable_decls, sym_class_decl, sym_module_decl, @@ -4719,532 +5129,663 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [971] = 26, + [1014] = 32, ACTIONS(3), 1, sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, ACTIONS(25), 1, - sym_constant, + anon_sym_module, ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_singleton, - ACTIONS(37), 1, - anon_sym_LBRACK, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_DQUOTE, - ACTIONS(45), 1, - anon_sym_SQUOTE, - ACTIONS(47), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, - aux_sym_symbol_literal_token1, - ACTIONS(53), 1, - aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, - anon_sym_CARET, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, + anon_sym_def, ACTIONS(93), 1, - sym_identifier, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(239), 1, - sym_type, - STATE(318), 1, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(105), 1, + anon_sym_LT, + ACTIONS(109), 1, + anon_sym_end, + STATE(12), 1, + aux_sym_class_decl_repeat1, + STATE(16), 1, + sym_superclass, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, sym_namespace, - STATE(341), 1, - sym_parameter, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, - sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(114), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [1072] = 26, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [1131] = 32, ACTIONS(3), 1, sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, ACTIONS(25), 1, - sym_constant, + anon_sym_module, ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_singleton, - ACTIONS(37), 1, - anon_sym_LBRACK, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_DQUOTE, - ACTIONS(45), 1, - anon_sym_SQUOTE, - ACTIONS(47), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, - aux_sym_symbol_literal_token1, - ACTIONS(53), 1, - aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, - anon_sym_CARET, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(81), 1, + anon_sym_COLON, + ACTIONS(87), 1, + anon_sym_def, ACTIONS(93), 1, - sym_identifier, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(239), 1, - sym_type, - STATE(318), 1, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(111), 1, + anon_sym_end, + STATE(13), 1, + aux_sym_class_decl_repeat1, + STATE(19), 1, + sym_module_self_type_binds, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, sym_namespace, - STATE(381), 1, - sym_parameter, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, - sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(114), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [1173] = 26, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [1248] = 30, ACTIONS(3), 1, sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, ACTIONS(25), 1, - sym_constant, + anon_sym_module, ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_singleton, - ACTIONS(37), 1, - anon_sym_LBRACK, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_DQUOTE, - ACTIONS(45), 1, - anon_sym_SQUOTE, - ACTIONS(47), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, - aux_sym_symbol_literal_token1, - ACTIONS(53), 1, - aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, - anon_sym_CARET, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, + anon_sym_def, ACTIONS(93), 1, - sym_identifier, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(239), 1, - sym_type, - STATE(318), 1, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(113), 1, + anon_sym_end, + STATE(15), 1, + aux_sym_class_decl_repeat1, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, sym_namespace, - STATE(335), 1, - sym_parameter, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, - sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(114), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [1274] = 26, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [1359] = 30, ACTIONS(3), 1, sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, ACTIONS(25), 1, - sym_constant, + anon_sym_module, ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_singleton, - ACTIONS(37), 1, - anon_sym_LBRACK, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_DQUOTE, - ACTIONS(45), 1, - anon_sym_SQUOTE, - ACTIONS(47), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, - aux_sym_symbol_literal_token1, - ACTIONS(53), 1, - aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, - anon_sym_CARET, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, + anon_sym_def, ACTIONS(93), 1, - sym_identifier, + anon_sym_include, ACTIONS(95), 1, - anon_sym_RBRACK, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(246), 1, - sym_type, - STATE(318), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(115), 1, + anon_sym_end, + STATE(15), 1, + aux_sym_class_decl_repeat1, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, sym_namespace, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, - sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(114), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [1375] = 26, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [1470] = 30, ACTIONS(3), 1, sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, ACTIONS(25), 1, - sym_constant, + anon_sym_module, ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_singleton, - ACTIONS(37), 1, - anon_sym_LBRACK, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_DQUOTE, - ACTIONS(45), 1, - anon_sym_SQUOTE, - ACTIONS(47), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, - aux_sym_symbol_literal_token1, - ACTIONS(53), 1, - aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, - anon_sym_CARET, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, + anon_sym_def, ACTIONS(93), 1, - sym_identifier, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, ACTIONS(97), 1, - anon_sym_RBRACK, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(251), 1, - sym_type, - STATE(318), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(117), 1, + anon_sym_end, + STATE(15), 1, + aux_sym_class_decl_repeat1, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, sym_namespace, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [1581] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(119), 1, + sym_constant, + ACTIONS(122), 1, sym_self, - anon_sym_instance, + ACTIONS(125), 1, anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(114), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [1476] = 26, + ACTIONS(128), 1, + sym__scope, + ACTIONS(131), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(134), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(137), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(140), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(143), 1, + anon_sym_PERCENTa_LT, + ACTIONS(146), 1, + anon_sym_end, + ACTIONS(148), 1, + anon_sym_module, + ACTIONS(151), 1, + anon_sym_interface, + ACTIONS(154), 1, + anon_sym_type, + ACTIONS(157), 1, + anon_sym_def, + ACTIONS(166), 1, + anon_sym_include, + ACTIONS(169), 1, + anon_sym_extend, + ACTIONS(172), 1, + anon_sym_prepend, + ACTIONS(175), 1, + anon_sym_alias, + STATE(15), 1, + aux_sym_class_decl_repeat1, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, + sym_namespace, + ACTIONS(160), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(178), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(163), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [1692] = 30, ACTIONS(3), 1, sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, ACTIONS(25), 1, - sym_constant, + anon_sym_module, ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_singleton, - ACTIONS(37), 1, - anon_sym_LBRACK, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_DQUOTE, - ACTIONS(45), 1, - anon_sym_SQUOTE, - ACTIONS(47), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, - aux_sym_symbol_literal_token1, - ACTIONS(53), 1, - aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, - anon_sym_CARET, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, + anon_sym_def, ACTIONS(93), 1, - sym_identifier, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(239), 1, - sym_type, - STATE(318), 1, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(181), 1, + anon_sym_end, + STATE(22), 1, + aux_sym_class_decl_repeat1, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, sym_namespace, - STATE(362), 1, - sym_parameter, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, - sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(114), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [1577] = 26, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [1803] = 30, ACTIONS(3), 1, sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, ACTIONS(25), 1, - sym_constant, + anon_sym_module, ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_singleton, - ACTIONS(37), 1, - anon_sym_LBRACK, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_DQUOTE, - ACTIONS(45), 1, - anon_sym_SQUOTE, - ACTIONS(47), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, - aux_sym_symbol_literal_token1, - ACTIONS(53), 1, - aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, - anon_sym_CARET, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, + anon_sym_def, ACTIONS(93), 1, - sym_identifier, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, ACTIONS(99), 1, - anon_sym_RBRACK, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(251), 1, - sym_type, - STATE(318), 1, + anon_sym_alias, + ACTIONS(111), 1, + anon_sym_end, + STATE(13), 1, + aux_sym_class_decl_repeat1, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, sym_namespace, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, - sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(114), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [1678] = 28, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [1914] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5254,56 +5795,60 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 1, sym__scope, ACTIONS(15), 1, - anon_sym_module, + anon_sym_PERCENTa_LBRACE, ACTIONS(17), 1, - anon_sym_interface, + anon_sym_PERCENTa_LPAREN, ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(25), 1, + anon_sym_module, + ACTIONS(27), 1, + anon_sym_interface, + ACTIONS(29), 1, anon_sym_type, - ACTIONS(67), 1, - sym_self, - ACTIONS(69), 1, - anon_sym_LBRACK, ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, anon_sym_def, - ACTIONS(83), 1, + ACTIONS(93), 1, anon_sym_include, - ACTIONS(85), 1, + ACTIONS(95), 1, anon_sym_extend, - ACTIONS(87), 1, + ACTIONS(97), 1, anon_sym_prepend, - ACTIONS(89), 1, + ACTIONS(99), 1, anon_sym_alias, - ACTIONS(101), 1, + ACTIONS(109), 1, anon_sym_end, - ACTIONS(103), 1, - anon_sym_LT, - ACTIONS(105), 1, - anon_sym_EQ2, - STATE(51), 1, - sym_module_type_parameters, - STATE(55), 1, - sym_superclass, - STATE(57), 1, + STATE(12), 1, aux_sym_class_decl_repeat1, - STATE(74), 1, + STATE(69), 1, sym_attribyte_type, - STATE(247), 1, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, sym_visibility, - STATE(373), 1, + STATE(464), 1, sym_const_name, - STATE(395), 1, + STATE(465), 1, sym_namespace, - ACTIONS(79), 2, + ACTIONS(89), 2, anon_sym_public, anon_sym_private, - ACTIONS(91), 2, + ACTIONS(101), 2, sym_ivar_name, sym_cvar_name, - ACTIONS(81), 3, + ACTIONS(91), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(180), 17, + STATE(193), 17, sym__nestable_decls, sym_class_decl, sym_module_decl, @@ -5321,274 +5866,383 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1783] = 25, + [2025] = 30, ACTIONS(3), 1, sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, ACTIONS(25), 1, - sym_constant, + anon_sym_module, ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_singleton, - ACTIONS(37), 1, - anon_sym_LBRACK, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_DQUOTE, - ACTIONS(45), 1, - anon_sym_SQUOTE, - ACTIONS(47), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, - aux_sym_symbol_literal_token1, - ACTIONS(53), 1, - aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, - anon_sym_CARET, - ACTIONS(93), 1, - sym_identifier, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(278), 1, - sym_type, - STATE(318), 1, - sym_namespace, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(114), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [1881] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(25), 1, - sym_constant, - ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_singleton, - ACTIONS(37), 1, - anon_sym_LBRACK, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_DQUOTE, - ACTIONS(45), 1, - anon_sym_SQUOTE, - ACTIONS(47), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, - aux_sym_symbol_literal_token1, - ACTIONS(53), 1, - aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, - anon_sym_CARET, + ACTIONS(87), 1, + anon_sym_def, ACTIONS(93), 1, - sym_identifier, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(142), 1, - sym_type, - STATE(318), 1, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(183), 1, + anon_sym_end, + STATE(21), 1, + aux_sym_class_decl_repeat1, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, sym_namespace, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, - sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(114), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [1979] = 25, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [2136] = 30, ACTIONS(3), 1, sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, ACTIONS(25), 1, - sym_constant, + anon_sym_module, ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, - ACTIONS(35), 1, - anon_sym_singleton, - ACTIONS(37), 1, - anon_sym_LBRACK, - ACTIONS(39), 1, - anon_sym_LBRACE, - ACTIONS(43), 1, - anon_sym_DQUOTE, - ACTIONS(45), 1, - anon_sym_SQUOTE, - ACTIONS(47), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, - aux_sym_symbol_literal_token1, - ACTIONS(53), 1, - aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, - anon_sym_CARET, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, + anon_sym_def, ACTIONS(93), 1, - sym_identifier, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(141), 1, - sym_type, - STATE(318), 1, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(185), 1, + anon_sym_end, + STATE(15), 1, + aux_sym_class_decl_repeat1, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, sym_namespace, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, - sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(114), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [2077] = 25, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [2247] = 30, ACTIONS(3), 1, sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, ACTIONS(25), 1, - sym_constant, + anon_sym_module, ACTIONS(27), 1, - sym_interface, - ACTIONS(31), 1, - anon_sym_LPAREN, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(187), 1, + anon_sym_end, + STATE(15), 1, + aux_sym_class_decl_repeat1, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, + sym_namespace, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [2358] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, + ACTIONS(11), 1, + sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(25), 1, + anon_sym_module, + ACTIONS(27), 1, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(189), 1, + anon_sym_end, + STATE(15), 1, + aux_sym_class_decl_repeat1, + STATE(69), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(271), 1, + sym_visibility, + STATE(464), 1, + sym_const_name, + STATE(465), 1, + sym_namespace, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(193), 17, + sym__nestable_decls, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym__member, + sym_ivar_member, + sym_method_member, + sym_attribute_member, + sym_visibility_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [2469] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym__scope, + ACTIONS(33), 1, + sym_identifier, ACTIONS(35), 1, - anon_sym_singleton, + sym_constant, ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, - sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(140), 1, + STATE(261), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + STATE(333), 1, + sym_parameter, + STATE(428), 1, + sym_var_name, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -5598,7 +6252,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5613,55 +6267,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2175] = 25, + [2573] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + ACTIONS(193), 1, + anon_sym_RBRACK, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(132), 1, + STATE(284), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -5671,7 +6327,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5686,55 +6342,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2273] = 25, + [2674] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + ACTIONS(195), 1, + anon_sym_RBRACK, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(112), 1, + STATE(284), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -5744,7 +6402,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5759,55 +6417,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2371] = 25, + [2775] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(255), 1, + STATE(261), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + STATE(376), 1, + sym_parameter, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -5817,7 +6477,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5832,55 +6492,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2469] = 25, + [2876] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(127), 1, + STATE(261), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + STATE(373), 1, + sym_parameter, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -5890,7 +6552,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5905,55 +6567,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2567] = 25, + [2977] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(258), 1, + STATE(261), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + STATE(397), 1, + sym_parameter, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -5963,7 +6627,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5978,55 +6642,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2665] = 25, + [3078] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(271), 1, + STATE(261), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + STATE(382), 1, + sym_parameter, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6036,7 +6702,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6051,55 +6717,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2763] = 25, + [3179] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(57), 1, + ACTIONS(65), 1, + sym_integer_literal, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - ACTIONS(109), 1, - sym_integer_literal, - STATE(88), 1, + ACTIONS(197), 1, + anon_sym_RBRACK, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(308), 1, + STATE(268), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(107), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6109,7 +6777,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(290), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6124,55 +6792,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2861] = 25, + [3280] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(126), 1, + STATE(119), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6182,7 +6850,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6197,55 +6865,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2959] = 25, + [3378] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(213), 1, + STATE(288), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6255,7 +6923,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6270,55 +6938,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3057] = 25, + [3476] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(138), 1, + STATE(284), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6328,7 +6996,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6343,55 +7011,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3155] = 25, + [3574] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, - sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + ACTIONS(201), 1, + sym_integer_literal, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(128), 1, - sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + STATE(337), 1, + sym_type, + ACTIONS(199), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6401,7 +7069,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(298), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6416,55 +7084,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3253] = 25, + [3672] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(125), 1, + STATE(146), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6474,7 +7142,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6489,55 +7157,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3351] = 25, + [3770] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(137), 1, + STATE(149), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6547,7 +7215,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6562,55 +7230,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3449] = 25, + [3868] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(241), 1, + STATE(137), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6620,7 +7288,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6635,55 +7303,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3547] = 25, + [3966] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(251), 1, + STATE(121), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6693,7 +7361,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6708,55 +7376,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3645] = 25, + [4064] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(113), 1, + STATE(130), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6766,7 +7434,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6781,55 +7449,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3743] = 25, + [4162] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, STATE(143), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6839,7 +7507,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6854,55 +7522,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3841] = 25, + [4260] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(277), 1, + STATE(136), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6912,7 +7580,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6927,55 +7595,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3939] = 25, + [4358] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(275), 1, + STATE(227), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -6985,7 +7653,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7000,55 +7668,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4037] = 25, + [4456] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(144), 1, + STATE(141), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -7058,7 +7726,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7073,55 +7741,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4135] = 25, + [4554] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(257), 1, + STATE(132), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -7131,7 +7799,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7146,55 +7814,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4233] = 25, + [4652] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(122), 1, + STATE(145), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -7204,7 +7872,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7219,55 +7887,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4331] = 25, + [4750] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(124), 1, + STATE(110), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -7277,7 +7945,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7292,55 +7960,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4429] = 25, + [4848] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(123), 1, + STATE(274), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -7350,7 +8018,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7365,55 +8033,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4527] = 25, + [4946] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(136), 1, + STATE(294), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -7423,7 +8091,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7438,55 +8106,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4625] = 25, + [5044] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(129), 1, + STATE(147), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -7496,7 +8164,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7511,55 +8179,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4723] = 25, + [5142] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(135), 1, + STATE(144), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -7569,7 +8237,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7584,55 +8252,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4821] = 25, + [5240] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(27), 1, + ACTIONS(37), 1, sym_interface, - ACTIONS(31), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(45), 1, anon_sym_singleton, - ACTIONS(37), 1, + ACTIONS(47), 1, anon_sym_LBRACK, - ACTIONS(39), 1, + ACTIONS(49), 1, anon_sym_LBRACE, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_DQUOTE, - ACTIONS(45), 1, + ACTIONS(55), 1, anon_sym_SQUOTE, - ACTIONS(47), 1, + ACTIONS(57), 1, anon_sym_COLON_DQUOTE, - ACTIONS(49), 1, + ACTIONS(59), 1, anon_sym_COLON_SQUOTE, - ACTIONS(51), 1, + ACTIONS(61), 1, aux_sym_symbol_literal_token1, - ACTIONS(53), 1, + ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(55), 1, + ACTIONS(65), 1, sym_integer_literal, - ACTIONS(57), 1, + ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(92), 1, - sym_alias_name, - STATE(134), 1, + STATE(108), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -7642,7 +8310,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(107), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7657,680 +8325,929 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4919] = 25, + [5338] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, - anon_sym_class, ACTIONS(11), 1, sym__scope, - ACTIONS(15), 1, - anon_sym_module, - ACTIONS(17), 1, - anon_sym_interface, - ACTIONS(19), 1, - anon_sym_type, - ACTIONS(67), 1, - sym_self, - ACTIONS(71), 1, - anon_sym_COLON, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(85), 1, - anon_sym_extend, - ACTIONS(87), 1, - anon_sym_prepend, - ACTIONS(89), 1, - anon_sym_alias, - ACTIONS(111), 1, - anon_sym_end, - STATE(54), 1, - aux_sym_class_decl_repeat1, - STATE(59), 1, - sym_module_self_type_binds, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, + ACTIONS(35), 1, + sym_constant, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, + ACTIONS(67), 1, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(148), 1, + sym_type, + STATE(329), 1, sym_namespace, - ACTIONS(79), 2, - anon_sym_public, - anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [5015] = 25, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, + anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(107), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [5436] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, - anon_sym_class, ACTIONS(11), 1, sym__scope, - ACTIONS(15), 1, - anon_sym_module, - ACTIONS(17), 1, - anon_sym_interface, - ACTIONS(19), 1, - anon_sym_type, + ACTIONS(35), 1, + sym_constant, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, ACTIONS(67), 1, - sym_self, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(85), 1, - anon_sym_extend, - ACTIONS(87), 1, - anon_sym_prepend, - ACTIONS(89), 1, - anon_sym_alias, - ACTIONS(103), 1, - anon_sym_LT, - ACTIONS(113), 1, - anon_sym_end, - STATE(64), 1, - aux_sym_class_decl_repeat1, - STATE(68), 1, - sym_superclass, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(139), 1, + sym_type, + STATE(329), 1, sym_namespace, - ACTIONS(79), 2, - anon_sym_public, - anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [5111] = 23, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, + anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(107), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [5534] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, - anon_sym_class, ACTIONS(11), 1, sym__scope, - ACTIONS(15), 1, - anon_sym_module, - ACTIONS(17), 1, - anon_sym_interface, - ACTIONS(19), 1, - anon_sym_type, + ACTIONS(35), 1, + sym_constant, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, ACTIONS(67), 1, - sym_self, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(85), 1, - anon_sym_extend, - ACTIONS(87), 1, - anon_sym_prepend, - ACTIONS(89), 1, - anon_sym_alias, - ACTIONS(111), 1, - anon_sym_end, - STATE(54), 1, - aux_sym_class_decl_repeat1, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(276), 1, + sym_type, + STATE(329), 1, sym_namespace, - ACTIONS(79), 2, - anon_sym_public, - anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [5201] = 23, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, + anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(107), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [5632] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(115), 1, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, sym_constant, - ACTIONS(118), 1, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, + ACTIONS(67), 1, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(131), 1, + sym_type, + STATE(329), 1, + sym_namespace, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, sym_self, - ACTIONS(121), 1, + anon_sym_instance, anon_sym_class, - ACTIONS(124), 1, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(107), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [5730] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, sym__scope, - ACTIONS(127), 1, - anon_sym_end, - ACTIONS(129), 1, - anon_sym_module, - ACTIONS(132), 1, - anon_sym_interface, - ACTIONS(135), 1, - anon_sym_type, - ACTIONS(138), 1, - anon_sym_def, - ACTIONS(147), 1, - anon_sym_include, - ACTIONS(150), 1, - anon_sym_extend, - ACTIONS(153), 1, - anon_sym_prepend, - ACTIONS(156), 1, - anon_sym_alias, - STATE(53), 1, - aux_sym_class_decl_repeat1, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, + ACTIONS(35), 1, + sym_constant, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, + ACTIONS(67), 1, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(290), 1, + sym_type, + STATE(329), 1, sym_namespace, - ACTIONS(141), 2, - anon_sym_public, - anon_sym_private, - ACTIONS(159), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(144), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [5291] = 23, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, + anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(107), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [5828] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, + ACTIONS(67), 1, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(306), 1, + sym_type, + STATE(329), 1, + sym_namespace, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, + anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(107), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [5926] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, + ACTIONS(67), 1, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(282), 1, + sym_type, + STATE(329), 1, + sym_namespace, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, + anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(107), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [6024] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, - anon_sym_class, ACTIONS(11), 1, sym__scope, - ACTIONS(15), 1, - anon_sym_module, - ACTIONS(17), 1, - anon_sym_interface, - ACTIONS(19), 1, - anon_sym_type, + ACTIONS(35), 1, + sym_constant, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, ACTIONS(67), 1, - sym_self, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(85), 1, - anon_sym_extend, - ACTIONS(87), 1, - anon_sym_prepend, - ACTIONS(89), 1, - anon_sym_alias, - ACTIONS(162), 1, - anon_sym_end, - STATE(53), 1, - aux_sym_class_decl_repeat1, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(114), 1, + sym_type, + STATE(329), 1, sym_namespace, - ACTIONS(79), 2, - anon_sym_public, - anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [5381] = 23, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, + anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(107), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [6122] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, sym_constant, - ACTIONS(9), 1, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, + ACTIONS(67), 1, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(115), 1, + sym_type, + STATE(329), 1, + sym_namespace, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(107), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [6220] = 25, + ACTIONS(3), 1, + sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(15), 1, - anon_sym_module, - ACTIONS(17), 1, - anon_sym_interface, - ACTIONS(19), 1, - anon_sym_type, + ACTIONS(35), 1, + sym_constant, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, ACTIONS(67), 1, - sym_self, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(85), 1, - anon_sym_extend, - ACTIONS(87), 1, - anon_sym_prepend, - ACTIONS(89), 1, - anon_sym_alias, - ACTIONS(113), 1, - anon_sym_end, - STATE(64), 1, - aux_sym_class_decl_repeat1, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(283), 1, + sym_type, + STATE(329), 1, sym_namespace, - ACTIONS(79), 2, - anon_sym_public, - anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [5471] = 3, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, + anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(107), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [6318] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(164), 20, - sym_self, - anon_sym_LPAREN, - anon_sym_STAR, - anon_sym_end, - anon_sym_LT, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, - anon_sym_EQ_EQ, - anon_sym_GT, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - sym_identifier, - ACTIONS(166), 22, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, sym_constant, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_COLON, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, + ACTIONS(67), 1, anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_LPAREN_RPAREN, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [5521] = 23, + ACTIONS(191), 1, + sym_identifier, + STATE(82), 1, + sym_alias_name, + STATE(83), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(142), 1, + sym_type, + STATE(329), 1, + sym_namespace, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, + anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(107), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [6416] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(207), 1, + sym__scope, + ACTIONS(203), 20, + ts_builtin_sym_end, sym_constant, - ACTIONS(9), 1, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_LT, + anon_sym_EQ2, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + ACTIONS(205), 20, + sym_self, anon_sym_class, - ACTIONS(11), 1, - sym__scope, - ACTIONS(15), 1, + anon_sym_COLON, + anon_sym_use, + anon_sym_as, + anon_sym_end, anon_sym_module, - ACTIONS(17), 1, anon_sym_interface, - ACTIONS(19), 1, anon_sym_type, - ACTIONS(67), 1, - sym_self, - ACTIONS(77), 1, anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(85), 1, - anon_sym_extend, - ACTIONS(87), 1, - anon_sym_prepend, - ACTIONS(89), 1, - anon_sym_alias, - ACTIONS(168), 1, - anon_sym_end, - STATE(53), 1, - aux_sym_class_decl_repeat1, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, - sym_namespace, - ACTIONS(79), 2, anon_sym_public, anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [5611] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, - anon_sym_class, - ACTIONS(11), 1, - sym__scope, - ACTIONS(15), 1, - anon_sym_module, - ACTIONS(17), 1, - anon_sym_interface, - ACTIONS(19), 1, - anon_sym_type, - ACTIONS(67), 1, - sym_self, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, anon_sym_include, - ACTIONS(85), 1, anon_sym_extend, - ACTIONS(87), 1, anon_sym_prepend, - ACTIONS(89), 1, anon_sym_alias, - ACTIONS(170), 1, - anon_sym_end, - STATE(53), 1, - aux_sym_class_decl_repeat1, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, - sym_namespace, - ACTIONS(79), 2, - anon_sym_public, - anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [5701] = 23, + sym_identifier, + [6467] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(213), 1, + sym__scope, + ACTIONS(209), 20, + ts_builtin_sym_end, sym_constant, - ACTIONS(9), 1, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_LT, + anon_sym_EQ2, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + ACTIONS(211), 20, + sym_self, anon_sym_class, - ACTIONS(11), 1, - sym__scope, - ACTIONS(15), 1, + anon_sym_COLON, + anon_sym_use, + anon_sym_as, + anon_sym_end, anon_sym_module, - ACTIONS(17), 1, anon_sym_interface, - ACTIONS(19), 1, anon_sym_type, - ACTIONS(67), 1, - sym_self, - ACTIONS(77), 1, anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(85), 1, - anon_sym_extend, - ACTIONS(87), 1, - anon_sym_prepend, - ACTIONS(89), 1, - anon_sym_alias, - ACTIONS(172), 1, - anon_sym_end, - STATE(61), 1, - aux_sym_class_decl_repeat1, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, - sym_namespace, - ACTIONS(79), 2, anon_sym_public, anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [5791] = 3, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + [6518] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(174), 20, + ACTIONS(215), 1, + sym_identifier, + ACTIONS(217), 1, + sym_constant, + ACTIONS(219), 1, sym_self, - anon_sym_LPAREN, + ACTIONS(225), 1, + aux_sym_method_name_token1, + STATE(76), 1, + sym_method_name, + STATE(391), 1, + sym_singleton_method_name, + STATE(88), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(223), 11, anon_sym_STAR, - anon_sym_end, + anon_sym_GT, anon_sym_LT, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -8338,15 +9255,63 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, + ACTIONS(221), 18, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [6580] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(215), 1, sym_identifier, - ACTIONS(176), 22, + ACTIONS(217), 1, sym_constant, + ACTIONS(219), 1, + sym_self, + ACTIONS(225), 1, + aux_sym_method_name_token1, + STATE(77), 1, + sym_method_name, + STATE(360), 1, + sym_singleton_method_name, + STATE(88), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(223), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(221), 18, anon_sym_PIPE, anon_sym_AMP, - anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, - anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -8361,90 +9326,130 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [5841] = 23, + [6642] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(225), 1, + aux_sym_method_name_token1, + ACTIONS(227), 1, + sym_identifier, + ACTIONS(229), 1, sym_constant, - ACTIONS(9), 1, - anon_sym_class, - ACTIONS(11), 1, - sym__scope, - ACTIONS(15), 1, - anon_sym_module, - ACTIONS(17), 1, - anon_sym_interface, - ACTIONS(19), 1, - anon_sym_type, - ACTIONS(67), 1, + ACTIONS(231), 1, sym_self, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(85), 1, - anon_sym_extend, - ACTIONS(87), 1, - anon_sym_prepend, - ACTIONS(89), 1, - anon_sym_alias, - ACTIONS(178), 1, - anon_sym_end, - STATE(53), 1, - aux_sym_class_decl_repeat1, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, - sym_namespace, - ACTIONS(79), 2, - anon_sym_public, - anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [5931] = 3, + STATE(421), 1, + sym_method_name, + STATE(88), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(223), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(221), 18, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [6701] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(180), 20, + ACTIONS(225), 1, + aux_sym_method_name_token1, + ACTIONS(227), 1, + sym_identifier, + ACTIONS(229), 1, + sym_constant, + ACTIONS(233), 1, sym_self, - anon_sym_LPAREN, + STATE(400), 1, + sym_method_name, + STATE(88), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(223), 11, anon_sym_STAR, - anon_sym_end, + anon_sym_GT, anon_sym_LT, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(221), 18, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [6760] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(225), 1, + aux_sym_method_name_token1, + ACTIONS(227), 1, + sym_identifier, + ACTIONS(229), 1, + sym_constant, + ACTIONS(235), 1, + sym_self, + STATE(335), 1, + sym_method_name, + STATE(88), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(223), 11, + anon_sym_STAR, anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -8452,15 +9457,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - sym_identifier, - ACTIONS(182), 22, - sym_constant, + ACTIONS(221), 18, anon_sym_PIPE, anon_sym_AMP, - anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, - anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -8475,23 +9476,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [5981] = 3, + [6819] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(184), 20, + ACTIONS(225), 1, + aux_sym_method_name_token1, + ACTIONS(227), 1, + sym_identifier, + ACTIONS(229), 1, + sym_constant, + ACTIONS(237), 1, sym_self, - anon_sym_LPAREN, + STATE(347), 1, + sym_method_name, + STATE(88), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(223), 11, anon_sym_STAR, - anon_sym_end, + anon_sym_GT, anon_sym_LT, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -8499,15 +9507,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - sym_identifier, - ACTIONS(186), 22, - sym_constant, + ACTIONS(221), 18, anon_sym_PIPE, anon_sym_AMP, - anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, - anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -8522,157 +9526,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [6031] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, - anon_sym_class, - ACTIONS(11), 1, - sym__scope, - ACTIONS(15), 1, - anon_sym_module, - ACTIONS(17), 1, - anon_sym_interface, - ACTIONS(19), 1, - anon_sym_type, - ACTIONS(67), 1, - sym_self, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(85), 1, - anon_sym_extend, - ACTIONS(87), 1, - anon_sym_prepend, - ACTIONS(89), 1, - anon_sym_alias, - ACTIONS(188), 1, - anon_sym_end, - STATE(53), 1, - aux_sym_class_decl_repeat1, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, - sym_namespace, - ACTIONS(79), 2, - anon_sym_public, - anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [6121] = 23, + [6878] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(239), 1, + sym_identifier, + ACTIONS(241), 1, sym_constant, - ACTIONS(9), 1, - anon_sym_class, - ACTIONS(11), 1, - sym__scope, - ACTIONS(15), 1, - anon_sym_module, - ACTIONS(17), 1, - anon_sym_interface, - ACTIONS(19), 1, - anon_sym_type, - ACTIONS(67), 1, - sym_self, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(85), 1, - anon_sym_extend, - ACTIONS(87), 1, - anon_sym_prepend, - ACTIONS(89), 1, - anon_sym_alias, - ACTIONS(190), 1, - anon_sym_end, - STATE(53), 1, - aux_sym_class_decl_repeat1, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, - sym_namespace, - ACTIONS(79), 2, - anon_sym_public, - anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [6211] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(192), 20, - sym_self, - anon_sym_LPAREN, + ACTIONS(247), 1, + aux_sym_method_name_token1, + STATE(208), 1, + sym_method_name, + STATE(202), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(245), 11, anon_sym_STAR, - anon_sym_end, + anon_sym_GT, anon_sym_LT, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -8680,15 +9555,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - sym_identifier, - ACTIONS(194), 22, - sym_constant, + ACTIONS(243), 18, anon_sym_PIPE, anon_sym_AMP, - anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, - anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -8703,23 +9574,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [6261] = 3, + [6934] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(196), 20, - sym_self, - anon_sym_LPAREN, + ACTIONS(247), 1, + aux_sym_method_name_token1, + ACTIONS(249), 1, + sym_identifier, + ACTIONS(251), 1, + sym_constant, + STATE(208), 1, + sym_method_name, + STATE(202), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(245), 11, anon_sym_STAR, - anon_sym_end, + anon_sym_GT, anon_sym_LT, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -8727,123 +9603,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - sym_identifier, - ACTIONS(198), 22, - sym_constant, + ACTIONS(243), 18, anon_sym_PIPE, anon_sym_AMP, - anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, - anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [6311] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, - anon_sym_class, - ACTIONS(11), 1, - sym__scope, - ACTIONS(15), 1, - anon_sym_module, - ACTIONS(17), 1, - anon_sym_interface, - ACTIONS(19), 1, - anon_sym_type, - ACTIONS(67), 1, - sym_self, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(85), 1, - anon_sym_extend, - ACTIONS(87), 1, - anon_sym_prepend, - ACTIONS(89), 1, - anon_sym_alias, - ACTIONS(200), 1, - anon_sym_end, - STATE(58), 1, - aux_sym_class_decl_repeat1, - STATE(74), 1, - sym_attribyte_type, - STATE(247), 1, - sym_visibility, - STATE(373), 1, - sym_const_name, - STATE(395), 1, - sym_namespace, - ACTIONS(79), 2, - anon_sym_public, - anon_sym_private, - ACTIONS(91), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(81), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - STATE(180), 17, - sym__nestable_decls, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym__member, - sym_ivar_member, - sym_method_member, - sym_attribute_member, - sym_visibility_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [6401] = 10, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [6990] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(202), 1, - sym_identifier, - ACTIONS(204), 1, - sym_constant, - ACTIONS(206), 1, - sym_self, - ACTIONS(212), 1, + ACTIONS(225), 1, aux_sym_method_name_token1, - STATE(77), 1, + ACTIONS(229), 1, + sym_constant, + ACTIONS(253), 1, + sym_identifier, + STATE(208), 1, sym_method_name, - STATE(345), 1, - sym_singleton_method_name, - STATE(60), 5, + STATE(88), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(223), 11, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -8851,7 +9651,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + ACTIONS(221), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -8870,32 +9670,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6463] = 10, + [7046] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(202), 1, - sym_identifier, - ACTIONS(204), 1, - sym_constant, - ACTIONS(206), 1, - sym_self, - ACTIONS(212), 1, + ACTIONS(225), 1, aux_sym_method_name_token1, - STATE(76), 1, + ACTIONS(229), 1, + sym_constant, + ACTIONS(253), 1, + sym_identifier, + STATE(475), 1, sym_method_name, - STATE(338), 1, - sym_singleton_method_name, - STATE(60), 5, + STATE(88), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(223), 11, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -8903,7 +9699,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + ACTIONS(221), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -8922,30 +9718,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6525] = 9, + [7102] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, + ACTIONS(225), 1, aux_sym_method_name_token1, - ACTIONS(214), 1, - sym_identifier, - ACTIONS(216), 1, + ACTIONS(229), 1, sym_constant, - ACTIONS(218), 1, - sym_self, - STATE(427), 1, + ACTIONS(253), 1, + sym_identifier, + STATE(418), 1, sym_method_name, - STATE(60), 5, + STATE(88), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(223), 11, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -8953,7 +9747,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + ACTIONS(221), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -8972,30 +9766,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6584] = 9, + [7158] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, - aux_sym_method_name_token1, - ACTIONS(214), 1, + ACTIONS(239), 1, sym_identifier, - ACTIONS(216), 1, + ACTIONS(241), 1, sym_constant, - ACTIONS(220), 1, - sym_self, - STATE(384), 1, + ACTIONS(247), 1, + aux_sym_method_name_token1, + STATE(207), 1, sym_method_name, - STATE(60), 5, + STATE(202), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(245), 11, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -9003,7 +9795,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + ACTIONS(243), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9022,30 +9814,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6643] = 9, + [7214] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, + ACTIONS(247), 1, aux_sym_method_name_token1, - ACTIONS(214), 1, + ACTIONS(249), 1, sym_identifier, - ACTIONS(216), 1, + ACTIONS(251), 1, sym_constant, - ACTIONS(222), 1, - sym_self, - STATE(327), 1, + STATE(207), 1, sym_method_name, - STATE(60), 5, + STATE(202), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(245), 11, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -9053,7 +9843,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + ACTIONS(243), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9072,30 +9862,76 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6702] = 9, + [7270] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, + ACTIONS(225), 1, aux_sym_method_name_token1, - ACTIONS(214), 1, - sym_identifier, - ACTIONS(216), 1, + ACTIONS(229), 1, sym_constant, - ACTIONS(224), 1, - sym_self, - STATE(316), 1, + ACTIONS(253), 1, + sym_identifier, + STATE(352), 1, sym_method_name, - STATE(60), 5, + STATE(88), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(223), 11, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(221), 18, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [7326] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(225), 1, + aux_sym_method_name_token1, + ACTIONS(229), 1, + sym_constant, + ACTIONS(253), 1, + sym_identifier, + STATE(326), 1, + sym_method_name, + STATE(88), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(223), 11, + anon_sym_STAR, anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -9103,7 +9939,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + ACTIONS(221), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9122,28 +9958,232 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6761] = 8, + [7382] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(257), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(255), 20, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_EQ2, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [7427] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(261), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(259), 20, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_EQ2, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [7472] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(118), 1, + sym_type_arguments, + ACTIONS(265), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(263), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [7521] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(120), 1, + sym_type_arguments, + ACTIONS(271), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(269), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [7570] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(95), 1, + sym_type_arguments, + ACTIONS(275), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(273), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [7619] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, - aux_sym_method_name_token1, - ACTIONS(216), 1, - sym_constant, - ACTIONS(226), 1, - sym_identifier, - STATE(328), 1, - sym_method_name, - STATE(60), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(277), 14, + sym_self, + anon_sym_LPAREN, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -9151,11 +10191,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + sym_identifier, + ACTIONS(279), 22, + sym_constant, anon_sym_PIPE, anon_sym_AMP, + anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -9170,28 +10214,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6817] = 8, + aux_sym_method_name_token1, + [7663] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, - aux_sym_method_name_token1, - ACTIONS(216), 1, - sym_constant, - ACTIONS(226), 1, - sym_identifier, - STATE(192), 1, - sym_method_name, - STATE(60), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(281), 14, + sym_self, + anon_sym_LPAREN, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -9199,11 +10232,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + sym_identifier, + ACTIONS(283), 22, + sym_constant, anon_sym_PIPE, anon_sym_AMP, + anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -9218,76 +10255,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6873] = 8, + aux_sym_method_name_token1, + [7707] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(228), 1, - sym_identifier, - ACTIONS(230), 1, + ACTIONS(289), 2, + anon_sym_QMARK, + anon_sym_EQ, + ACTIONS(285), 17, + ts_builtin_sym_end, sym_constant, - ACTIONS(236), 1, - aux_sym_method_name_token1, - STATE(192), 1, - sym_method_name, - STATE(199), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(234), 11, - anon_sym_STAR, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_GT, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - ACTIONS(232), 18, + anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - [6929] = 8, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + ACTIONS(287), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + [7753] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, - aux_sym_method_name_token1, - ACTIONS(216), 1, - sym_constant, - ACTIONS(226), 1, - sym_identifier, - STATE(412), 1, - sym_method_name, - STATE(60), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(291), 14, + sym_self, + anon_sym_LPAREN, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -9295,11 +10315,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + sym_identifier, + ACTIONS(293), 22, + sym_constant, anon_sym_PIPE, anon_sym_AMP, + anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -9314,28 +10338,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6985] = 8, + aux_sym_method_name_token1, + [7797] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(228), 1, - sym_identifier, - ACTIONS(230), 1, - sym_constant, - ACTIONS(236), 1, - aux_sym_method_name_token1, - STATE(184), 1, - sym_method_name, - STATE(199), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(234), 11, + ACTIONS(295), 14, + sym_self, + anon_sym_LPAREN, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -9343,11 +10356,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(232), 18, + sym_identifier, + ACTIONS(297), 22, + sym_constant, anon_sym_PIPE, anon_sym_AMP, + anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -9362,28 +10379,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7041] = 8, + aux_sym_method_name_token1, + [7841] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, - aux_sym_method_name_token1, - ACTIONS(216), 1, - sym_constant, - ACTIONS(226), 1, - sym_identifier, - STATE(184), 1, - sym_method_name, - STATE(60), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(299), 14, + sym_self, + anon_sym_LPAREN, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -9391,11 +10397,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + sym_identifier, + ACTIONS(301), 22, + sym_constant, anon_sym_PIPE, anon_sym_AMP, + anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -9410,76 +10420,99 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7097] = 8, + aux_sym_method_name_token1, + [7885] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, - aux_sym_method_name_token1, - ACTIONS(216), 1, + ACTIONS(305), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(303), 19, + ts_builtin_sym_end, sym_constant, - ACTIONS(226), 1, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [7929] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(309), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, sym_identifier, - STATE(419), 1, - sym_method_name, - STATE(60), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(210), 11, - anon_sym_STAR, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_GT, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - ACTIONS(208), 18, + ACTIONS(307), 19, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - [7153] = 8, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [7973] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, - aux_sym_method_name_token1, - ACTIONS(216), 1, - sym_constant, - ACTIONS(226), 1, - sym_identifier, - STATE(326), 1, - sym_method_name, - STATE(60), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(311), 14, + sym_self, + anon_sym_LPAREN, anon_sym_STAR, + anon_sym_GT, anon_sym_LT, anon_sym_EQ_EQ, - anon_sym_GT, anon_sym_LT_EQ, anon_sym_PLUS, anon_sym_DASH, @@ -9487,11 +10520,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + sym_identifier, + ACTIONS(313), 22, + sym_constant, anon_sym_PIPE, anon_sym_AMP, + anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -9506,33 +10543,333 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7209] = 4, + aux_sym_method_name_token1, + [8017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(317), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(315), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8060] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(321), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(319), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8103] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(325), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(323), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8146] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(329), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(327), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8189] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(333), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(331), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8232] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(337), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(335), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8275] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(242), 1, + ACTIONS(341), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(339), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, sym__scope, - ACTIONS(238), 15, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8318] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(345), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(343), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, anon_sym_QMARK, - anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - anon_sym_LT, - anon_sym_EQ2, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(240), 20, + [8361] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(349), 17, sym_self, anon_sym_class, - anon_sym_COLON, - anon_sym_use, - anon_sym_as, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -9548,33 +10885,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7255] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(248), 1, - sym__scope, - ACTIONS(244), 15, + ACTIONS(347), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, anon_sym_QMARK, - anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, - anon_sym_LT, - anon_sym_EQ2, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(246), 20, + [8404] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(353), 17, sym_self, anon_sym_class, - anon_sym_COLON, - anon_sym_use, - anon_sym_as, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -9590,134 +10925,127 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7301] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(250), 1, - anon_sym_QMARK, - ACTIONS(252), 1, - anon_sym_EQ, - ACTIONS(174), 11, - anon_sym_STAR, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_GT, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - ACTIONS(176), 21, + ACTIONS(351), 18, + ts_builtin_sym_end, sym_constant, + anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - sym_identifier, - [7347] = 5, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8447] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(254), 1, - anon_sym_QMARK, - ACTIONS(256), 1, - anon_sym_EQ, - ACTIONS(174), 11, - anon_sym_STAR, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_GT, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - ACTIONS(176), 21, + ACTIONS(287), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(285), 18, + ts_builtin_sym_end, sym_constant, + anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - sym_identifier, - [7393] = 3, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8490] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(258), 13, + ACTIONS(357), 17, sym_self, - anon_sym_STAR, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_GT, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, sym_identifier, - ACTIONS(260), 20, + ACTIONS(355), 18, + ts_builtin_sym_end, sym_constant, + anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [7434] = 5, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8533] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(105), 1, - sym_type_arguments, - ACTIONS(262), 13, + ACTIONS(361), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(359), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -9728,10 +11056,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(264), 17, + [8576] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(365), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9749,26 +11085,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7478] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(268), 15, + ACTIONS(363), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, anon_sym_QMARK, - anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, - anon_sym_EQ2, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(270), 17, + [8619] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(367), 16, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + ACTIONS(369), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9786,14 +11146,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7518] = 5, + [8666] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(106), 1, - sym_type_arguments, - ACTIONS(272), 13, + ACTIONS(377), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(375), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -9804,10 +11178,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8709] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(379), 16, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(274), 17, + ACTIONS(381), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9825,26 +11228,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7562] = 3, + [8756] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(276), 15, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_EQ2, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(278), 17, + ACTIONS(385), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9862,14 +11249,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7602] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(104), 1, - sym_type_arguments, - ACTIONS(280), 13, + ACTIONS(383), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -9880,10 +11260,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(282), 17, + [8799] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(389), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9901,25 +11289,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7646] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(284), 14, + ACTIONS(387), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, anon_sym_QMARK, - anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(286), 17, + [8842] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(393), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9937,62 +11329,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7685] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 14, + ACTIONS(391), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, anon_sym_QMARK, - anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(290), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - [7724] = 4, + [8885] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(296), 2, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, anon_sym_QMARK, - anon_sym_EQ, - ACTIONS(292), 12, + ACTIONS(395), 16, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, - anon_sym_AMP, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(294), 17, + ACTIONS(397), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10010,24 +11390,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7765] = 3, + [8932] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(298), 13, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(399), 16, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(300), 17, + ACTIONS(401), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10045,24 +11432,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7803] = 3, + [8979] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(302), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(304), 17, + ACTIONS(405), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10080,10 +11453,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7841] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(306), 13, + ACTIONS(403), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10094,10 +11464,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(308), 17, + [9022] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(409), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10115,10 +11493,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7879] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(310), 13, + ACTIONS(407), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10129,10 +11504,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(312), 17, + [9065] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(413), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10150,10 +11533,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7917] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(292), 13, + ACTIONS(411), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10164,45 +11544,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(294), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - [7955] = 3, + [9108] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(314), 13, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(415), 17, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_QMARK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(316), 17, + ACTIONS(417), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10220,24 +11593,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7993] = 3, + [9153] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(318), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(320), 17, + ACTIONS(421), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10255,10 +11614,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8031] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(322), 13, + ACTIONS(419), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10269,45 +11625,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(324), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - [8069] = 3, + [9196] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(326), 13, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(423), 16, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(328), 17, + ACTIONS(425), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10325,24 +11675,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8107] = 3, + [9243] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(330), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(332), 17, + ACTIONS(429), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10360,10 +11696,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8145] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(334), 13, + ACTIONS(427), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10374,10 +11707,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(336), 17, + [9286] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(433), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10395,10 +11736,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8183] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(338), 13, + ACTIONS(431), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10409,51 +11747,164 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_RBRACE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(340), 17, + [9329] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(435), 1, + anon_sym_QMARK, + ACTIONS(437), 1, + anon_sym_EQ, + ACTIONS(291), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(293), 21, + sym_constant, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + aux_sym_method_name_token1, + sym_identifier, + [9375] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(439), 1, + anon_sym_QMARK, + ACTIONS(441), 1, + anon_sym_EQ, + ACTIONS(291), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(293), 21, + sym_constant, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + aux_sym_method_name_token1, + sym_identifier, + [9421] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(443), 13, sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, sym_identifier, - [8221] = 3, + ACTIONS(445), 20, + sym_constant, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + aux_sym_method_name_token1, + [9462] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(342), 13, - ts_builtin_sym_end, + ACTIONS(449), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(452), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(455), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(458), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(461), 1, + anon_sym_PERCENTa_LT, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + ACTIONS(447), 24, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(344), 17, sym_self, + anon_sym_LPAREN, anon_sym_class, - anon_sym_end, + anon_sym_LBRACE, + sym__scope, + anon_sym_DASH_GT, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, + anon_sym_QMARK2, anon_sym_def, anon_sym_public, anon_sym_private, @@ -10464,101 +11915,140 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8259] = 3, + sym_ivar_name, + sym_cvar_name, + [9513] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(346), 13, - ts_builtin_sym_end, + ACTIONS(7), 1, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(348), 17, - sym_self, + ACTIONS(9), 1, anon_sym_class, - anon_sym_end, + ACTIONS(11), 1, + sym__scope, + ACTIONS(13), 1, + anon_sym_use, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(25), 1, anon_sym_module, + ACTIONS(27), 1, anon_sym_interface, + ACTIONS(29), 1, anon_sym_type, + ACTIONS(31), 1, + sym_global_name, + ACTIONS(464), 1, + ts_builtin_sym_end, + STATE(134), 1, + sym_annotation, + STATE(216), 1, + aux_sym__decl_repeat1, + STATE(464), 1, + sym_const_name, + STATE(465), 1, + sym_namespace, + STATE(229), 2, + sym_use_directive, + aux_sym_program_repeat1, + STATE(166), 10, + sym__decl, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + aux_sym_program_repeat2, + [9587] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, + ACTIONS(93), 1, anon_sym_include, + ACTIONS(95), 1, anon_sym_extend, + ACTIONS(97), 1, anon_sym_prepend, + ACTIONS(99), 1, anon_sym_alias, - sym_identifier, - [8297] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(350), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(352), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, + STATE(69), 1, + sym_attribyte_type, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(213), 1, + sym_attribute_member, + STATE(215), 1, + sym_visibility_member, + STATE(271), 1, + sym_visibility, + ACTIONS(89), 2, anon_sym_public, anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - [8335] = 3, + STATE(201), 6, + sym_ivar_member, + sym_method_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [9663] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(354), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, + ACTIONS(371), 1, anon_sym_AMP, + ACTIONS(373), 1, anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(356), 17, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(466), 27, + ts_builtin_sym_end, + sym_constant, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -10569,33 +12059,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8373] = 5, + sym_ivar_name, + sym_cvar_name, + [9705] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(358), 11, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(470), 27, ts_builtin_sym_end, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(360), 17, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -10606,33 +12096,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8415] = 5, + sym_ivar_name, + sym_cvar_name, + [9747] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(366), 11, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(472), 27, ts_builtin_sym_end, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(368), 17, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -10643,31 +12133,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8457] = 3, + sym_ivar_name, + sym_cvar_name, + [9789] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(370), 13, - ts_builtin_sym_end, + ACTIONS(474), 29, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(372), 17, sym_self, + anon_sym_LPAREN, anon_sym_class, - anon_sym_end, + anon_sym_LBRACE, + sym__scope, + anon_sym_DASH_GT, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, + anon_sym_QMARK2, anon_sym_def, anon_sym_public, anon_sym_private, @@ -10678,31 +12166,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8495] = 3, + sym_ivar_name, + sym_cvar_name, + [9824] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(374), 13, - ts_builtin_sym_end, + ACTIONS(476), 29, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(376), 17, sym_self, + anon_sym_LPAREN, anon_sym_class, - anon_sym_end, + anon_sym_LBRACE, + sym__scope, + anon_sym_DASH_GT, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, + anon_sym_QMARK2, anon_sym_def, anon_sym_public, anon_sym_private, @@ -10713,29 +12199,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8533] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(378), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(380), 17, + [9859] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(480), 1, + anon_sym_COLON, + ACTIONS(478), 27, + sym_constant, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, + anon_sym_LT, anon_sym_module, + anon_sym_EQ2, anon_sym_interface, anon_sym_type, anon_sym_def, @@ -10748,27 +12232,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8571] = 3, + sym_ivar_name, + sym_cvar_name, + [9895] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(382), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, + ACTIONS(371), 1, anon_sym_AMP, + ACTIONS(373), 1, anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(384), 17, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(482), 25, + sym_constant, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -10783,27 +12267,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8609] = 3, + sym_ivar_name, + sym_cvar_name, + [9935] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(386), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, + ACTIONS(371), 1, anon_sym_AMP, + ACTIONS(373), 1, anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(388), 17, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(484), 25, + sym_constant, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -10818,27 +12302,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8647] = 3, + sym_ivar_name, + sym_cvar_name, + [9975] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(390), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, + ACTIONS(267), 1, + anon_sym_LBRACK, + ACTIONS(488), 1, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(392), 17, + STATE(188), 1, + sym_type_arguments, + ACTIONS(486), 25, + sym_constant, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -10853,27 +12337,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8685] = 3, + sym_ivar_name, + sym_cvar_name, + [10015] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(394), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, + ACTIONS(371), 1, anon_sym_AMP, + ACTIONS(373), 1, anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(396), 17, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(490), 25, + sym_constant, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -10888,29 +12372,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8723] = 3, + sym_ivar_name, + sym_cvar_name, + [10055] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(398), 13, - ts_builtin_sym_end, + ACTIONS(494), 1, + anon_sym_COLON, + ACTIONS(492), 27, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(400), 17, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, + anon_sym_LT, anon_sym_module, + anon_sym_EQ2, anon_sym_interface, anon_sym_type, anon_sym_def, @@ -10923,29 +12405,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8761] = 5, + sym_ivar_name, + sym_cvar_name, + [10091] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(402), 11, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, + ACTIONS(468), 1, anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(404), 17, + ACTIONS(496), 25, + sym_constant, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -10960,29 +12440,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8803] = 5, + sym_ivar_name, + sym_cvar_name, + [10131] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(406), 11, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, + ACTIONS(468), 1, anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(408), 17, + ACTIONS(498), 25, + sym_constant, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -10997,29 +12475,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8845] = 5, + sym_ivar_name, + sym_cvar_name, + [10171] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(410), 11, - ts_builtin_sym_end, + ACTIONS(500), 26, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(412), 17, sym_self, anon_sym_class, + anon_sym_PIPE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11034,28 +12509,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8887] = 4, + sym_ivar_name, + sym_cvar_name, + [10209] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(364), 1, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(414), 12, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, + ACTIONS(468), 1, anon_sym_PIPE, - anon_sym_AMP, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(416), 17, + ACTIONS(502), 25, + sym_constant, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11070,27 +12544,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [8927] = 5, + sym_ivar_name, + sym_cvar_name, + [10249] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(468), 1, anon_sym_PIPE, - ACTIONS(418), 22, - ts_builtin_sym_end, + ACTIONS(504), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11103,26 +12581,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [8964] = 5, + [10289] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(422), 22, - ts_builtin_sym_end, + ACTIONS(506), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11135,26 +12615,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9001] = 5, + [10327] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(468), 1, anon_sym_PIPE, - ACTIONS(424), 22, - ts_builtin_sym_end, + ACTIONS(508), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11167,20 +12650,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9038] = 5, + [10367] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(468), 1, anon_sym_PIPE, - ACTIONS(426), 20, + ACTIONS(510), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11197,20 +12685,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9073] = 3, + [10407] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(430), 1, - anon_sym_COLON, - ACTIONS(428), 22, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(512), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, - anon_sym_LT, anon_sym_module, - anon_sym_EQ2, anon_sym_interface, anon_sym_type, anon_sym_def, @@ -11225,22 +12719,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9104] = 3, + [10445] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(434), 1, - anon_sym_COLON, - ACTIONS(432), 22, + ACTIONS(514), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, - anon_sym_LT, anon_sym_module, - anon_sym_EQ2, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11253,24 +12750,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9135] = 5, + [10478] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(436), 20, + ACTIONS(516), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11283,20 +12781,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9170] = 5, + [10511] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - ACTIONS(440), 1, - anon_sym_COMMA, - STATE(176), 1, - sym_type_arguments, - ACTIONS(438), 20, + ACTIONS(518), 1, + anon_sym_QMARK, + ACTIONS(520), 1, + anon_sym_EQ, + ACTIONS(293), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11313,20 +12814,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9205] = 5, + [10548] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(442), 20, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(211), 1, + sym_type_arguments, + ACTIONS(522), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11343,19 +12847,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9240] = 4, + [10585] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(444), 21, + ACTIONS(526), 1, + anon_sym_PIPE, + STATE(169), 1, + aux_sym_method_types_repeat1, + ACTIONS(524), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11372,24 +12880,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9273] = 5, + [10622] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(446), 20, + ACTIONS(528), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11402,23 +12911,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9308] = 4, + [10655] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(448), 21, + ACTIONS(530), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11431,20 +12942,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9341] = 5, + [10688] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(532), 1, anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(450), 20, + ACTIONS(534), 1, + anon_sym_EQ, + ACTIONS(293), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11461,7 +12975,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9376] = 14, + [10725] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -11470,26 +12984,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, ACTIONS(11), 1, sym__scope, - ACTIONS(13), 1, - anon_sym_use, ACTIONS(15), 1, - anon_sym_module, + anon_sym_PERCENTa_LBRACE, ACTIONS(17), 1, - anon_sym_interface, + anon_sym_PERCENTa_LPAREN, ACTIONS(19), 1, - anon_sym_type, + anon_sym_PERCENTa_LBRACK, ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(25), 1, + anon_sym_module, + ACTIONS(27), 1, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, sym_global_name, - ACTIONS(452), 1, + ACTIONS(464), 1, ts_builtin_sym_end, - STATE(373), 1, + STATE(134), 1, + sym_annotation, + STATE(216), 1, + aux_sym__decl_repeat1, + STATE(464), 1, sym_const_name, - STATE(395), 1, + STATE(465), 1, sym_namespace, - STATE(219), 2, - sym_use_directive, - aux_sym_program_repeat1, - STATE(200), 10, + STATE(167), 10, sym__decl, sym_class_decl, sym_module_decl, @@ -11499,54 +13022,26 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_global_decl, - aux_sym_program_repeat2, - [9429] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(454), 21, - sym_constant, - sym_self, - anon_sym_class, - anon_sym_PIPE, - sym__scope, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [9462] = 5, + aux_sym_program_repeat2, + [10792] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(456), 20, + ACTIONS(536), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11559,24 +13054,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9497] = 5, + [10825] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(458), 20, + ACTIONS(538), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11589,24 +13085,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9532] = 5, + [10858] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(460), 20, + ACTIONS(540), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11619,20 +13116,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9567] = 5, + [10891] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(526), 1, anon_sym_PIPE, - ACTIONS(462), 20, + STATE(154), 1, + aux_sym_method_types_repeat1, + ACTIONS(542), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11649,15 +13149,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9602] = 2, + [10928] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(464), 22, + ACTIONS(544), 27, ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11675,20 +13180,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9630] = 2, + [10961] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(466), 22, - ts_builtin_sym_end, + ACTIONS(526), 1, + anon_sym_PIPE, + STATE(175), 1, + aux_sym_method_types_repeat1, + ACTIONS(524), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11701,20 +13213,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9658] = 2, + [10998] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(468), 22, - ts_builtin_sym_end, + ACTIONS(526), 1, + anon_sym_PIPE, + STATE(177), 1, + aux_sym_method_types_repeat1, + ACTIONS(546), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11727,69 +13246,116 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9686] = 2, + [11035] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(470), 22, - ts_builtin_sym_end, + ACTIONS(7), 1, sym_constant, - sym_self, + ACTIONS(9), 1, anon_sym_class, + ACTIONS(11), 1, sym__scope, - anon_sym_end, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(25), 1, anon_sym_module, + ACTIONS(27), 1, anon_sym_interface, + ACTIONS(29), 1, anon_sym_type, + ACTIONS(31), 1, sym_global_name, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [9714] = 4, + ACTIONS(548), 1, + ts_builtin_sym_end, + STATE(134), 1, + sym_annotation, + STATE(216), 1, + aux_sym__decl_repeat1, + STATE(464), 1, + sym_const_name, + STATE(465), 1, + sym_namespace, + STATE(167), 10, + sym__decl, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + aux_sym_program_repeat2, + [11102] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(474), 1, - anon_sym_PIPE, - STATE(157), 1, - aux_sym_method_types_repeat1, - ACTIONS(472), 20, + ACTIONS(550), 1, + ts_builtin_sym_end, + ACTIONS(552), 1, sym_constant, - sym_self, + ACTIONS(555), 1, anon_sym_class, + ACTIONS(558), 1, sym__scope, - anon_sym_end, + ACTIONS(561), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(564), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(567), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(570), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(573), 1, + anon_sym_PERCENTa_LT, + ACTIONS(576), 1, anon_sym_module, + ACTIONS(579), 1, anon_sym_interface, + ACTIONS(582), 1, anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [9746] = 2, + ACTIONS(585), 1, + sym_global_name, + STATE(134), 1, + sym_annotation, + STATE(216), 1, + aux_sym__decl_repeat1, + STATE(464), 1, + sym_const_name, + STATE(465), 1, + sym_namespace, + STATE(167), 10, + sym__decl, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + aux_sym_program_repeat2, + [11169] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(476), 22, + ACTIONS(588), 27, ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11807,20 +13373,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9774] = 2, + [11202] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(478), 22, - ts_builtin_sym_end, + ACTIONS(592), 1, + anon_sym_PIPE, + STATE(169), 1, + aux_sym_method_types_repeat1, + ACTIONS(590), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11833,20 +13406,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9802] = 2, + [11239] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(480), 22, - ts_builtin_sym_end, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(212), 1, + sym_type_arguments, + ACTIONS(595), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11859,15 +13439,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9830] = 2, + [11276] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(482), 22, + ACTIONS(597), 27, ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11885,15 +13470,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9858] = 2, + [11309] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(484), 22, + ACTIONS(599), 27, ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11911,22 +13501,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9886] = 4, + [11342] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(486), 1, - anon_sym_QMARK, - ACTIONS(488), 1, - anon_sym_EQ, - ACTIONS(176), 20, + ACTIONS(601), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11939,15 +13532,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9918] = 2, + [11375] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(490), 22, + ACTIONS(603), 27, ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11965,18 +13563,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9946] = 4, + [11408] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(474), 1, + ACTIONS(526), 1, anon_sym_PIPE, - STATE(172), 1, + STATE(169), 1, aux_sym_method_types_repeat1, - ACTIONS(492), 20, + ACTIONS(605), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11993,18 +13596,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9978] = 4, + [11445] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(474), 1, + ACTIONS(526), 1, anon_sym_PIPE, - STATE(173), 1, + STATE(184), 1, aux_sym_method_types_repeat1, - ACTIONS(492), 20, + ACTIONS(607), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12021,20 +13629,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10010] = 2, + [11482] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(494), 22, - ts_builtin_sym_end, + ACTIONS(526), 1, + anon_sym_PIPE, + STATE(169), 1, + aux_sym_method_types_repeat1, + ACTIONS(609), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12047,22 +13662,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10038] = 4, + [11519] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(194), 1, - sym_type_arguments, - ACTIONS(496), 20, + ACTIONS(611), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12075,15 +13693,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10070] = 2, + [11552] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(498), 22, + ACTIONS(613), 27, ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12101,20 +13724,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10098] = 2, + [11585] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(500), 22, - ts_builtin_sym_end, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(192), 1, + sym_type_arguments, + ACTIONS(615), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12127,22 +13757,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10126] = 4, + [11622] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(177), 1, - sym_type_arguments, - ACTIONS(502), 20, + ACTIONS(617), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12155,15 +13788,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10158] = 2, + [11655] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(504), 22, + ACTIONS(619), 27, ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12181,15 +13819,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10186] = 2, + [11688] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(506), 22, + ACTIONS(621), 27, ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12207,18 +13850,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10214] = 4, + [11721] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(508), 1, - anon_sym_QMARK, - ACTIONS(510), 1, - anon_sym_EQ, - ACTIONS(176), 20, + ACTIONS(526), 1, + anon_sym_PIPE, + STATE(169), 1, + aux_sym_method_types_repeat1, + ACTIONS(623), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12235,20 +13883,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10246] = 2, + [11758] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(512), 22, - ts_builtin_sym_end, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(191), 1, + sym_type_arguments, + ACTIONS(625), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12261,20 +13916,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10274] = 2, + [11795] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(514), 22, - ts_builtin_sym_end, + ACTIONS(627), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12287,18 +13946,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10302] = 4, + [11827] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(190), 1, - sym_type_arguments, - ACTIONS(516), 20, + ACTIONS(590), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12315,18 +13976,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10334] = 4, + [11859] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(193), 1, - sym_type_arguments, - ACTIONS(518), 20, + ACTIONS(631), 1, + anon_sym_COMMA, + ACTIONS(629), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12343,20 +14007,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10366] = 2, + [11893] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(520), 22, - ts_builtin_sym_end, + ACTIONS(633), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12369,18 +14037,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10394] = 4, + [11925] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(524), 1, - anon_sym_PIPE, - STATE(172), 1, - aux_sym_method_types_repeat1, - ACTIONS(522), 20, + ACTIONS(635), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12397,18 +14067,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10426] = 4, + [11957] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(474), 1, - anon_sym_PIPE, - STATE(172), 1, - aux_sym_method_types_repeat1, - ACTIONS(527), 20, + ACTIONS(637), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12425,15 +14096,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10458] = 2, + [11988] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(529), 21, + ACTIONS(639), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12450,15 +14125,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10485] = 2, + [12019] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(522), 21, + ACTIONS(641), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12475,16 +14154,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10512] = 3, + [12050] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(533), 1, - anon_sym_COMMA, - ACTIONS(531), 20, + ACTIONS(313), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12501,14 +14183,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10541] = 2, + [12081] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(535), 20, + ACTIONS(279), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12525,14 +14212,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10567] = 2, + [12112] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(472), 20, + ACTIONS(301), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12549,48 +14241,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10593] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, - anon_sym_class, - ACTIONS(11), 1, - sym__scope, - ACTIONS(15), 1, - anon_sym_module, - ACTIONS(17), 1, - anon_sym_interface, - ACTIONS(19), 1, - anon_sym_type, - ACTIONS(21), 1, - sym_global_name, - ACTIONS(452), 1, - ts_builtin_sym_end, - STATE(373), 1, - sym_const_name, - STATE(395), 1, - sym_namespace, - STATE(191), 10, - sym__decl, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - aux_sym_program_repeat2, - [10639] = 2, + [12143] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(537), 20, + ACTIONS(643), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12607,14 +14270,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10665] = 2, + [12174] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(194), 20, + ACTIONS(645), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12631,14 +14299,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10691] = 2, + [12205] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(539), 20, + ACTIONS(297), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12655,14 +14328,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10717] = 2, + [12236] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(198), 20, + ACTIONS(647), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12679,14 +14357,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10743] = 2, + [12267] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(541), 20, + ACTIONS(649), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12703,14 +14386,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10769] = 2, + [12298] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(166), 20, + ACTIONS(293), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12727,14 +14415,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10795] = 2, + [12329] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(543), 20, + ACTIONS(283), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12751,14 +14444,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10821] = 2, + [12360] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(545), 20, + ACTIONS(651), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12775,14 +14473,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10847] = 2, + [12391] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(547), 20, + ACTIONS(653), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12799,14 +14502,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10873] = 2, + [12422] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(186), 20, + ACTIONS(542), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12823,14 +14531,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10899] = 2, + [12453] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(549), 20, + ACTIONS(655), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12847,48 +14560,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10925] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(551), 1, - ts_builtin_sym_end, - ACTIONS(553), 1, - sym_constant, - ACTIONS(556), 1, - anon_sym_class, - ACTIONS(559), 1, - sym__scope, - ACTIONS(562), 1, - anon_sym_module, - ACTIONS(565), 1, - anon_sym_interface, - ACTIONS(568), 1, - anon_sym_type, - ACTIONS(571), 1, - sym_global_name, - STATE(373), 1, - sym_const_name, - STATE(395), 1, - sym_namespace, - STATE(191), 10, - sym__decl, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - aux_sym_program_repeat2, - [10971] = 2, + [12484] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(574), 20, + ACTIONS(657), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12905,14 +14589,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10997] = 2, + [12515] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(576), 20, + ACTIONS(659), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12929,14 +14618,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11023] = 2, + [12546] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(578), 20, + ACTIONS(661), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12953,14 +14647,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11049] = 2, + [12577] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(182), 20, + ACTIONS(663), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -12977,14 +14676,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11075] = 2, + [12608] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(580), 20, + ACTIONS(665), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -13001,14 +14705,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11101] = 2, + [12639] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(582), 20, + ACTIONS(649), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -13025,14 +14734,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11127] = 2, + [12670] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(584), 20, + ACTIONS(667), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -13049,14 +14763,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11153] = 2, + [12701] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(176), 20, + ACTIONS(649), 25, sym_constant, sym_self, anon_sym_class, sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -13073,7 +14792,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11179] = 12, + [12732] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -13083,2334 +14802,2822 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(11), 1, sym__scope, ACTIONS(15), 1, - anon_sym_module, + anon_sym_PERCENTa_LBRACE, ACTIONS(17), 1, - anon_sym_interface, + anon_sym_PERCENTa_LPAREN, ACTIONS(19), 1, - anon_sym_type, + anon_sym_PERCENTa_LBRACK, ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(25), 1, + anon_sym_module, + ACTIONS(27), 1, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, sym_global_name, - ACTIONS(586), 1, - ts_builtin_sym_end, - STATE(373), 1, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(464), 1, sym_const_name, - STATE(395), 1, + STATE(465), 1, sym_namespace, - STATE(191), 10, - sym__decl, + STATE(245), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, sym_module_alias_decl, sym_interface_decl, sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - aux_sym_program_repeat2, - [11225] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(588), 20, - sym_constant, - sym_self, - anon_sym_class, - sym__scope, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [11251] = 12, + sym_const_decl, + sym_global_decl, + [12794] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(69), 1, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(79), 1, anon_sym_LBRACK, - ACTIONS(77), 1, + ACTIONS(87), 1, anon_sym_def, - ACTIONS(83), 1, + ACTIONS(93), 1, anon_sym_include, - ACTIONS(590), 1, + ACTIONS(669), 1, anon_sym_end, - ACTIONS(594), 1, + ACTIONS(673), 1, anon_sym_alias, - STATE(205), 1, + STATE(134), 1, + sym_annotation, + STATE(218), 1, aux_sym_interface_decl_repeat1, - STATE(207), 1, + STATE(221), 1, sym_module_type_parameters, - STATE(242), 1, + STATE(230), 1, + aux_sym__decl_repeat1, + STATE(246), 1, sym_interface_member, - STATE(424), 1, + STATE(443), 1, sym_visibility, - ACTIONS(592), 2, + ACTIONS(671), 2, anon_sym_public, anon_sym_private, - STATE(249), 3, + STATE(247), 3, sym_method_member, sym_include_member, sym_alias_member, - [11291] = 10, + [12855] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(77), 1, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(87), 1, anon_sym_def, - ACTIONS(83), 1, + ACTIONS(93), 1, anon_sym_include, - ACTIONS(594), 1, + ACTIONS(673), 1, anon_sym_alias, - ACTIONS(596), 1, + ACTIONS(675), 1, anon_sym_end, - STATE(206), 1, + STATE(134), 1, + sym_annotation, + STATE(219), 1, aux_sym_interface_decl_repeat1, - STATE(242), 1, + STATE(230), 1, + aux_sym__decl_repeat1, + STATE(246), 1, sym_interface_member, - STATE(424), 1, + STATE(443), 1, sym_visibility, - ACTIONS(592), 2, + ACTIONS(671), 2, anon_sym_public, anon_sym_private, - STATE(249), 3, + STATE(247), 3, sym_method_member, sym_include_member, sym_alias_member, - [11325] = 5, + [12910] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(174), 1, - anon_sym_LPAREN, - ACTIONS(254), 1, - anon_sym_QMARK, - ACTIONS(598), 1, - anon_sym_EQ, - ACTIONS(176), 9, - sym_self, - anon_sym_COLON, + ACTIONS(677), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(680), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(683), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(686), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(689), 1, + anon_sym_PERCENTa_LT, + ACTIONS(692), 1, anon_sym_end, + ACTIONS(694), 1, anon_sym_def, - anon_sym_LPAREN_RPAREN, + ACTIONS(700), 1, + anon_sym_include, + ACTIONS(703), 1, + anon_sym_alias, + STATE(134), 1, + sym_annotation, + STATE(219), 1, + aux_sym_interface_decl_repeat1, + STATE(230), 1, + aux_sym__decl_repeat1, + STATE(246), 1, + sym_interface_member, + STATE(443), 1, + sym_visibility, + ACTIONS(697), 2, + anon_sym_public, + anon_sym_private, + STATE(247), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [12965] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(673), 1, + anon_sym_alias, + ACTIONS(706), 1, + anon_sym_end, + STATE(134), 1, + sym_annotation, + STATE(219), 1, + aux_sym_interface_decl_repeat1, + STATE(230), 1, + aux_sym__decl_repeat1, + STATE(246), 1, + sym_interface_member, + STATE(443), 1, + sym_visibility, + ACTIONS(671), 2, anon_sym_public, anon_sym_private, + STATE(247), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [13020] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, anon_sym_include, + ACTIONS(673), 1, anon_sym_alias, - [11349] = 10, + ACTIONS(708), 1, + anon_sym_end, + STATE(134), 1, + sym_annotation, + STATE(220), 1, + aux_sym_interface_decl_repeat1, + STATE(230), 1, + aux_sym__decl_repeat1, + STATE(246), 1, + sym_interface_member, + STATE(443), 1, + sym_visibility, + ACTIONS(671), 2, + anon_sym_public, + anon_sym_private, + STATE(247), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [13075] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(710), 1, + anon_sym_LPAREN, + ACTIONS(712), 1, + anon_sym_LBRACK, + ACTIONS(714), 1, + anon_sym_LBRACE, + ACTIONS(716), 1, + anon_sym_DASH_GT, + ACTIONS(718), 1, + anon_sym_QMARK2, + ACTIONS(720), 1, + anon_sym_DOT_DOT_DOT, + STATE(134), 1, + sym_annotation, + STATE(162), 1, + sym_method_type, + STATE(214), 1, + sym_method_types, + STATE(237), 1, + sym_method_type_parameters, + STATE(242), 1, + aux_sym__decl_repeat1, + STATE(305), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [13133] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(710), 1, + anon_sym_LPAREN, + ACTIONS(712), 1, + anon_sym_LBRACK, + ACTIONS(714), 1, + anon_sym_LBRACE, + ACTIONS(716), 1, + anon_sym_DASH_GT, + ACTIONS(718), 1, + anon_sym_QMARK2, + ACTIONS(720), 1, + anon_sym_DOT_DOT_DOT, + STATE(134), 1, + sym_annotation, + STATE(162), 1, + sym_method_type, + STATE(205), 1, + sym_method_types, + STATE(237), 1, + sym_method_type_parameters, + STATE(242), 1, + aux_sym__decl_repeat1, + STATE(305), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [13191] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(710), 1, + anon_sym_LPAREN, + ACTIONS(712), 1, + anon_sym_LBRACK, + ACTIONS(714), 1, + anon_sym_LBRACE, + ACTIONS(716), 1, + anon_sym_DASH_GT, + ACTIONS(718), 1, + anon_sym_QMARK2, + ACTIONS(720), 1, + anon_sym_DOT_DOT_DOT, + STATE(134), 1, + sym_annotation, + STATE(162), 1, + sym_method_type, + STATE(209), 1, + sym_method_types, + STATE(237), 1, + sym_method_type_parameters, + STATE(242), 1, + aux_sym__decl_repeat1, + STATE(305), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [13249] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(710), 1, + anon_sym_LPAREN, + ACTIONS(712), 1, + anon_sym_LBRACK, + ACTIONS(714), 1, + anon_sym_LBRACE, + ACTIONS(716), 1, + anon_sym_DASH_GT, + ACTIONS(718), 1, + anon_sym_QMARK2, + ACTIONS(720), 1, + anon_sym_DOT_DOT_DOT, + STATE(134), 1, + sym_annotation, + STATE(162), 1, + sym_method_type, + STATE(204), 1, + sym_method_types, + STATE(237), 1, + sym_method_type_parameters, + STATE(242), 1, + aux_sym__decl_repeat1, + STATE(305), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [13307] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(724), 1, + anon_sym_COMMA, + STATE(226), 1, + aux_sym_use_directive_repeat1, + ACTIONS(722), 14, + ts_builtin_sym_end, + sym_constant, + anon_sym_class, + sym__scope, + anon_sym_use, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13333] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(727), 13, + ts_builtin_sym_end, + sym_constant, + anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13361] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(710), 1, + anon_sym_LPAREN, + ACTIONS(712), 1, + anon_sym_LBRACK, + ACTIONS(714), 1, + anon_sym_LBRACE, + ACTIONS(716), 1, + anon_sym_DASH_GT, + ACTIONS(718), 1, + anon_sym_QMARK2, + STATE(134), 1, + sym_annotation, + STATE(187), 1, + sym_method_type, + STATE(239), 1, + aux_sym__decl_repeat1, + STATE(240), 1, + sym_method_type_parameters, + STATE(305), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [13413] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(594), 1, - anon_sym_alias, - ACTIONS(600), 1, - anon_sym_end, - STATE(206), 1, - aux_sym_interface_decl_repeat1, - STATE(242), 1, - sym_interface_member, - STATE(424), 1, - sym_visibility, - ACTIONS(592), 2, - anon_sym_public, - anon_sym_private, - STATE(249), 3, - sym_method_member, - sym_include_member, - sym_alias_member, - [11383] = 10, + ACTIONS(731), 1, + anon_sym_use, + STATE(229), 2, + sym_use_directive, + aux_sym_program_repeat1, + ACTIONS(729), 13, + ts_builtin_sym_end, + sym_constant, + anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13439] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(602), 1, - anon_sym_end, - ACTIONS(604), 1, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(87), 1, anon_sym_def, - ACTIONS(610), 1, + ACTIONS(93), 1, anon_sym_include, - ACTIONS(613), 1, + ACTIONS(673), 1, anon_sym_alias, - STATE(206), 1, - aux_sym_interface_decl_repeat1, - STATE(242), 1, - sym_interface_member, - STATE(424), 1, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(443), 1, sym_visibility, - ACTIONS(607), 2, + ACTIONS(671), 2, anon_sym_public, anon_sym_private, STATE(249), 3, sym_method_member, sym_include_member, sym_alias_member, - [11417] = 10, + [13485] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(594), 1, - anon_sym_alias, - ACTIONS(616), 1, - anon_sym_end, - STATE(203), 1, - aux_sym_interface_decl_repeat1, - STATE(242), 1, - sym_interface_member, - STATE(424), 1, - sym_visibility, - ACTIONS(592), 2, - anon_sym_public, - anon_sym_private, - STATE(249), 3, - sym_method_member, - sym_include_member, - sym_alias_member, - [11451] = 5, + ACTIONS(736), 1, + anon_sym_COMMA, + STATE(226), 1, + aux_sym_use_directive_repeat1, + ACTIONS(734), 14, + ts_builtin_sym_end, + sym_constant, + anon_sym_class, + sym__scope, + anon_sym_use, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13511] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(174), 1, - anon_sym_LPAREN, - ACTIONS(250), 1, - anon_sym_QMARK, - ACTIONS(618), 1, - anon_sym_EQ, - ACTIONS(176), 9, - sym_self, - anon_sym_COLON, - anon_sym_end, - anon_sym_def, - anon_sym_LPAREN_RPAREN, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, - [11475] = 4, + ACTIONS(736), 1, + anon_sym_COMMA, + STATE(231), 1, + aux_sym_use_directive_repeat1, + ACTIONS(738), 14, + ts_builtin_sym_end, + sym_constant, + anon_sym_class, + sym__scope, + anon_sym_use, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13537] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(622), 1, + ACTIONS(742), 1, + anon_sym_as, + ACTIONS(740), 15, + ts_builtin_sym_end, + sym_constant, + anon_sym_class, anon_sym_COMMA, - STATE(220), 1, - aux_sym_use_directive_repeat1, - ACTIONS(620), 9, + sym__scope, + anon_sym_use, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13561] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(744), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, + anon_sym_COMMA, sym__scope, anon_sym_use, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_module, anon_sym_interface, anon_sym_type, sym_global_name, - [11496] = 4, + [13582] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(626), 1, + ACTIONS(722), 15, + ts_builtin_sym_end, + sym_constant, + anon_sym_class, anon_sym_COMMA, - STATE(210), 1, - aux_sym_use_directive_repeat1, - ACTIONS(624), 9, + sym__scope, + anon_sym_use, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13603] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(746), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, + anon_sym_COMMA, sym__scope, anon_sym_use, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_module, anon_sym_interface, anon_sym_type, sym_global_name, - [11517] = 12, + [13624] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(710), 1, + anon_sym_LPAREN, + ACTIONS(714), 1, + anon_sym_LBRACE, + ACTIONS(716), 1, + anon_sym_DASH_GT, + ACTIONS(718), 1, + anon_sym_QMARK2, + STATE(134), 1, + sym_annotation, + STATE(164), 1, + sym_method_type, + STATE(241), 1, + aux_sym__decl_repeat1, + STATE(305), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [13670] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(710), 1, anon_sym_LPAREN, - ACTIONS(631), 1, - anon_sym_LBRACK, - ACTIONS(633), 1, + ACTIONS(714), 1, anon_sym_LBRACE, - ACTIONS(635), 1, + ACTIONS(716), 1, anon_sym_DASH_GT, - ACTIONS(637), 1, + ACTIONS(718), 1, anon_sym_QMARK2, - ACTIONS(639), 1, - anon_sym_DOT_DOT_DOT, - STATE(149), 1, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(190), 1, sym_method_type, - STATE(201), 1, - sym_method_types, - STATE(234), 1, - sym_method_type_parameters, - STATE(273), 1, + STATE(305), 1, sym_parameters, - STATE(405), 1, + STATE(404), 1, sym_block, - [11554] = 12, + [13716] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(710), 1, anon_sym_LPAREN, - ACTIONS(631), 1, - anon_sym_LBRACK, - ACTIONS(633), 1, + ACTIONS(714), 1, anon_sym_LBRACE, - ACTIONS(635), 1, + ACTIONS(716), 1, anon_sym_DASH_GT, - ACTIONS(637), 1, + ACTIONS(718), 1, anon_sym_QMARK2, - ACTIONS(639), 1, - anon_sym_DOT_DOT_DOT, - STATE(149), 1, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(189), 1, sym_method_type, - STATE(187), 1, - sym_method_types, - STATE(234), 1, - sym_method_type_parameters, - STATE(273), 1, + STATE(305), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [13762] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(710), 1, + anon_sym_LPAREN, + ACTIONS(714), 1, + anon_sym_LBRACE, + ACTIONS(716), 1, + anon_sym_DASH_GT, + ACTIONS(718), 1, + anon_sym_QMARK2, + STATE(134), 1, + sym_annotation, + STATE(186), 1, + sym_method_type, + STATE(238), 1, + aux_sym__decl_repeat1, + STATE(305), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [13808] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(710), 1, + anon_sym_LPAREN, + ACTIONS(714), 1, + anon_sym_LBRACE, + ACTIONS(716), 1, + anon_sym_DASH_GT, + ACTIONS(718), 1, + anon_sym_QMARK2, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(176), 1, + sym_method_type, + STATE(305), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [13854] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(710), 1, + anon_sym_LPAREN, + ACTIONS(714), 1, + anon_sym_LBRACE, + ACTIONS(716), 1, + anon_sym_DASH_GT, + ACTIONS(718), 1, + anon_sym_QMARK2, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(134), 1, + sym_annotation, + STATE(165), 1, + sym_method_type, + STATE(305), 1, sym_parameters, - STATE(405), 1, + STATE(404), 1, sym_block, - [11591] = 5, + [13900] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(532), 1, + anon_sym_QMARK, + ACTIONS(534), 1, + anon_sym_EQ, + ACTIONS(293), 11, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_end, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_include, + anon_sym_alias, + [13923] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(518), 1, anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(641), 8, - ts_builtin_sym_end, - sym_constant, - anon_sym_class, - sym__scope, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - [11614] = 3, + ACTIONS(520), 1, + anon_sym_EQ, + ACTIONS(293), 11, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_end, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_include, + anon_sym_alias, + [13946] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(645), 1, - anon_sym_as, - ACTIONS(643), 10, + ACTIONS(748), 13, ts_builtin_sym_end, sym_constant, anon_sym_class, - anon_sym_COMMA, sym__scope, - anon_sym_use, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_module, anon_sym_interface, anon_sym_type, sym_global_name, - [11633] = 11, + [13965] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(59), 1, - anon_sym_STAR, - ACTIONS(61), 1, - anon_sym_QMARK2, - ACTIONS(63), 1, - anon_sym_STAR_STAR, - ACTIONS(647), 1, - sym_identifier, - STATE(343), 1, - sym_optional_positionals, - STATE(344), 1, - sym_rest_positional, - STATE(428), 1, - sym_var_name, - STATE(430), 1, - sym_splat_keyword, - STATE(433), 1, - sym_keywords, - STATE(429), 2, - sym_required_keywords, - sym_optional_keywords, - [11668] = 12, + ACTIONS(750), 11, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_end, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_include, + anon_sym_alias, + [13982] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, - anon_sym_LPAREN, - ACTIONS(631), 1, - anon_sym_LBRACK, - ACTIONS(633), 1, - anon_sym_LBRACE, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(637), 1, - anon_sym_QMARK2, - ACTIONS(639), 1, - anon_sym_DOT_DOT_DOT, - STATE(149), 1, - sym_method_type, - STATE(196), 1, - sym_method_types, - STATE(234), 1, - sym_method_type_parameters, - STATE(273), 1, - sym_parameters, - STATE(405), 1, - sym_block, - [11705] = 10, + ACTIONS(752), 11, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_end, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_include, + anon_sym_alias, + [13999] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(649), 1, + ACTIONS(754), 1, sym_interface, - ACTIONS(651), 1, + ACTIONS(756), 1, anon_sym_singleton, - STATE(88), 1, + STATE(83), 1, sym_interface_name, - STATE(90), 1, + STATE(84), 1, sym_class_name, - STATE(353), 1, + STATE(364), 1, sym_bound_type, - STATE(372), 1, + STATE(384), 1, sym_namespace, - STATE(350), 3, + STATE(367), 3, sym_class_type, sym_interface_type, sym_singleton_type, - [11738] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(629), 1, - anon_sym_LPAREN, - ACTIONS(631), 1, - anon_sym_LBRACK, - ACTIONS(633), 1, - anon_sym_LBRACE, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(637), 1, - anon_sym_QMARK2, - ACTIONS(639), 1, - anon_sym_DOT_DOT_DOT, - STATE(149), 1, - sym_method_type, - STATE(182), 1, - sym_method_types, - STATE(234), 1, - sym_method_type_parameters, - STATE(273), 1, - sym_parameters, - STATE(405), 1, - sym_block, - [11775] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(655), 1, - anon_sym_use, - STATE(219), 2, - sym_use_directive, - aux_sym_program_repeat1, - ACTIONS(653), 8, - ts_builtin_sym_end, - sym_constant, - anon_sym_class, - sym__scope, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - [11796] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(622), 1, - anon_sym_COMMA, - STATE(210), 1, - aux_sym_use_directive_repeat1, - ACTIONS(658), 9, - ts_builtin_sym_end, - sym_constant, - anon_sym_class, - sym__scope, - anon_sym_use, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - [11817] = 2, + [14032] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(624), 10, - ts_builtin_sym_end, - sym_constant, - anon_sym_class, - anon_sym_COMMA, - sym__scope, - anon_sym_use, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - [11833] = 2, + ACTIONS(758), 11, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_end, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_include, + anon_sym_alias, + [14049] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(660), 10, - ts_builtin_sym_end, - sym_constant, - anon_sym_class, - anon_sym_COMMA, - sym__scope, - anon_sym_use, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - [11849] = 2, + ACTIONS(69), 1, + anon_sym_STAR, + ACTIONS(71), 1, + anon_sym_QMARK2, + ACTIONS(73), 1, + anon_sym_STAR_STAR, + ACTIONS(760), 1, + sym_identifier, + STATE(374), 1, + sym_optional_positionals, + STATE(375), 1, + sym_rest_positional, + STATE(427), 1, + sym_splat_keyword, + STATE(432), 1, + sym_var_name, + STATE(438), 1, + sym_keywords, + STATE(430), 2, + sym_required_keywords, + sym_optional_keywords, + [14084] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(662), 10, - ts_builtin_sym_end, - sym_constant, - anon_sym_class, - anon_sym_COMMA, - sym__scope, - anon_sym_use, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - [11865] = 10, + ACTIONS(762), 9, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_QMARK2, + [14099] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, + ACTIONS(764), 9, anon_sym_LPAREN, - ACTIONS(631), 1, - anon_sym_LBRACK, - ACTIONS(633), 1, anon_sym_LBRACE, - ACTIONS(635), 1, anon_sym_DASH_GT, - ACTIONS(637), 1, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_QMARK2, - STATE(175), 1, - sym_method_type, - STATE(233), 1, - sym_method_type_parameters, - STATE(273), 1, - sym_parameters, - STATE(405), 1, - sym_block, - [11896] = 9, + [14114] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, + ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(647), 1, + ACTIONS(760), 1, sym_identifier, - ACTIONS(664), 1, + ACTIONS(766), 1, anon_sym_RPAREN, - STATE(418), 1, - sym_keywords, - STATE(428), 1, - sym_var_name, - STATE(430), 1, + STATE(427), 1, sym_splat_keyword, - STATE(429), 2, - sym_required_keywords, - sym_optional_keywords, - [11925] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(63), 1, - anon_sym_STAR_STAR, - ACTIONS(65), 1, - anon_sym_QMARK2, - ACTIONS(647), 1, - sym_identifier, - STATE(423), 1, - sym_keywords, - STATE(428), 1, + STATE(432), 1, sym_var_name, - STATE(430), 1, - sym_splat_keyword, - STATE(429), 2, + STATE(449), 1, + sym_keywords, + STATE(430), 2, sym_required_keywords, sym_optional_keywords, - [11951] = 8, + [14143] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_STAR_STAR, - ACTIONS(65), 1, - anon_sym_QMARK2, - ACTIONS(647), 1, + ACTIONS(768), 1, + anon_sym_COLON, + ACTIONS(255), 7, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, sym_identifier, - STATE(409), 1, - sym_keywords, - STATE(428), 1, - sym_var_name, - STATE(430), 1, - sym_splat_keyword, - STATE(429), 2, - sym_required_keywords, - sym_optional_keywords, - [11977] = 8, + [14159] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, + ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(647), 1, + ACTIONS(760), 1, sym_identifier, - STATE(401), 1, + STATE(427), 1, + sym_splat_keyword, + STATE(431), 1, sym_keywords, - STATE(428), 1, + STATE(432), 1, sym_var_name, - STATE(430), 1, - sym_splat_keyword, - STATE(429), 2, + STATE(430), 2, sym_required_keywords, sym_optional_keywords, - [12003] = 8, + [14185] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, + ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(647), 1, + ACTIONS(760), 1, sym_identifier, - STATE(403), 1, - sym_keywords, - STATE(428), 1, - sym_var_name, - STATE(430), 1, + STATE(427), 1, sym_splat_keyword, - STATE(429), 2, + STATE(432), 1, + sym_var_name, + STATE(449), 1, + sym_keywords, + STATE(430), 2, sym_required_keywords, sym_optional_keywords, - [12029] = 9, + [14211] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, + ACTIONS(710), 1, anon_sym_LPAREN, - ACTIONS(633), 1, + ACTIONS(714), 1, anon_sym_LBRACE, - ACTIONS(637), 1, + ACTIONS(718), 1, anon_sym_QMARK2, - ACTIONS(666), 1, + ACTIONS(770), 1, anon_sym_LBRACK, - ACTIONS(668), 1, + ACTIONS(772), 1, anon_sym_DASH_GT, - STATE(248), 1, + STATE(275), 1, sym_parameters, - STATE(274), 1, + STATE(297), 1, sym_self_type_binding, - STATE(390), 1, + STATE(409), 1, sym_block, - [12057] = 3, + [14239] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(670), 1, - anon_sym_COLON, - ACTIONS(268), 7, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_LBRACK, - anon_sym_COMMA, + ACTIONS(73), 1, + anon_sym_STAR_STAR, + ACTIONS(75), 1, + anon_sym_QMARK2, + ACTIONS(760), 1, sym_identifier, - [12073] = 8, + STATE(427), 1, + sym_splat_keyword, + STATE(432), 1, + sym_var_name, + STATE(454), 1, + sym_keywords, + STATE(430), 2, + sym_required_keywords, + sym_optional_keywords, + [14265] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, + ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(647), 1, + ACTIONS(760), 1, sym_identifier, - STATE(418), 1, - sym_keywords, - STATE(428), 1, - sym_var_name, - STATE(430), 1, + STATE(427), 1, sym_splat_keyword, - STATE(429), 2, + STATE(432), 1, + sym_var_name, + STATE(440), 1, + sym_keywords, + STATE(430), 2, sym_required_keywords, sym_optional_keywords, - [12099] = 8, + [14291] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, - anon_sym_LPAREN, - ACTIONS(633), 1, - anon_sym_LBRACE, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(637), 1, + ACTIONS(73), 1, + anon_sym_STAR_STAR, + ACTIONS(75), 1, anon_sym_QMARK2, - STATE(174), 1, - sym_method_type, - STATE(273), 1, - sym_parameters, - STATE(405), 1, - sym_block, - [12124] = 8, + ACTIONS(760), 1, + sym_identifier, + STATE(427), 1, + sym_splat_keyword, + STATE(432), 1, + sym_var_name, + STATE(433), 1, + sym_keywords, + STATE(430), 2, + sym_required_keywords, + sym_optional_keywords, + [14317] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, - anon_sym_LPAREN, - ACTIONS(633), 1, - anon_sym_LBRACE, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(637), 1, - anon_sym_QMARK2, - STATE(158), 1, - sym_method_type, - STATE(273), 1, - sym_parameters, - STATE(405), 1, - sym_block, - [12149] = 7, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(760), 1, + sym_identifier, + STATE(359), 1, + sym_var_name, + ACTIONS(774), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [14340] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(649), 1, + ACTIONS(754), 1, sym_interface, - STATE(197), 1, + STATE(198), 1, sym_module_self_types, - STATE(372), 1, + STATE(384), 1, sym_namespace, - STATE(133), 2, + STATE(138), 2, sym_class_name, sym_interface_name, - [12172] = 7, + [14363] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, + ACTIONS(776), 1, sym_constant, - ACTIONS(674), 1, + ACTIONS(778), 1, sym_generics_unchecked, - STATE(285), 1, + STATE(304), 1, sym_type_variable, - STATE(312), 1, + STATE(323), 1, sym_module_type_parameter, - STATE(363), 1, + STATE(383), 1, sym_generics_variance, - ACTIONS(676), 2, + ACTIONS(780), 2, anon_sym_out, anon_sym_in, - [12195] = 7, + [14386] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, + ACTIONS(776), 1, sym_constant, - ACTIONS(674), 1, + ACTIONS(778), 1, sym_generics_unchecked, - STATE(285), 1, + STATE(304), 1, sym_type_variable, - STATE(354), 1, - sym_module_type_parameter, STATE(363), 1, + sym_module_type_parameter, + STATE(383), 1, sym_generics_variance, - ACTIONS(676), 2, + ACTIONS(780), 2, anon_sym_out, anon_sym_in, - [12218] = 7, + [14409] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(649), 1, + ACTIONS(754), 1, sym_interface, - STATE(198), 1, + STATE(210), 1, sym_module_self_types, - STATE(372), 1, + STATE(384), 1, sym_namespace, - STATE(133), 2, + STATE(138), 2, sym_class_name, sym_interface_name, - [12241] = 7, + [14432] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(647), 1, - sym_identifier, - STATE(368), 1, - sym_var_name, - ACTIONS(678), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [12264] = 7, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + ACTIONS(754), 1, + sym_interface, + STATE(200), 1, + sym_module_self_types, + STATE(384), 1, + sym_namespace, + STATE(138), 2, + sym_class_name, + sym_interface_name, + [14455] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(649), 1, + ACTIONS(754), 1, sym_interface, - STATE(186), 1, - sym_module_self_types, - STATE(372), 1, + STATE(384), 1, sym_namespace, - STATE(133), 2, + STATE(185), 2, sym_class_name, sym_interface_name, - [12287] = 7, + [14475] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(468), 1, anon_sym_PIPE, - ACTIONS(680), 1, + ACTIONS(782), 1, anon_sym_COMMA, - ACTIONS(682), 1, + ACTIONS(784), 1, anon_sym_RBRACK, - STATE(315), 1, + STATE(355), 1, aux_sym_tuple_type_repeat1, - [12309] = 2, + [14497] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(684), 6, - anon_sym_end, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, - [12321] = 6, + ACTIONS(291), 1, + anon_sym_LPAREN, + ACTIONS(439), 1, + anon_sym_QMARK, + ACTIONS(786), 1, + anon_sym_EQ, + ACTIONS(293), 3, + sym_self, + anon_sym_COLON, + anon_sym_LPAREN_RPAREN, + [14515] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(25), 1, - sym_constant, - ACTIONS(649), 1, - sym_interface, - STATE(372), 1, - sym_namespace, - STATE(169), 2, - sym_class_name, - sym_interface_name, - [12341] = 6, + ACTIONS(291), 1, + anon_sym_LPAREN, + ACTIONS(435), 1, + anon_sym_QMARK, + ACTIONS(788), 1, + anon_sym_EQ, + ACTIONS(293), 3, + sym_self, + anon_sym_COLON, + anon_sym_LPAREN_RPAREN, + [14533] = 5, + ACTIONS(790), 1, + sym_comment, + ACTIONS(792), 1, + anon_sym_def, + ACTIONS(794), 1, + aux_sym_visibility_member_token1, + STATE(70), 1, + sym_attribyte_type, + ACTIONS(796), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + [14551] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(649), 1, + ACTIONS(754), 1, sym_interface, - STATE(372), 1, + STATE(384), 1, sym_namespace, - STATE(163), 2, + STATE(153), 2, sym_class_name, sym_interface_name, - [12361] = 6, + [14571] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(649), 1, + ACTIONS(754), 1, sym_interface, - STATE(372), 1, + STATE(384), 1, sym_namespace, - STATE(160), 2, + STATE(170), 2, sym_class_name, sym_interface_name, - [12381] = 7, + [14591] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(468), 1, anon_sym_PIPE, - ACTIONS(686), 1, + ACTIONS(798), 1, anon_sym_COMMA, - ACTIONS(688), 1, + ACTIONS(800), 1, anon_sym_RBRACK, - STATE(322), 1, + STATE(342), 1, aux_sym_tuple_type_repeat1, - [12403] = 5, - ACTIONS(690), 1, - sym_comment, - ACTIONS(692), 1, - anon_sym_def, - ACTIONS(694), 1, - aux_sym_visibility_member_token1, - STATE(73), 1, - sym_attribyte_type, - ACTIONS(696), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - [12421] = 7, + [14613] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(633), 1, + ACTIONS(714), 1, anon_sym_LBRACE, - ACTIONS(637), 1, + ACTIONS(718), 1, anon_sym_QMARK2, - ACTIONS(666), 1, + ACTIONS(770), 1, anon_sym_LBRACK, - ACTIONS(698), 1, + ACTIONS(802), 1, anon_sym_DASH_GT, - STATE(263), 1, + STATE(295), 1, sym_self_type_binding, - STATE(421), 1, + STATE(450), 1, sym_block, - [12443] = 2, + [14635] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(700), 6, - anon_sym_end, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, - [12455] = 3, - ACTIONS(690), 1, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(804), 1, + anon_sym_RPAREN, + ACTIONS(806), 1, + anon_sym_COMMA, + [14654] = 3, + ACTIONS(790), 1, sym_comment, - ACTIONS(704), 1, + ACTIONS(810), 1, aux_sym_visibility_member_token1, - ACTIONS(702), 4, + ACTIONS(808), 4, anon_sym_def, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - [12468] = 5, + [14667] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(706), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [12485] = 6, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + STATE(232), 1, + sym_use_clause, + STATE(233), 1, + sym_class_name, + STATE(361), 1, + sym_namespace, + [14686] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(754), 1, + sym_interface, + ACTIONS(812), 1, sym_constant, - STATE(214), 1, - sym_class_name, - STATE(221), 1, - sym_use_clause, - STATE(365), 1, + STATE(217), 1, + sym_interface_name, + STATE(362), 1, sym_namespace, - [12504] = 6, + [14705] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - STATE(209), 1, - sym_use_clause, - STATE(214), 1, + STATE(233), 1, sym_class_name, - STATE(365), 1, + STATE(235), 1, + sym_use_clause, + STATE(361), 1, sym_namespace, - [12523] = 6, + [14724] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(708), 1, - sym_identifier, - ACTIONS(710), 1, + ACTIONS(812), 1, sym_constant, - STATE(332), 1, + ACTIONS(814), 1, + sym_identifier, + STATE(325), 1, sym_alias_name, - STATE(334), 1, + STATE(365), 1, sym_namespace, - [12542] = 5, + [14743] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(468), 1, anon_sym_PIPE, - ACTIONS(712), 2, + ACTIONS(816), 2, anon_sym_COMMA, anon_sym_RBRACE, - [12559] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(649), 1, - sym_interface, - ACTIONS(710), 1, - sym_constant, - STATE(202), 1, - sym_interface_name, - STATE(352), 1, - sym_namespace, - [12578] = 6, + [14760] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(468), 1, anon_sym_PIPE, - ACTIONS(714), 1, + ACTIONS(818), 1, anon_sym_RPAREN, - ACTIONS(716), 1, + ACTIONS(820), 1, anon_sym_COMMA, - [12597] = 6, + [14779] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(468), 1, anon_sym_PIPE, - ACTIONS(718), 1, - anon_sym_RPAREN, - ACTIONS(720), 1, + ACTIONS(822), 2, anon_sym_COMMA, - [12616] = 5, + anon_sym_RBRACK, + [14796] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, + ACTIONS(776), 1, sym_constant, - STATE(279), 1, + STATE(287), 1, sym_type_variable, - STATE(369), 1, + STATE(396), 1, sym_generics_variance, - ACTIONS(676), 2, + ACTIONS(780), 2, anon_sym_out, anon_sym_in, - [12633] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(25), 1, - sym_constant, - STATE(170), 1, - sym_class_name, - STATE(379), 1, - sym_namespace, - [12649] = 4, - ACTIONS(690), 1, - sym_comment, - ACTIONS(722), 1, - anon_sym_DQUOTE, - STATE(297), 1, - aux_sym_string_literal_repeat1, - ACTIONS(724), 2, - sym_double_quote_string_body, - sym_escape_sequence, - [12663] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(726), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [12673] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(633), 1, - anon_sym_LBRACE, - ACTIONS(637), 1, - anon_sym_QMARK2, - ACTIONS(728), 1, - anon_sym_DASH_GT, - STATE(406), 1, - sym_block, - [12689] = 4, - ACTIONS(690), 1, + [14813] = 4, + ACTIONS(790), 1, sym_comment, - ACTIONS(730), 1, + ACTIONS(824), 1, anon_sym_SQUOTE, - STATE(280), 1, + STATE(311), 1, aux_sym_string_literal_repeat2, - ACTIONS(732), 2, + ACTIONS(826), 2, sym_single_quote_string_body, sym_escape_sequence, - [12703] = 2, + [14827] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(830), 1, + anon_sym_LT, + STATE(368), 1, + sym_generics_bound, + ACTIONS(828), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [14841] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(734), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [12713] = 4, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(832), 1, + anon_sym_RBRACE, + [14857] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(738), 1, + ACTIONS(830), 1, anon_sym_LT, - STATE(361), 1, + STATE(392), 1, sym_generics_bound, - ACTIONS(736), 2, + ACTIONS(834), 2, anon_sym_COMMA, anon_sym_RBRACK, - [12727] = 4, - ACTIONS(690), 1, + [14871] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(836), 1, + anon_sym_RBRACE, + [14887] = 4, + ACTIONS(790), 1, sym_comment, - ACTIONS(740), 1, + ACTIONS(838), 1, anon_sym_DQUOTE, - STATE(269), 1, + STATE(309), 1, aux_sym_string_literal_repeat1, - ACTIONS(742), 2, + ACTIONS(840), 2, sym_double_quote_string_body, sym_escape_sequence, - [12741] = 4, - ACTIONS(690), 1, + [14901] = 4, + ACTIONS(790), 1, sym_comment, - ACTIONS(740), 1, + ACTIONS(838), 1, anon_sym_SQUOTE, - STATE(280), 1, + STATE(310), 1, aux_sym_string_literal_repeat2, - ACTIONS(732), 2, + ACTIONS(842), 2, sym_single_quote_string_body, sym_escape_sequence, - [12755] = 4, - ACTIONS(690), 1, - sym_comment, - ACTIONS(744), 1, - anon_sym_DQUOTE, - STATE(269), 1, - aux_sym_string_literal_repeat1, - ACTIONS(746), 2, - sym_double_quote_string_body, - sym_escape_sequence, - [12769] = 2, + [14915] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(749), 4, + ACTIONS(844), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [12779] = 5, + [14925] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(371), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(468), 1, anon_sym_PIPE, - ACTIONS(751), 1, + ACTIONS(846), 1, anon_sym_RBRACE, - [12795] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(25), 1, - sym_constant, - STATE(156), 1, - sym_class_name, - STATE(379), 1, - sym_namespace, - [12811] = 5, + [14941] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(633), 1, + ACTIONS(714), 1, anon_sym_LBRACE, - ACTIONS(637), 1, + ACTIONS(718), 1, anon_sym_QMARK2, - ACTIONS(753), 1, + ACTIONS(848), 1, anon_sym_DASH_GT, - STATE(410), 1, + STATE(414), 1, sym_block, - [12827] = 5, + [14957] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(850), 2, + sym_interface, + sym_identifier, + ACTIONS(852), 2, + sym_constant, + anon_sym_STAR, + [14969] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(633), 1, + ACTIONS(714), 1, anon_sym_LBRACE, - ACTIONS(637), 1, + ACTIONS(718), 1, anon_sym_QMARK2, - ACTIONS(698), 1, + ACTIONS(802), 1, anon_sym_DASH_GT, - STATE(421), 1, + STATE(450), 1, sym_block, - [12843] = 5, + [14985] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(854), 1, + anon_sym_RPAREN, + ACTIONS(363), 3, + anon_sym_PIPE, anon_sym_AMP, - ACTIONS(364), 1, anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(755), 1, - anon_sym_RBRACK, - [12859] = 2, + [14997] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(757), 4, - anon_sym_LPAREN, + ACTIONS(856), 4, + anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [12869] = 5, + [15007] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(759), 1, - anon_sym_RBRACE, - [12885] = 5, + ACTIONS(858), 2, + sym_interface, + sym_identifier, + ACTIONS(860), 2, + sym_constant, + anon_sym_STAR, + [15019] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(761), 1, - anon_sym_RBRACE, - [12901] = 4, + ACTIONS(862), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [15029] = 4, + ACTIONS(790), 1, + sym_comment, + ACTIONS(864), 1, + anon_sym_SQUOTE, + STATE(302), 1, + aux_sym_string_literal_repeat2, + ACTIONS(866), 2, + sym_single_quote_string_body, + sym_escape_sequence, + [15043] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(869), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [15053] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(738), 1, + ACTIONS(830), 1, anon_sym_LT, - STATE(349), 1, + STATE(358), 1, sym_generics_bound, - ACTIONS(763), 2, + ACTIONS(871), 2, anon_sym_COMMA, anon_sym_RBRACK, - [12915] = 4, - ACTIONS(690), 1, + [15067] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(714), 1, + anon_sym_LBRACE, + ACTIONS(718), 1, + anon_sym_QMARK2, + ACTIONS(873), 1, + anon_sym_DASH_GT, + STATE(407), 1, + sym_block, + [15083] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(468), 1, + anon_sym_PIPE, + ACTIONS(875), 1, + anon_sym_RBRACK, + [15099] = 4, + ACTIONS(790), 1, + sym_comment, + ACTIONS(824), 1, + anon_sym_DQUOTE, + STATE(312), 1, + aux_sym_string_literal_repeat1, + ACTIONS(877), 2, + sym_double_quote_string_body, + sym_escape_sequence, + [15113] = 4, + ACTIONS(790), 1, + sym_comment, + ACTIONS(879), 1, + anon_sym_DQUOTE, + STATE(308), 1, + aux_sym_string_literal_repeat1, + ACTIONS(881), 2, + sym_double_quote_string_body, + sym_escape_sequence, + [15127] = 4, + ACTIONS(790), 1, + sym_comment, + ACTIONS(884), 1, + anon_sym_DQUOTE, + STATE(308), 1, + aux_sym_string_literal_repeat1, + ACTIONS(886), 2, + sym_double_quote_string_body, + sym_escape_sequence, + [15141] = 4, + ACTIONS(790), 1, sym_comment, - ACTIONS(765), 1, + ACTIONS(884), 1, anon_sym_SQUOTE, - STATE(280), 1, + STATE(302), 1, aux_sym_string_literal_repeat2, - ACTIONS(767), 2, + ACTIONS(888), 2, sym_single_quote_string_body, sym_escape_sequence, - [12929] = 4, - ACTIONS(690), 1, + [15155] = 4, + ACTIONS(790), 1, sym_comment, - ACTIONS(722), 1, + ACTIONS(890), 1, anon_sym_SQUOTE, - STATE(264), 1, + STATE(302), 1, aux_sym_string_literal_repeat2, - ACTIONS(770), 2, + ACTIONS(888), 2, sym_single_quote_string_body, sym_escape_sequence, - [12943] = 3, - ACTIONS(3), 1, + [15169] = 4, + ACTIONS(790), 1, sym_comment, - ACTIONS(772), 2, - sym_interface, - sym_identifier, - ACTIONS(774), 2, - sym_constant, - anon_sym_STAR, - [12955] = 2, + ACTIONS(890), 1, + anon_sym_DQUOTE, + STATE(308), 1, + aux_sym_string_literal_repeat1, + ACTIONS(886), 2, + sym_double_quote_string_body, + sym_escape_sequence, + [15183] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 4, - anon_sym_LPAREN, + ACTIONS(892), 4, + anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [12965] = 5, + [15193] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - STATE(17), 1, + STATE(180), 1, sym_class_name, - STATE(379), 1, + STATE(463), 1, sym_namespace, - [12981] = 4, + [15209] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(738), 1, - anon_sym_LT, - STATE(367), 1, - sym_generics_bound, - ACTIONS(778), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [12995] = 2, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + STATE(8), 1, + sym_class_name, + STATE(463), 1, + sym_namespace, + [15225] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(780), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [13005] = 2, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + STATE(155), 1, + sym_class_name, + STATE(463), 1, + sym_namespace, + [15241] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + STATE(182), 1, + sym_class_name, + STATE(463), 1, + sym_namespace, + [15257] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(782), 4, + ACTIONS(894), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [13015] = 5, + [15267] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - STATE(145), 1, + STATE(424), 1, sym_class_name, - STATE(379), 1, + STATE(463), 1, sym_namespace, - [13031] = 3, + [15283] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(896), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [15293] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(784), 2, + ACTIONS(898), 2, sym_interface, sym_identifier, - ACTIONS(786), 2, + ACTIONS(900), 2, sym_constant, anon_sym_STAR, - [13043] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(788), 1, - anon_sym_RPAREN, - ACTIONS(370), 3, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - [13055] = 4, - ACTIONS(690), 1, - sym_comment, - ACTIONS(790), 1, - anon_sym_DQUOTE, - STATE(267), 1, - aux_sym_string_literal_repeat1, - ACTIONS(792), 2, - sym_double_quote_string_body, - sym_escape_sequence, - [13069] = 5, + [15305] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - STATE(379), 1, - sym_namespace, - STATE(391), 1, + STATE(9), 1, sym_class_name, - [13085] = 3, + STATE(463), 1, + sym_namespace, + [15321] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 2, - sym_interface, - sym_identifier, - ACTIONS(796), 2, - sym_constant, - anon_sym_STAR, - [13097] = 4, - ACTIONS(690), 1, + ACTIONS(902), 1, + anon_sym_COMMA, + ACTIONS(904), 1, + anon_sym_RBRACK, + STATE(346), 1, + aux_sym_module_type_parameters_repeat1, + [15334] = 4, + ACTIONS(3), 1, sym_comment, - ACTIONS(790), 1, - anon_sym_SQUOTE, - STATE(268), 1, - aux_sym_string_literal_repeat2, - ACTIONS(798), 2, - sym_single_quote_string_body, - sym_escape_sequence, - [13111] = 2, + ACTIONS(906), 1, + anon_sym_COMMA, + ACTIONS(908), 1, + anon_sym_RBRACK, + STATE(334), 1, + aux_sym_method_type_parameters_repeat1, + [15347] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(800), 4, + ACTIONS(79), 1, anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [13121] = 5, + ACTIONS(910), 1, + anon_sym_EQ2, + STATE(441), 1, + sym_module_type_parameters, + [15360] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(25), 1, - sym_constant, - STATE(9), 1, - sym_class_name, - STATE(379), 1, - sym_namespace, - [13137] = 4, - ACTIONS(690), 1, + ACTIONS(912), 1, + anon_sym_LPAREN, + ACTIONS(914), 1, + anon_sym_COLON, + ACTIONS(916), 1, + anon_sym_LPAREN_RPAREN, + [15373] = 4, + ACTIONS(3), 1, sym_comment, - ACTIONS(730), 1, - anon_sym_DQUOTE, - STATE(269), 1, - aux_sym_string_literal_repeat1, - ACTIONS(742), 2, - sym_double_quote_string_body, - sym_escape_sequence, - [13151] = 2, + ACTIONS(918), 1, + sym_identifier, + ACTIONS(920), 1, + anon_sym_RBRACE, + STATE(339), 1, + sym__record_type_single, + [15386] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(822), 1, + anon_sym_RBRACK, + ACTIONS(922), 1, + anon_sym_COMMA, + STATE(328), 1, + aux_sym_tuple_type_repeat1, + [15399] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(802), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [13161] = 2, + ACTIONS(925), 1, + sym_identifier, + ACTIONS(927), 1, + sym_constant, + ACTIONS(929), 1, + sym_interface, + [15412] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(670), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - [13170] = 4, + ACTIONS(918), 1, + sym_identifier, + ACTIONS(931), 1, + anon_sym_RBRACE, + STATE(371), 1, + sym__record_type_single, + [15425] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(804), 1, - anon_sym_RPAREN, - ACTIONS(806), 1, + ACTIONS(933), 1, anon_sym_COMMA, + ACTIONS(936), 1, + anon_sym_RBRACE, STATE(331), 1, - aux_sym_required_positionals_repeat1, - [13183] = 4, + aux_sym_record_type_repeat1, + [15438] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(809), 1, + ACTIONS(938), 3, anon_sym_COMMA, - ACTIONS(812), 1, anon_sym_RBRACK, - STATE(301), 1, - aux_sym_module_type_parameters_repeat1, - [13196] = 4, + anon_sym_LT, + [15447] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(814), 1, + ACTIONS(940), 1, anon_sym_RPAREN, - ACTIONS(816), 1, + ACTIONS(942), 1, anon_sym_COMMA, - STATE(302), 1, + STATE(354), 1, aux_sym_optional_positionals_repeat1, - [13209] = 4, + [15460] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(819), 1, - anon_sym_RPAREN, - ACTIONS(821), 1, + ACTIONS(945), 1, anon_sym_COMMA, - STATE(333), 1, - aux_sym_optional_positionals_repeat1, - [13222] = 4, + ACTIONS(948), 1, + anon_sym_RBRACK, + STATE(334), 1, + aux_sym_method_type_parameters_repeat1, + [15473] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(824), 1, - anon_sym_COMMA, - ACTIONS(827), 1, - anon_sym_RBRACE, - STATE(304), 1, - aux_sym_record_type_repeat1, - [13235] = 4, + ACTIONS(950), 1, + anon_sym_LPAREN, + ACTIONS(952), 1, + anon_sym_COLON, + ACTIONS(954), 1, + anon_sym_LPAREN_RPAREN, + [15486] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(829), 1, + ACTIONS(768), 3, anon_sym_RPAREN, - ACTIONS(831), 1, anon_sym_COMMA, - STATE(300), 1, - aux_sym_required_positionals_repeat1, - [13248] = 4, + anon_sym_COLON, + [15495] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(834), 1, - sym_identifier, - ACTIONS(836), 1, - anon_sym_RBRACE, - STATE(371), 1, - sym__record_type_single, - [13261] = 4, + ACTIONS(371), 1, + anon_sym_AMP, + ACTIONS(373), 1, + anon_sym_QMARK, + ACTIONS(468), 1, + anon_sym_PIPE, + [15508] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(838), 1, + ACTIONS(956), 1, anon_sym_RPAREN, - ACTIONS(840), 1, + ACTIONS(958), 1, anon_sym_COMMA, - STATE(331), 1, + STATE(357), 1, aux_sym_required_positionals_repeat1, - [13274] = 4, + [15521] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - [13287] = 4, + ACTIONS(961), 1, + anon_sym_COMMA, + ACTIONS(963), 1, + anon_sym_RBRACE, + STATE(349), 1, + aux_sym_record_type_repeat1, + [15534] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(666), 1, + ACTIONS(770), 1, anon_sym_LBRACK, - ACTIONS(843), 1, + ACTIONS(965), 1, anon_sym_DASH_GT, - STATE(417), 1, + STATE(429), 1, sym_self_type_binding, - [13300] = 4, + [15547] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(845), 1, - anon_sym_COMMA, - ACTIONS(847), 1, - anon_sym_RBRACE, - STATE(304), 1, - aux_sym_record_type_repeat1, - [13313] = 4, + ACTIONS(967), 3, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [15556] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(849), 1, + ACTIONS(798), 1, anon_sym_COMMA, - ACTIONS(851), 1, + ACTIONS(969), 1, anon_sym_RBRACK, - STATE(301), 1, - aux_sym_module_type_parameters_repeat1, - [13326] = 4, + STATE(328), 1, + aux_sym_tuple_type_repeat1, + [15569] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(849), 1, + ACTIONS(971), 1, + anon_sym_RPAREN, + ACTIONS(973), 1, anon_sym_COMMA, - ACTIONS(853), 1, - anon_sym_RBRACK, - STATE(311), 1, - aux_sym_module_type_parameters_repeat1, - [13339] = 4, + STATE(357), 1, + aux_sym_required_positionals_repeat1, + [15582] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(855), 1, + ACTIONS(906), 1, anon_sym_COMMA, - ACTIONS(857), 1, - anon_sym_RBRACE, - STATE(310), 1, - aux_sym_record_type_repeat1, - [13352] = 4, + ACTIONS(976), 1, + anon_sym_RBRACK, + STATE(324), 1, + aux_sym_method_type_parameters_repeat1, + [15595] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(706), 1, - anon_sym_RBRACK, - ACTIONS(859), 1, + ACTIONS(978), 1, + anon_sym_RPAREN, + ACTIONS(980), 1, anon_sym_COMMA, - STATE(314), 1, - aux_sym_tuple_type_repeat1, - [13365] = 4, + STATE(345), 1, + aux_sym_optional_positionals_repeat1, + [15608] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(680), 1, + ACTIONS(902), 1, anon_sym_COMMA, - ACTIONS(862), 1, + ACTIONS(983), 1, anon_sym_RBRACK, - STATE(314), 1, - aux_sym_tuple_type_repeat1, - [13378] = 4, + STATE(351), 1, + aux_sym_module_type_parameters_repeat1, + [15621] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(864), 1, + ACTIONS(985), 1, anon_sym_LPAREN, - ACTIONS(866), 1, + ACTIONS(987), 1, anon_sym_COLON, - ACTIONS(868), 1, + ACTIONS(989), 1, anon_sym_LPAREN_RPAREN, - [13391] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(870), 1, - anon_sym_COMMA, - ACTIONS(872), 1, - anon_sym_RBRACK, - STATE(329), 1, - aux_sym_method_type_parameters_repeat1, - [13404] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(874), 1, - sym_identifier, - ACTIONS(876), 1, - sym_constant, - ACTIONS(878), 1, - sym_interface, - [13417] = 4, + [15634] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(870), 1, + ACTIONS(991), 1, + anon_sym_RPAREN, + ACTIONS(993), 1, anon_sym_COMMA, - ACTIONS(880), 1, - anon_sym_RBRACK, - STATE(317), 1, - aux_sym_method_type_parameters_repeat1, - [13430] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(882), 3, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [13439] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(666), 1, - anon_sym_LBRACK, - ACTIONS(884), 1, - anon_sym_DASH_GT, - STATE(377), 1, - sym_self_type_binding, - [13452] = 4, + STATE(338), 1, + aux_sym_required_positionals_repeat1, + [15647] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(99), 1, - anon_sym_RBRACK, - ACTIONS(886), 1, + ACTIONS(996), 1, anon_sym_COMMA, - STATE(314), 1, - aux_sym_tuple_type_repeat1, - [13465] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(834), 1, - sym_identifier, - ACTIONS(888), 1, + ACTIONS(998), 1, anon_sym_RBRACE, - STATE(313), 1, - sym__record_type_single, - [13478] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(890), 3, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LT, - [13487] = 4, + STATE(331), 1, + aux_sym_record_type_repeat1, + [15660] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(834), 1, + ACTIONS(918), 1, sym_identifier, - ACTIONS(892), 1, + ACTIONS(1000), 1, anon_sym_RBRACE, STATE(371), 1, sym__record_type_single, - [13500] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(894), 1, - anon_sym_LPAREN, - ACTIONS(896), 1, - anon_sym_COLON, - ACTIONS(898), 1, - anon_sym_LPAREN_RPAREN, - [13513] = 4, + [15673] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(900), 1, - anon_sym_LPAREN, - ACTIONS(902), 1, - anon_sym_COLON, - ACTIONS(904), 1, - anon_sym_LPAREN_RPAREN, - [13526] = 4, + ACTIONS(1002), 1, + anon_sym_COMMA, + ACTIONS(1005), 1, + anon_sym_RBRACK, + STATE(351), 1, + aux_sym_module_type_parameters_repeat1, + [15686] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(906), 1, + ACTIONS(1007), 1, anon_sym_LPAREN, - ACTIONS(908), 1, + ACTIONS(1009), 1, anon_sym_COLON, - ACTIONS(910), 1, + ACTIONS(1011), 1, anon_sym_LPAREN_RPAREN, - [13539] = 4, + [15699] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(912), 1, + ACTIONS(1013), 1, + anon_sym_RPAREN, + ACTIONS(1015), 1, anon_sym_COMMA, - ACTIONS(915), 1, - anon_sym_RBRACK, - STATE(329), 1, - aux_sym_method_type_parameters_repeat1, - [13552] = 4, + STATE(343), 1, + aux_sym_required_positionals_repeat1, + [15712] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(917), 1, + ACTIONS(1018), 1, anon_sym_RPAREN, - ACTIONS(919), 1, + ACTIONS(1020), 1, anon_sym_COMMA, - STATE(307), 1, - aux_sym_required_positionals_repeat1, - [13565] = 4, + STATE(345), 1, + aux_sym_optional_positionals_repeat1, + [15725] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(922), 1, - anon_sym_RPAREN, - ACTIONS(924), 1, + ACTIONS(193), 1, + anon_sym_RBRACK, + ACTIONS(1023), 1, anon_sym_COMMA, - STATE(331), 1, - aux_sym_required_positionals_repeat1, - [13578] = 4, + STATE(328), 1, + aux_sym_tuple_type_repeat1, + [15738] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(69), 1, + ACTIONS(770), 1, anon_sym_LBRACK, - ACTIONS(927), 1, - anon_sym_EQ2, - STATE(438), 1, - sym_module_type_parameters, - [13591] = 4, + ACTIONS(1025), 1, + anon_sym_DASH_GT, + STATE(416), 1, + sym_self_type_binding, + [15751] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(929), 1, + ACTIONS(1027), 1, anon_sym_RPAREN, - ACTIONS(931), 1, + ACTIONS(1029), 1, anon_sym_COMMA, - STATE(302), 1, - aux_sym_optional_positionals_repeat1, - [13604] = 3, + STATE(357), 1, + aux_sym_required_positionals_repeat1, + [15764] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(934), 1, - sym_identifier, - ACTIONS(936), 1, - sym_constant, - [13614] = 2, + ACTIONS(828), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [15772] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(938), 2, + ACTIONS(1032), 2, anon_sym_RPAREN, anon_sym_COMMA, - [13622] = 3, + [15780] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(248), 1, - sym__scope, - ACTIONS(940), 1, - anon_sym_COLON, - [13632] = 3, + ACTIONS(1034), 1, + sym_self, + STATE(207), 1, + sym_singleton_method_name, + [15790] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(834), 1, - sym_identifier, - STATE(371), 1, - sym__record_type_single, - [13642] = 3, + ACTIONS(927), 1, + sym_constant, + ACTIONS(1036), 1, + anon_sym_STAR, + [15800] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(942), 1, - sym_self, - STATE(192), 1, - sym_singleton_method_name, - [13652] = 3, + ACTIONS(1038), 1, + sym_constant, + ACTIONS(1040), 1, + sym_interface, + [15810] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(944), 1, - anon_sym_RPAREN, - ACTIONS(946), 1, + ACTIONS(1005), 2, anon_sym_COMMA, - [13662] = 3, + anon_sym_RBRACK, + [15818] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(944), 1, - anon_sym_RPAREN, - ACTIONS(948), 1, + ACTIONS(1042), 2, anon_sym_COMMA, - [13672] = 2, + anon_sym_RBRACK, + [15826] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(922), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [13680] = 3, + ACTIONS(1038), 1, + sym_constant, + ACTIONS(1044), 1, + sym_identifier, + [15836] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(944), 1, - anon_sym_RPAREN, - ACTIONS(950), 1, + ACTIONS(213), 1, + sym__scope, + ACTIONS(1046), 1, + anon_sym_COLON, + [15846] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1048), 2, anon_sym_COMMA, - [13690] = 3, + anon_sym_RBRACK, + [15854] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(952), 1, - anon_sym_RPAREN, - ACTIONS(954), 1, + ACTIONS(834), 2, anon_sym_COMMA, - [13700] = 3, + anon_sym_RBRACK, + [15862] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(952), 1, + ACTIONS(1050), 1, anon_sym_RPAREN, - ACTIONS(956), 1, + ACTIONS(1052), 1, anon_sym_COMMA, - [13710] = 3, + [15872] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(958), 1, - sym_self, - STATE(192), 1, - sym_singleton_method_name, - [13720] = 3, + ACTIONS(918), 1, + sym_identifier, + STATE(371), 1, + sym__record_type_single, + [15882] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(647), 1, - sym_identifier, - STATE(382), 1, - sym_var_name, - [13730] = 3, + ACTIONS(1054), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [15890] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, + ACTIONS(710), 1, anon_sym_LPAREN, - STATE(309), 1, + STATE(340), 1, sym_parameters, - [13740] = 3, + [15900] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(952), 1, + ACTIONS(1027), 2, anon_sym_RPAREN, - ACTIONS(960), 1, anon_sym_COMMA, - [13750] = 2, + [15908] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 2, + ACTIONS(1056), 1, + anon_sym_RPAREN, + ACTIONS(1058), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [13758] = 2, + [15918] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(962), 2, + ACTIONS(1056), 1, + anon_sym_RPAREN, + ACTIONS(1060), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [13766] = 3, + [15928] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(964), 1, + ACTIONS(1062), 2, anon_sym_RPAREN, - ACTIONS(966), 1, anon_sym_COMMA, - [13776] = 3, + [15936] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(936), 1, - sym_constant, - ACTIONS(968), 1, - sym_interface, - [13786] = 2, + ACTIONS(760), 1, + sym_identifier, + STATE(428), 1, + sym_var_name, + [15946] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(970), 2, + ACTIONS(1056), 1, + anon_sym_RPAREN, + ACTIONS(1064), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [13794] = 2, + [15956] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(812), 2, + ACTIONS(1066), 1, + anon_sym_RPAREN, + ACTIONS(1068), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [13802] = 3, + [15966] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, - sym_constant, - STATE(319), 1, - sym_type_variable, - [13812] = 3, + ACTIONS(1066), 1, + anon_sym_RPAREN, + ACTIONS(1070), 1, + anon_sym_COMMA, + [15976] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(972), 1, + ACTIONS(1066), 1, anon_sym_RPAREN, - ACTIONS(974), 1, + ACTIONS(1072), 1, anon_sym_COMMA, - [13822] = 3, + [15986] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(972), 1, + ACTIONS(1074), 2, anon_sym_RPAREN, - ACTIONS(976), 1, anon_sym_COMMA, - [13832] = 3, + [15994] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, + ACTIONS(776), 1, sym_constant, - STATE(370), 1, + STATE(287), 1, sym_type_variable, - [13842] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(972), 1, - anon_sym_RPAREN, - ACTIONS(978), 1, - anon_sym_COMMA, - [13852] = 3, + [16004] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, - anon_sym_LPAREN, - STATE(321), 1, - sym_parameters, - [13862] = 2, + ACTIONS(927), 1, + sym_constant, + ACTIONS(1040), 1, + sym_interface, + [16014] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(980), 2, + ACTIONS(1076), 1, + anon_sym_RPAREN, + ACTIONS(1078), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [13870] = 2, + [16024] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(982), 2, + ACTIONS(1076), 1, anon_sym_RPAREN, + ACTIONS(1080), 1, anon_sym_COMMA, - [13878] = 3, + [16034] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, + ACTIONS(776), 1, sym_constant, - STATE(279), 1, + STATE(394), 1, sym_type_variable, - [13888] = 2, + [16044] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(984), 2, - anon_sym_DOT, - anon_sym_QMARK_DOT, - [13896] = 3, + ACTIONS(1076), 1, + anon_sym_RPAREN, + ACTIONS(1082), 1, + anon_sym_COMMA, + [16054] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, - sym_constant, - ACTIONS(986), 1, - anon_sym_STAR, - [13906] = 3, + ACTIONS(1084), 2, + anon_sym_DOT, + anon_sym_QMARK_DOT, + [16062] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(242), 1, + ACTIONS(207), 1, sym__scope, - ACTIONS(988), 1, + ACTIONS(1086), 1, anon_sym_COLON, - [13916] = 2, + [16072] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(763), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [13924] = 2, + ACTIONS(1088), 1, + sym_self, + STATE(207), 1, + sym_singleton_method_name, + [16082] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(990), 2, - anon_sym_RPAREN, + ACTIONS(1090), 2, anon_sym_COMMA, - [13932] = 3, + anon_sym_RBRACK, + [16090] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, + ACTIONS(776), 1, sym_constant, - STATE(266), 1, + STATE(344), 1, sym_type_variable, - [13942] = 2, + [16100] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(915), 2, + ACTIONS(948), 2, anon_sym_COMMA, anon_sym_RBRACK, - [13950] = 2, + [16108] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(992), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [13958] = 3, + ACTIONS(710), 1, + anon_sym_LPAREN, + STATE(356), 1, + sym_parameters, + [16118] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, + ACTIONS(776), 1, sym_constant, - ACTIONS(968), 1, - sym_interface, - [13968] = 2, + STATE(289), 1, + sym_type_variable, + [16128] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1092), 1, + anon_sym_RPAREN, + [16135] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(994), 1, + ACTIONS(1094), 1, anon_sym_COLON, - [13975] = 2, + [16142] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(996), 1, + ACTIONS(1096), 1, + anon_sym_DOT, + [16149] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1098), 1, anon_sym_COLON, - [13982] = 2, + [16156] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(998), 1, + ACTIONS(1100), 1, sym_ivar_name, - [13989] = 2, + [16163] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1000), 1, + ACTIONS(1102), 1, + anon_sym_DOT, + [16170] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1104), 1, anon_sym_COLON, - [13996] = 2, + [16177] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(843), 1, + ACTIONS(873), 1, anon_sym_DASH_GT, - [14003] = 2, + [16184] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1002), 1, + ACTIONS(1106), 1, anon_sym_RPAREN, - [14010] = 2, + [16191] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, - sym_constant, - [14017] = 2, + ACTIONS(1108), 1, + sym_ivar_name, + [16198] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1110), 1, + anon_sym_DASH_GT, + [16205] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1004), 1, + ACTIONS(1112), 1, anon_sym_COLON, - [14024] = 2, + [16212] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1006), 1, - anon_sym_RPAREN, - [14031] = 2, + ACTIONS(802), 1, + anon_sym_DASH_GT, + [16219] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1008), 1, - anon_sym_COLON, - [14038] = 2, + ACTIONS(1114), 1, + anon_sym_LBRACE, + [16226] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1010), 1, - anon_sym_COLON, - [14045] = 2, + ACTIONS(1076), 1, + anon_sym_RPAREN, + [16233] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1012), 1, - anon_sym_COLON, - [14052] = 2, + ACTIONS(1116), 1, + sym_self, + [16240] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1014), 1, + ACTIONS(1118), 1, anon_sym_DASH_GT, - [14059] = 2, + [16247] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1016), 1, - sym_constant, - [14066] = 2, + ACTIONS(1120), 1, + anon_sym_DASH_GT, + [16254] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1018), 1, - anon_sym_DOT, - [14073] = 2, + ACTIONS(1122), 1, + anon_sym_COLON, + [16261] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(898), 1, - anon_sym_RPAREN, - [14080] = 2, + ACTIONS(965), 1, + anon_sym_DASH_GT, + [16268] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(896), 1, - anon_sym_COLON, - [14087] = 2, + ACTIONS(1124), 1, + anon_sym_DOT, + [16275] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(698), 1, - anon_sym_DASH_GT, - [14094] = 2, + ACTIONS(1126), 1, + anon_sym_COLON, + [16282] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1020), 1, - anon_sym_RPAREN, - [14101] = 2, + ACTIONS(1128), 1, + anon_sym_DOT, + [16289] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1022), 1, + ACTIONS(1130), 1, sym_ivar_name, - [14108] = 2, + [16296] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1132), 1, + anon_sym_COLON, + [16303] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(987), 1, + anon_sym_COLON, + [16310] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1024), 1, + ACTIONS(1134), 1, anon_sym_RPAREN, - [14115] = 2, + [16317] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1026), 1, - anon_sym_LBRACE, - [14122] = 2, + ACTIONS(1136), 1, + anon_sym_RPAREN, + [16324] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1028), 1, + ACTIONS(1138), 1, sym_constant, - [14129] = 2, + [16331] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1030), 1, + ACTIONS(1140), 1, anon_sym_COLON, - [14136] = 2, + [16338] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1032), 1, - anon_sym_QMARK2, - [14143] = 2, + ACTIONS(1142), 1, + anon_sym_RPAREN, + [16345] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1034), 1, - anon_sym_DOT, - [14150] = 2, + ACTIONS(1144), 1, + anon_sym_COLON, + [16352] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(902), 1, - anon_sym_COLON, - [14157] = 2, + ACTIONS(1146), 1, + anon_sym_DASH_GT, + [16359] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1036), 1, - sym_ivar_name, - [14164] = 2, + ACTIONS(1142), 1, + anon_sym_RPAREN, + [16366] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(972), 1, + ACTIONS(1066), 1, anon_sym_RPAREN, - [14171] = 2, + [16373] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1038), 1, - sym_constant, - [14178] = 2, + ACTIONS(1148), 1, + anon_sym_COLON, + [16380] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1040), 1, + ACTIONS(1150), 1, anon_sym_RPAREN, - [14185] = 2, + [16387] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1042), 1, + ACTIONS(1152), 1, anon_sym_DASH_GT, - [14192] = 2, + [16394] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(753), 1, - anon_sym_DASH_GT, - [14199] = 2, + ACTIONS(1154), 1, + sym_ivar_name, + [16401] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1044), 1, - anon_sym_DASH_GT, - [14206] = 2, + ACTIONS(914), 1, + anon_sym_COLON, + [16408] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1046), 1, - sym_self, - [14213] = 2, + ACTIONS(1156), 1, + anon_sym_COLON, + [16415] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1048), 1, - ts_builtin_sym_end, - [14220] = 2, + ACTIONS(1056), 1, + anon_sym_RPAREN, + [16422] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1050), 1, + ACTIONS(1158), 1, + anon_sym_LPAREN, + [16429] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1160), 1, anon_sym_RPAREN, - [14227] = 2, + [16436] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1052), 1, - anon_sym_DASH_GT, - [14234] = 2, + ACTIONS(1162), 1, + anon_sym_EQ2, + [16443] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1054), 1, - anon_sym_COLON, - [14241] = 2, + ACTIONS(213), 1, + sym__scope, + [16450] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, - anon_sym_COLON, - [14248] = 2, + ACTIONS(1164), 1, + anon_sym_def, + [16457] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(242), 1, - sym__scope, - [14255] = 2, + ACTIONS(1166), 1, + sym_constant, + [16464] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1058), 1, + ACTIONS(1168), 1, anon_sym_DASH_GT, - [14262] = 2, + [16471] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1060), 1, - sym_ivar_name, - [14269] = 2, + ACTIONS(1170), 1, + anon_sym_COLON, + [16478] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1062), 1, + ACTIONS(1172), 1, anon_sym_DOT, - [14276] = 2, + [16485] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1064), 1, - anon_sym_DASH_GT, - [14283] = 2, + ACTIONS(1174), 1, + anon_sym_QMARK2, + [16492] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(964), 1, + ACTIONS(1050), 1, anon_sym_RPAREN, - [14290] = 2, + [16499] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, - anon_sym_COLON, - [14297] = 2, + ACTIONS(848), 1, + anon_sym_DASH_GT, + [16506] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_RPAREN, - [14304] = 2, + ACTIONS(1009), 1, + anon_sym_COLON, + [16513] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(728), 1, - anon_sym_DASH_GT, - [14311] = 2, + ACTIONS(916), 1, + anon_sym_RPAREN, + [16520] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1068), 1, - anon_sym_DOT, - [14318] = 2, + ACTIONS(1176), 1, + sym_ivar_name, + [16527] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1070), 1, + ACTIONS(1178), 1, anon_sym_RPAREN, - [14325] = 2, + [16534] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1072), 1, - anon_sym_def, - [14332] = 2, + ACTIONS(207), 1, + sym__scope, + [16541] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(704), 1, + ACTIONS(810), 1, anon_sym_def, - [14339] = 2, + [16548] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1074), 1, - anon_sym_COLON, - [14346] = 2, + ACTIONS(1180), 1, + anon_sym_GT, + [16555] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 1, - anon_sym_COLON, - [14353] = 2, + ACTIONS(1180), 1, + anon_sym_PIPE, + [16562] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1078), 1, - anon_sym_COLON, - [14360] = 2, + ACTIONS(1180), 1, + anon_sym_RBRACK, + [16569] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1080), 1, + ACTIONS(1180), 1, anon_sym_RPAREN, - [14367] = 2, + [16576] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1080), 1, + ACTIONS(1180), 1, + anon_sym_RBRACE, + [16583] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1011), 1, anon_sym_RPAREN, - [14374] = 2, + [16590] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1082), 1, - anon_sym_COLON, - [14381] = 2, + ACTIONS(927), 1, + sym_constant, + [16597] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(944), 1, - anon_sym_RPAREN, - [14388] = 2, + ACTIONS(1182), 1, + anon_sym_COLON, + [16604] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(952), 1, - anon_sym_RPAREN, - [14395] = 2, + ACTIONS(1184), 1, + sym_constant, + [16611] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1084), 1, - sym_ivar_name, - [14402] = 2, + ACTIONS(1186), 1, + ts_builtin_sym_end, + [16618] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(908), 1, + ACTIONS(1188), 1, anon_sym_COLON, - [14409] = 2, - ACTIONS(3), 1, + [16625] = 2, + ACTIONS(790), 1, sym_comment, - ACTIONS(248), 1, - sym__scope, - [14416] = 2, - ACTIONS(3), 1, + ACTIONS(1190), 1, + sym__annotation_text_without_angle_bracket, + [16632] = 2, + ACTIONS(790), 1, sym_comment, - ACTIONS(1086), 1, - anon_sym_DOT, - [14423] = 2, + ACTIONS(1192), 1, + sym__annotation_text_without_bar, + [16639] = 2, + ACTIONS(790), 1, + sym_comment, + ACTIONS(1194), 1, + sym__annotation_text_without_bracket, + [16646] = 2, + ACTIONS(790), 1, + sym_comment, + ACTIONS(1196), 1, + sym__annotation_text_without_parenthesis, + [16653] = 2, + ACTIONS(790), 1, + sym_comment, + ACTIONS(1198), 1, + sym__annotation_text_without_brace, + [16660] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1088), 1, - anon_sym_EQ2, - [14430] = 2, + ACTIONS(1200), 1, + anon_sym_DOT, + [16667] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1090), 1, + ACTIONS(1202), 1, anon_sym_DOT, - [14437] = 2, + [16674] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1092), 1, - anon_sym_LPAREN, + ACTIONS(1204), 1, + anon_sym_COLON, }; static const uint32_t ts_small_parse_table_map[] = { @@ -15421,438 +17628,473 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(6)] = 516, [SMALL_STATE(7)] = 639, [SMALL_STATE(8)] = 762, - [SMALL_STATE(9)] = 866, - [SMALL_STATE(10)] = 971, - [SMALL_STATE(11)] = 1072, - [SMALL_STATE(12)] = 1173, - [SMALL_STATE(13)] = 1274, - [SMALL_STATE(14)] = 1375, - [SMALL_STATE(15)] = 1476, - [SMALL_STATE(16)] = 1577, - [SMALL_STATE(17)] = 1678, - [SMALL_STATE(18)] = 1783, - [SMALL_STATE(19)] = 1881, - [SMALL_STATE(20)] = 1979, - [SMALL_STATE(21)] = 2077, - [SMALL_STATE(22)] = 2175, - [SMALL_STATE(23)] = 2273, - [SMALL_STATE(24)] = 2371, - [SMALL_STATE(25)] = 2469, - [SMALL_STATE(26)] = 2567, - [SMALL_STATE(27)] = 2665, - [SMALL_STATE(28)] = 2763, - [SMALL_STATE(29)] = 2861, - [SMALL_STATE(30)] = 2959, - [SMALL_STATE(31)] = 3057, - [SMALL_STATE(32)] = 3155, - [SMALL_STATE(33)] = 3253, - [SMALL_STATE(34)] = 3351, - [SMALL_STATE(35)] = 3449, - [SMALL_STATE(36)] = 3547, - [SMALL_STATE(37)] = 3645, - [SMALL_STATE(38)] = 3743, - [SMALL_STATE(39)] = 3841, - [SMALL_STATE(40)] = 3939, - [SMALL_STATE(41)] = 4037, - [SMALL_STATE(42)] = 4135, - [SMALL_STATE(43)] = 4233, - [SMALL_STATE(44)] = 4331, - [SMALL_STATE(45)] = 4429, - [SMALL_STATE(46)] = 4527, - [SMALL_STATE(47)] = 4625, - [SMALL_STATE(48)] = 4723, - [SMALL_STATE(49)] = 4821, - [SMALL_STATE(50)] = 4919, - [SMALL_STATE(51)] = 5015, - [SMALL_STATE(52)] = 5111, - [SMALL_STATE(53)] = 5201, - [SMALL_STATE(54)] = 5291, - [SMALL_STATE(55)] = 5381, - [SMALL_STATE(56)] = 5471, - [SMALL_STATE(57)] = 5521, - [SMALL_STATE(58)] = 5611, - [SMALL_STATE(59)] = 5701, - [SMALL_STATE(60)] = 5791, - [SMALL_STATE(61)] = 5841, - [SMALL_STATE(62)] = 5931, - [SMALL_STATE(63)] = 5981, - [SMALL_STATE(64)] = 6031, - [SMALL_STATE(65)] = 6121, - [SMALL_STATE(66)] = 6211, - [SMALL_STATE(67)] = 6261, - [SMALL_STATE(68)] = 6311, - [SMALL_STATE(69)] = 6401, - [SMALL_STATE(70)] = 6463, - [SMALL_STATE(71)] = 6525, - [SMALL_STATE(72)] = 6584, - [SMALL_STATE(73)] = 6643, - [SMALL_STATE(74)] = 6702, - [SMALL_STATE(75)] = 6761, - [SMALL_STATE(76)] = 6817, - [SMALL_STATE(77)] = 6873, - [SMALL_STATE(78)] = 6929, - [SMALL_STATE(79)] = 6985, - [SMALL_STATE(80)] = 7041, - [SMALL_STATE(81)] = 7097, - [SMALL_STATE(82)] = 7153, - [SMALL_STATE(83)] = 7209, - [SMALL_STATE(84)] = 7255, - [SMALL_STATE(85)] = 7301, - [SMALL_STATE(86)] = 7347, - [SMALL_STATE(87)] = 7393, - [SMALL_STATE(88)] = 7434, - [SMALL_STATE(89)] = 7478, - [SMALL_STATE(90)] = 7518, - [SMALL_STATE(91)] = 7562, - [SMALL_STATE(92)] = 7602, - [SMALL_STATE(93)] = 7646, - [SMALL_STATE(94)] = 7685, - [SMALL_STATE(95)] = 7724, - [SMALL_STATE(96)] = 7765, - [SMALL_STATE(97)] = 7803, - [SMALL_STATE(98)] = 7841, - [SMALL_STATE(99)] = 7879, - [SMALL_STATE(100)] = 7917, - [SMALL_STATE(101)] = 7955, - [SMALL_STATE(102)] = 7993, - [SMALL_STATE(103)] = 8031, - [SMALL_STATE(104)] = 8069, - [SMALL_STATE(105)] = 8107, - [SMALL_STATE(106)] = 8145, - [SMALL_STATE(107)] = 8183, - [SMALL_STATE(108)] = 8221, - [SMALL_STATE(109)] = 8259, - [SMALL_STATE(110)] = 8297, - [SMALL_STATE(111)] = 8335, - [SMALL_STATE(112)] = 8373, - [SMALL_STATE(113)] = 8415, - [SMALL_STATE(114)] = 8457, - [SMALL_STATE(115)] = 8495, - [SMALL_STATE(116)] = 8533, - [SMALL_STATE(117)] = 8571, - [SMALL_STATE(118)] = 8609, - [SMALL_STATE(119)] = 8647, - [SMALL_STATE(120)] = 8685, - [SMALL_STATE(121)] = 8723, - [SMALL_STATE(122)] = 8761, - [SMALL_STATE(123)] = 8803, - [SMALL_STATE(124)] = 8845, - [SMALL_STATE(125)] = 8887, - [SMALL_STATE(126)] = 8927, - [SMALL_STATE(127)] = 8964, - [SMALL_STATE(128)] = 9001, - [SMALL_STATE(129)] = 9038, - [SMALL_STATE(130)] = 9073, - [SMALL_STATE(131)] = 9104, - [SMALL_STATE(132)] = 9135, - [SMALL_STATE(133)] = 9170, - [SMALL_STATE(134)] = 9205, - [SMALL_STATE(135)] = 9240, - [SMALL_STATE(136)] = 9273, - [SMALL_STATE(137)] = 9308, - [SMALL_STATE(138)] = 9341, - [SMALL_STATE(139)] = 9376, - [SMALL_STATE(140)] = 9429, - [SMALL_STATE(141)] = 9462, - [SMALL_STATE(142)] = 9497, - [SMALL_STATE(143)] = 9532, - [SMALL_STATE(144)] = 9567, - [SMALL_STATE(145)] = 9602, - [SMALL_STATE(146)] = 9630, - [SMALL_STATE(147)] = 9658, - [SMALL_STATE(148)] = 9686, - [SMALL_STATE(149)] = 9714, - [SMALL_STATE(150)] = 9746, - [SMALL_STATE(151)] = 9774, - [SMALL_STATE(152)] = 9802, - [SMALL_STATE(153)] = 9830, - [SMALL_STATE(154)] = 9858, - [SMALL_STATE(155)] = 9886, - [SMALL_STATE(156)] = 9918, - [SMALL_STATE(157)] = 9946, - [SMALL_STATE(158)] = 9978, - [SMALL_STATE(159)] = 10010, - [SMALL_STATE(160)] = 10038, - [SMALL_STATE(161)] = 10070, - [SMALL_STATE(162)] = 10098, - [SMALL_STATE(163)] = 10126, - [SMALL_STATE(164)] = 10158, - [SMALL_STATE(165)] = 10186, - [SMALL_STATE(166)] = 10214, - [SMALL_STATE(167)] = 10246, - [SMALL_STATE(168)] = 10274, - [SMALL_STATE(169)] = 10302, - [SMALL_STATE(170)] = 10334, - [SMALL_STATE(171)] = 10366, - [SMALL_STATE(172)] = 10394, - [SMALL_STATE(173)] = 10426, - [SMALL_STATE(174)] = 10458, - [SMALL_STATE(175)] = 10485, - [SMALL_STATE(176)] = 10512, - [SMALL_STATE(177)] = 10541, - [SMALL_STATE(178)] = 10567, - [SMALL_STATE(179)] = 10593, - [SMALL_STATE(180)] = 10639, - [SMALL_STATE(181)] = 10665, - [SMALL_STATE(182)] = 10691, - [SMALL_STATE(183)] = 10717, - [SMALL_STATE(184)] = 10743, - [SMALL_STATE(185)] = 10769, - [SMALL_STATE(186)] = 10795, - [SMALL_STATE(187)] = 10821, - [SMALL_STATE(188)] = 10847, - [SMALL_STATE(189)] = 10873, - [SMALL_STATE(190)] = 10899, - [SMALL_STATE(191)] = 10925, - [SMALL_STATE(192)] = 10971, - [SMALL_STATE(193)] = 10997, - [SMALL_STATE(194)] = 11023, - [SMALL_STATE(195)] = 11049, - [SMALL_STATE(196)] = 11075, - [SMALL_STATE(197)] = 11101, - [SMALL_STATE(198)] = 11127, - [SMALL_STATE(199)] = 11153, - [SMALL_STATE(200)] = 11179, - [SMALL_STATE(201)] = 11225, - [SMALL_STATE(202)] = 11251, - [SMALL_STATE(203)] = 11291, - [SMALL_STATE(204)] = 11325, - [SMALL_STATE(205)] = 11349, - [SMALL_STATE(206)] = 11383, - [SMALL_STATE(207)] = 11417, - [SMALL_STATE(208)] = 11451, - [SMALL_STATE(209)] = 11475, - [SMALL_STATE(210)] = 11496, - [SMALL_STATE(211)] = 11517, - [SMALL_STATE(212)] = 11554, - [SMALL_STATE(213)] = 11591, - [SMALL_STATE(214)] = 11614, - [SMALL_STATE(215)] = 11633, - [SMALL_STATE(216)] = 11668, - [SMALL_STATE(217)] = 11705, - [SMALL_STATE(218)] = 11738, - [SMALL_STATE(219)] = 11775, - [SMALL_STATE(220)] = 11796, - [SMALL_STATE(221)] = 11817, - [SMALL_STATE(222)] = 11833, - [SMALL_STATE(223)] = 11849, - [SMALL_STATE(224)] = 11865, - [SMALL_STATE(225)] = 11896, - [SMALL_STATE(226)] = 11925, - [SMALL_STATE(227)] = 11951, - [SMALL_STATE(228)] = 11977, - [SMALL_STATE(229)] = 12003, - [SMALL_STATE(230)] = 12029, - [SMALL_STATE(231)] = 12057, - [SMALL_STATE(232)] = 12073, - [SMALL_STATE(233)] = 12099, - [SMALL_STATE(234)] = 12124, - [SMALL_STATE(235)] = 12149, - [SMALL_STATE(236)] = 12172, - [SMALL_STATE(237)] = 12195, - [SMALL_STATE(238)] = 12218, - [SMALL_STATE(239)] = 12241, - [SMALL_STATE(240)] = 12264, - [SMALL_STATE(241)] = 12287, - [SMALL_STATE(242)] = 12309, - [SMALL_STATE(243)] = 12321, - [SMALL_STATE(244)] = 12341, - [SMALL_STATE(245)] = 12361, - [SMALL_STATE(246)] = 12381, - [SMALL_STATE(247)] = 12403, - [SMALL_STATE(248)] = 12421, - [SMALL_STATE(249)] = 12443, - [SMALL_STATE(250)] = 12455, - [SMALL_STATE(251)] = 12468, - [SMALL_STATE(252)] = 12485, - [SMALL_STATE(253)] = 12504, - [SMALL_STATE(254)] = 12523, - [SMALL_STATE(255)] = 12542, - [SMALL_STATE(256)] = 12559, - [SMALL_STATE(257)] = 12578, - [SMALL_STATE(258)] = 12597, - [SMALL_STATE(259)] = 12616, - [SMALL_STATE(260)] = 12633, - [SMALL_STATE(261)] = 12649, - [SMALL_STATE(262)] = 12663, - [SMALL_STATE(263)] = 12673, - [SMALL_STATE(264)] = 12689, - [SMALL_STATE(265)] = 12703, - [SMALL_STATE(266)] = 12713, - [SMALL_STATE(267)] = 12727, - [SMALL_STATE(268)] = 12741, - [SMALL_STATE(269)] = 12755, - [SMALL_STATE(270)] = 12769, - [SMALL_STATE(271)] = 12779, - [SMALL_STATE(272)] = 12795, - [SMALL_STATE(273)] = 12811, - [SMALL_STATE(274)] = 12827, - [SMALL_STATE(275)] = 12843, - [SMALL_STATE(276)] = 12859, - [SMALL_STATE(277)] = 12869, - [SMALL_STATE(278)] = 12885, - [SMALL_STATE(279)] = 12901, - [SMALL_STATE(280)] = 12915, - [SMALL_STATE(281)] = 12929, - [SMALL_STATE(282)] = 12943, - [SMALL_STATE(283)] = 12955, - [SMALL_STATE(284)] = 12965, - [SMALL_STATE(285)] = 12981, - [SMALL_STATE(286)] = 12995, - [SMALL_STATE(287)] = 13005, - [SMALL_STATE(288)] = 13015, - [SMALL_STATE(289)] = 13031, - [SMALL_STATE(290)] = 13043, - [SMALL_STATE(291)] = 13055, - [SMALL_STATE(292)] = 13069, - [SMALL_STATE(293)] = 13085, - [SMALL_STATE(294)] = 13097, - [SMALL_STATE(295)] = 13111, - [SMALL_STATE(296)] = 13121, - [SMALL_STATE(297)] = 13137, - [SMALL_STATE(298)] = 13151, - [SMALL_STATE(299)] = 13161, - [SMALL_STATE(300)] = 13170, - [SMALL_STATE(301)] = 13183, - [SMALL_STATE(302)] = 13196, - [SMALL_STATE(303)] = 13209, - [SMALL_STATE(304)] = 13222, - [SMALL_STATE(305)] = 13235, - [SMALL_STATE(306)] = 13248, - [SMALL_STATE(307)] = 13261, - [SMALL_STATE(308)] = 13274, - [SMALL_STATE(309)] = 13287, - [SMALL_STATE(310)] = 13300, - [SMALL_STATE(311)] = 13313, - [SMALL_STATE(312)] = 13326, - [SMALL_STATE(313)] = 13339, - [SMALL_STATE(314)] = 13352, - [SMALL_STATE(315)] = 13365, - [SMALL_STATE(316)] = 13378, - [SMALL_STATE(317)] = 13391, - [SMALL_STATE(318)] = 13404, - [SMALL_STATE(319)] = 13417, - [SMALL_STATE(320)] = 13430, - [SMALL_STATE(321)] = 13439, - [SMALL_STATE(322)] = 13452, - [SMALL_STATE(323)] = 13465, - [SMALL_STATE(324)] = 13478, - [SMALL_STATE(325)] = 13487, - [SMALL_STATE(326)] = 13500, - [SMALL_STATE(327)] = 13513, - [SMALL_STATE(328)] = 13526, - [SMALL_STATE(329)] = 13539, - [SMALL_STATE(330)] = 13552, - [SMALL_STATE(331)] = 13565, - [SMALL_STATE(332)] = 13578, - [SMALL_STATE(333)] = 13591, - [SMALL_STATE(334)] = 13604, - [SMALL_STATE(335)] = 13614, - [SMALL_STATE(336)] = 13622, - [SMALL_STATE(337)] = 13632, - [SMALL_STATE(338)] = 13642, - [SMALL_STATE(339)] = 13652, - [SMALL_STATE(340)] = 13662, - [SMALL_STATE(341)] = 13672, - [SMALL_STATE(342)] = 13680, - [SMALL_STATE(343)] = 13690, - [SMALL_STATE(344)] = 13700, - [SMALL_STATE(345)] = 13710, - [SMALL_STATE(346)] = 13720, - [SMALL_STATE(347)] = 13730, - [SMALL_STATE(348)] = 13740, - [SMALL_STATE(349)] = 13750, - [SMALL_STATE(350)] = 13758, - [SMALL_STATE(351)] = 13766, - [SMALL_STATE(352)] = 13776, - [SMALL_STATE(353)] = 13786, - [SMALL_STATE(354)] = 13794, - [SMALL_STATE(355)] = 13802, - [SMALL_STATE(356)] = 13812, - [SMALL_STATE(357)] = 13822, - [SMALL_STATE(358)] = 13832, - [SMALL_STATE(359)] = 13842, - [SMALL_STATE(360)] = 13852, - [SMALL_STATE(361)] = 13862, - [SMALL_STATE(362)] = 13870, - [SMALL_STATE(363)] = 13878, - [SMALL_STATE(364)] = 13888, - [SMALL_STATE(365)] = 13896, - [SMALL_STATE(366)] = 13906, - [SMALL_STATE(367)] = 13916, - [SMALL_STATE(368)] = 13924, - [SMALL_STATE(369)] = 13932, - [SMALL_STATE(370)] = 13942, - [SMALL_STATE(371)] = 13950, - [SMALL_STATE(372)] = 13958, - [SMALL_STATE(373)] = 13968, - [SMALL_STATE(374)] = 13975, - [SMALL_STATE(375)] = 13982, - [SMALL_STATE(376)] = 13989, - [SMALL_STATE(377)] = 13996, - [SMALL_STATE(378)] = 14003, - [SMALL_STATE(379)] = 14010, - [SMALL_STATE(380)] = 14017, - [SMALL_STATE(381)] = 14024, - [SMALL_STATE(382)] = 14031, - [SMALL_STATE(383)] = 14038, - [SMALL_STATE(384)] = 14045, - [SMALL_STATE(385)] = 14052, - [SMALL_STATE(386)] = 14059, - [SMALL_STATE(387)] = 14066, - [SMALL_STATE(388)] = 14073, - [SMALL_STATE(389)] = 14080, - [SMALL_STATE(390)] = 14087, - [SMALL_STATE(391)] = 14094, - [SMALL_STATE(392)] = 14101, - [SMALL_STATE(393)] = 14108, - [SMALL_STATE(394)] = 14115, - [SMALL_STATE(395)] = 14122, - [SMALL_STATE(396)] = 14129, - [SMALL_STATE(397)] = 14136, - [SMALL_STATE(398)] = 14143, - [SMALL_STATE(399)] = 14150, - [SMALL_STATE(400)] = 14157, - [SMALL_STATE(401)] = 14164, - [SMALL_STATE(402)] = 14171, - [SMALL_STATE(403)] = 14178, - [SMALL_STATE(404)] = 14185, - [SMALL_STATE(405)] = 14192, - [SMALL_STATE(406)] = 14199, - [SMALL_STATE(407)] = 14206, - [SMALL_STATE(408)] = 14213, - [SMALL_STATE(409)] = 14220, - [SMALL_STATE(410)] = 14227, - [SMALL_STATE(411)] = 14234, - [SMALL_STATE(412)] = 14241, - [SMALL_STATE(413)] = 14248, - [SMALL_STATE(414)] = 14255, - [SMALL_STATE(415)] = 14262, - [SMALL_STATE(416)] = 14269, - [SMALL_STATE(417)] = 14276, - [SMALL_STATE(418)] = 14283, - [SMALL_STATE(419)] = 14290, - [SMALL_STATE(420)] = 14297, - [SMALL_STATE(421)] = 14304, - [SMALL_STATE(422)] = 14311, - [SMALL_STATE(423)] = 14318, - [SMALL_STATE(424)] = 14325, - [SMALL_STATE(425)] = 14332, - [SMALL_STATE(426)] = 14339, - [SMALL_STATE(427)] = 14346, - [SMALL_STATE(428)] = 14353, - [SMALL_STATE(429)] = 14360, - [SMALL_STATE(430)] = 14367, - [SMALL_STATE(431)] = 14374, - [SMALL_STATE(432)] = 14381, - [SMALL_STATE(433)] = 14388, - [SMALL_STATE(434)] = 14395, - [SMALL_STATE(435)] = 14402, - [SMALL_STATE(436)] = 14409, - [SMALL_STATE(437)] = 14416, - [SMALL_STATE(438)] = 14423, - [SMALL_STATE(439)] = 14430, - [SMALL_STATE(440)] = 14437, + [SMALL_STATE(9)] = 888, + [SMALL_STATE(10)] = 1014, + [SMALL_STATE(11)] = 1131, + [SMALL_STATE(12)] = 1248, + [SMALL_STATE(13)] = 1359, + [SMALL_STATE(14)] = 1470, + [SMALL_STATE(15)] = 1581, + [SMALL_STATE(16)] = 1692, + [SMALL_STATE(17)] = 1803, + [SMALL_STATE(18)] = 1914, + [SMALL_STATE(19)] = 2025, + [SMALL_STATE(20)] = 2136, + [SMALL_STATE(21)] = 2247, + [SMALL_STATE(22)] = 2358, + [SMALL_STATE(23)] = 2469, + [SMALL_STATE(24)] = 2573, + [SMALL_STATE(25)] = 2674, + [SMALL_STATE(26)] = 2775, + [SMALL_STATE(27)] = 2876, + [SMALL_STATE(28)] = 2977, + [SMALL_STATE(29)] = 3078, + [SMALL_STATE(30)] = 3179, + [SMALL_STATE(31)] = 3280, + [SMALL_STATE(32)] = 3378, + [SMALL_STATE(33)] = 3476, + [SMALL_STATE(34)] = 3574, + [SMALL_STATE(35)] = 3672, + [SMALL_STATE(36)] = 3770, + [SMALL_STATE(37)] = 3868, + [SMALL_STATE(38)] = 3966, + [SMALL_STATE(39)] = 4064, + [SMALL_STATE(40)] = 4162, + [SMALL_STATE(41)] = 4260, + [SMALL_STATE(42)] = 4358, + [SMALL_STATE(43)] = 4456, + [SMALL_STATE(44)] = 4554, + [SMALL_STATE(45)] = 4652, + [SMALL_STATE(46)] = 4750, + [SMALL_STATE(47)] = 4848, + [SMALL_STATE(48)] = 4946, + [SMALL_STATE(49)] = 5044, + [SMALL_STATE(50)] = 5142, + [SMALL_STATE(51)] = 5240, + [SMALL_STATE(52)] = 5338, + [SMALL_STATE(53)] = 5436, + [SMALL_STATE(54)] = 5534, + [SMALL_STATE(55)] = 5632, + [SMALL_STATE(56)] = 5730, + [SMALL_STATE(57)] = 5828, + [SMALL_STATE(58)] = 5926, + [SMALL_STATE(59)] = 6024, + [SMALL_STATE(60)] = 6122, + [SMALL_STATE(61)] = 6220, + [SMALL_STATE(62)] = 6318, + [SMALL_STATE(63)] = 6416, + [SMALL_STATE(64)] = 6467, + [SMALL_STATE(65)] = 6518, + [SMALL_STATE(66)] = 6580, + [SMALL_STATE(67)] = 6642, + [SMALL_STATE(68)] = 6701, + [SMALL_STATE(69)] = 6760, + [SMALL_STATE(70)] = 6819, + [SMALL_STATE(71)] = 6878, + [SMALL_STATE(72)] = 6934, + [SMALL_STATE(73)] = 6990, + [SMALL_STATE(74)] = 7046, + [SMALL_STATE(75)] = 7102, + [SMALL_STATE(76)] = 7158, + [SMALL_STATE(77)] = 7214, + [SMALL_STATE(78)] = 7270, + [SMALL_STATE(79)] = 7326, + [SMALL_STATE(80)] = 7382, + [SMALL_STATE(81)] = 7427, + [SMALL_STATE(82)] = 7472, + [SMALL_STATE(83)] = 7521, + [SMALL_STATE(84)] = 7570, + [SMALL_STATE(85)] = 7619, + [SMALL_STATE(86)] = 7663, + [SMALL_STATE(87)] = 7707, + [SMALL_STATE(88)] = 7753, + [SMALL_STATE(89)] = 7797, + [SMALL_STATE(90)] = 7841, + [SMALL_STATE(91)] = 7885, + [SMALL_STATE(92)] = 7929, + [SMALL_STATE(93)] = 7973, + [SMALL_STATE(94)] = 8017, + [SMALL_STATE(95)] = 8060, + [SMALL_STATE(96)] = 8103, + [SMALL_STATE(97)] = 8146, + [SMALL_STATE(98)] = 8189, + [SMALL_STATE(99)] = 8232, + [SMALL_STATE(100)] = 8275, + [SMALL_STATE(101)] = 8318, + [SMALL_STATE(102)] = 8361, + [SMALL_STATE(103)] = 8404, + [SMALL_STATE(104)] = 8447, + [SMALL_STATE(105)] = 8490, + [SMALL_STATE(106)] = 8533, + [SMALL_STATE(107)] = 8576, + [SMALL_STATE(108)] = 8619, + [SMALL_STATE(109)] = 8666, + [SMALL_STATE(110)] = 8709, + [SMALL_STATE(111)] = 8756, + [SMALL_STATE(112)] = 8799, + [SMALL_STATE(113)] = 8842, + [SMALL_STATE(114)] = 8885, + [SMALL_STATE(115)] = 8932, + [SMALL_STATE(116)] = 8979, + [SMALL_STATE(117)] = 9022, + [SMALL_STATE(118)] = 9065, + [SMALL_STATE(119)] = 9108, + [SMALL_STATE(120)] = 9153, + [SMALL_STATE(121)] = 9196, + [SMALL_STATE(122)] = 9243, + [SMALL_STATE(123)] = 9286, + [SMALL_STATE(124)] = 9329, + [SMALL_STATE(125)] = 9375, + [SMALL_STATE(126)] = 9421, + [SMALL_STATE(127)] = 9462, + [SMALL_STATE(128)] = 9513, + [SMALL_STATE(129)] = 9587, + [SMALL_STATE(130)] = 9663, + [SMALL_STATE(131)] = 9705, + [SMALL_STATE(132)] = 9747, + [SMALL_STATE(133)] = 9789, + [SMALL_STATE(134)] = 9824, + [SMALL_STATE(135)] = 9859, + [SMALL_STATE(136)] = 9895, + [SMALL_STATE(137)] = 9935, + [SMALL_STATE(138)] = 9975, + [SMALL_STATE(139)] = 10015, + [SMALL_STATE(140)] = 10055, + [SMALL_STATE(141)] = 10091, + [SMALL_STATE(142)] = 10131, + [SMALL_STATE(143)] = 10171, + [SMALL_STATE(144)] = 10209, + [SMALL_STATE(145)] = 10249, + [SMALL_STATE(146)] = 10289, + [SMALL_STATE(147)] = 10327, + [SMALL_STATE(148)] = 10367, + [SMALL_STATE(149)] = 10407, + [SMALL_STATE(150)] = 10445, + [SMALL_STATE(151)] = 10478, + [SMALL_STATE(152)] = 10511, + [SMALL_STATE(153)] = 10548, + [SMALL_STATE(154)] = 10585, + [SMALL_STATE(155)] = 10622, + [SMALL_STATE(156)] = 10655, + [SMALL_STATE(157)] = 10688, + [SMALL_STATE(158)] = 10725, + [SMALL_STATE(159)] = 10792, + [SMALL_STATE(160)] = 10825, + [SMALL_STATE(161)] = 10858, + [SMALL_STATE(162)] = 10891, + [SMALL_STATE(163)] = 10928, + [SMALL_STATE(164)] = 10961, + [SMALL_STATE(165)] = 10998, + [SMALL_STATE(166)] = 11035, + [SMALL_STATE(167)] = 11102, + [SMALL_STATE(168)] = 11169, + [SMALL_STATE(169)] = 11202, + [SMALL_STATE(170)] = 11239, + [SMALL_STATE(171)] = 11276, + [SMALL_STATE(172)] = 11309, + [SMALL_STATE(173)] = 11342, + [SMALL_STATE(174)] = 11375, + [SMALL_STATE(175)] = 11408, + [SMALL_STATE(176)] = 11445, + [SMALL_STATE(177)] = 11482, + [SMALL_STATE(178)] = 11519, + [SMALL_STATE(179)] = 11552, + [SMALL_STATE(180)] = 11585, + [SMALL_STATE(181)] = 11622, + [SMALL_STATE(182)] = 11655, + [SMALL_STATE(183)] = 11688, + [SMALL_STATE(184)] = 11721, + [SMALL_STATE(185)] = 11758, + [SMALL_STATE(186)] = 11795, + [SMALL_STATE(187)] = 11827, + [SMALL_STATE(188)] = 11859, + [SMALL_STATE(189)] = 11893, + [SMALL_STATE(190)] = 11925, + [SMALL_STATE(191)] = 11957, + [SMALL_STATE(192)] = 11988, + [SMALL_STATE(193)] = 12019, + [SMALL_STATE(194)] = 12050, + [SMALL_STATE(195)] = 12081, + [SMALL_STATE(196)] = 12112, + [SMALL_STATE(197)] = 12143, + [SMALL_STATE(198)] = 12174, + [SMALL_STATE(199)] = 12205, + [SMALL_STATE(200)] = 12236, + [SMALL_STATE(201)] = 12267, + [SMALL_STATE(202)] = 12298, + [SMALL_STATE(203)] = 12329, + [SMALL_STATE(204)] = 12360, + [SMALL_STATE(205)] = 12391, + [SMALL_STATE(206)] = 12422, + [SMALL_STATE(207)] = 12453, + [SMALL_STATE(208)] = 12484, + [SMALL_STATE(209)] = 12515, + [SMALL_STATE(210)] = 12546, + [SMALL_STATE(211)] = 12577, + [SMALL_STATE(212)] = 12608, + [SMALL_STATE(213)] = 12639, + [SMALL_STATE(214)] = 12670, + [SMALL_STATE(215)] = 12701, + [SMALL_STATE(216)] = 12732, + [SMALL_STATE(217)] = 12794, + [SMALL_STATE(218)] = 12855, + [SMALL_STATE(219)] = 12910, + [SMALL_STATE(220)] = 12965, + [SMALL_STATE(221)] = 13020, + [SMALL_STATE(222)] = 13075, + [SMALL_STATE(223)] = 13133, + [SMALL_STATE(224)] = 13191, + [SMALL_STATE(225)] = 13249, + [SMALL_STATE(226)] = 13307, + [SMALL_STATE(227)] = 13333, + [SMALL_STATE(228)] = 13361, + [SMALL_STATE(229)] = 13413, + [SMALL_STATE(230)] = 13439, + [SMALL_STATE(231)] = 13485, + [SMALL_STATE(232)] = 13511, + [SMALL_STATE(233)] = 13537, + [SMALL_STATE(234)] = 13561, + [SMALL_STATE(235)] = 13582, + [SMALL_STATE(236)] = 13603, + [SMALL_STATE(237)] = 13624, + [SMALL_STATE(238)] = 13670, + [SMALL_STATE(239)] = 13716, + [SMALL_STATE(240)] = 13762, + [SMALL_STATE(241)] = 13808, + [SMALL_STATE(242)] = 13854, + [SMALL_STATE(243)] = 13900, + [SMALL_STATE(244)] = 13923, + [SMALL_STATE(245)] = 13946, + [SMALL_STATE(246)] = 13965, + [SMALL_STATE(247)] = 13982, + [SMALL_STATE(248)] = 13999, + [SMALL_STATE(249)] = 14032, + [SMALL_STATE(250)] = 14049, + [SMALL_STATE(251)] = 14084, + [SMALL_STATE(252)] = 14099, + [SMALL_STATE(253)] = 14114, + [SMALL_STATE(254)] = 14143, + [SMALL_STATE(255)] = 14159, + [SMALL_STATE(256)] = 14185, + [SMALL_STATE(257)] = 14211, + [SMALL_STATE(258)] = 14239, + [SMALL_STATE(259)] = 14265, + [SMALL_STATE(260)] = 14291, + [SMALL_STATE(261)] = 14317, + [SMALL_STATE(262)] = 14340, + [SMALL_STATE(263)] = 14363, + [SMALL_STATE(264)] = 14386, + [SMALL_STATE(265)] = 14409, + [SMALL_STATE(266)] = 14432, + [SMALL_STATE(267)] = 14455, + [SMALL_STATE(268)] = 14475, + [SMALL_STATE(269)] = 14497, + [SMALL_STATE(270)] = 14515, + [SMALL_STATE(271)] = 14533, + [SMALL_STATE(272)] = 14551, + [SMALL_STATE(273)] = 14571, + [SMALL_STATE(274)] = 14591, + [SMALL_STATE(275)] = 14613, + [SMALL_STATE(276)] = 14635, + [SMALL_STATE(277)] = 14654, + [SMALL_STATE(278)] = 14667, + [SMALL_STATE(279)] = 14686, + [SMALL_STATE(280)] = 14705, + [SMALL_STATE(281)] = 14724, + [SMALL_STATE(282)] = 14743, + [SMALL_STATE(283)] = 14760, + [SMALL_STATE(284)] = 14779, + [SMALL_STATE(285)] = 14796, + [SMALL_STATE(286)] = 14813, + [SMALL_STATE(287)] = 14827, + [SMALL_STATE(288)] = 14841, + [SMALL_STATE(289)] = 14857, + [SMALL_STATE(290)] = 14871, + [SMALL_STATE(291)] = 14887, + [SMALL_STATE(292)] = 14901, + [SMALL_STATE(293)] = 14915, + [SMALL_STATE(294)] = 14925, + [SMALL_STATE(295)] = 14941, + [SMALL_STATE(296)] = 14957, + [SMALL_STATE(297)] = 14969, + [SMALL_STATE(298)] = 14985, + [SMALL_STATE(299)] = 14997, + [SMALL_STATE(300)] = 15007, + [SMALL_STATE(301)] = 15019, + [SMALL_STATE(302)] = 15029, + [SMALL_STATE(303)] = 15043, + [SMALL_STATE(304)] = 15053, + [SMALL_STATE(305)] = 15067, + [SMALL_STATE(306)] = 15083, + [SMALL_STATE(307)] = 15099, + [SMALL_STATE(308)] = 15113, + [SMALL_STATE(309)] = 15127, + [SMALL_STATE(310)] = 15141, + [SMALL_STATE(311)] = 15155, + [SMALL_STATE(312)] = 15169, + [SMALL_STATE(313)] = 15183, + [SMALL_STATE(314)] = 15193, + [SMALL_STATE(315)] = 15209, + [SMALL_STATE(316)] = 15225, + [SMALL_STATE(317)] = 15241, + [SMALL_STATE(318)] = 15257, + [SMALL_STATE(319)] = 15267, + [SMALL_STATE(320)] = 15283, + [SMALL_STATE(321)] = 15293, + [SMALL_STATE(322)] = 15305, + [SMALL_STATE(323)] = 15321, + [SMALL_STATE(324)] = 15334, + [SMALL_STATE(325)] = 15347, + [SMALL_STATE(326)] = 15360, + [SMALL_STATE(327)] = 15373, + [SMALL_STATE(328)] = 15386, + [SMALL_STATE(329)] = 15399, + [SMALL_STATE(330)] = 15412, + [SMALL_STATE(331)] = 15425, + [SMALL_STATE(332)] = 15438, + [SMALL_STATE(333)] = 15447, + [SMALL_STATE(334)] = 15460, + [SMALL_STATE(335)] = 15473, + [SMALL_STATE(336)] = 15486, + [SMALL_STATE(337)] = 15495, + [SMALL_STATE(338)] = 15508, + [SMALL_STATE(339)] = 15521, + [SMALL_STATE(340)] = 15534, + [SMALL_STATE(341)] = 15547, + [SMALL_STATE(342)] = 15556, + [SMALL_STATE(343)] = 15569, + [SMALL_STATE(344)] = 15582, + [SMALL_STATE(345)] = 15595, + [SMALL_STATE(346)] = 15608, + [SMALL_STATE(347)] = 15621, + [SMALL_STATE(348)] = 15634, + [SMALL_STATE(349)] = 15647, + [SMALL_STATE(350)] = 15660, + [SMALL_STATE(351)] = 15673, + [SMALL_STATE(352)] = 15686, + [SMALL_STATE(353)] = 15699, + [SMALL_STATE(354)] = 15712, + [SMALL_STATE(355)] = 15725, + [SMALL_STATE(356)] = 15738, + [SMALL_STATE(357)] = 15751, + [SMALL_STATE(358)] = 15764, + [SMALL_STATE(359)] = 15772, + [SMALL_STATE(360)] = 15780, + [SMALL_STATE(361)] = 15790, + [SMALL_STATE(362)] = 15800, + [SMALL_STATE(363)] = 15810, + [SMALL_STATE(364)] = 15818, + [SMALL_STATE(365)] = 15826, + [SMALL_STATE(366)] = 15836, + [SMALL_STATE(367)] = 15846, + [SMALL_STATE(368)] = 15854, + [SMALL_STATE(369)] = 15862, + [SMALL_STATE(370)] = 15872, + [SMALL_STATE(371)] = 15882, + [SMALL_STATE(372)] = 15890, + [SMALL_STATE(373)] = 15900, + [SMALL_STATE(374)] = 15908, + [SMALL_STATE(375)] = 15918, + [SMALL_STATE(376)] = 15928, + [SMALL_STATE(377)] = 15936, + [SMALL_STATE(378)] = 15946, + [SMALL_STATE(379)] = 15956, + [SMALL_STATE(380)] = 15966, + [SMALL_STATE(381)] = 15976, + [SMALL_STATE(382)] = 15986, + [SMALL_STATE(383)] = 15994, + [SMALL_STATE(384)] = 16004, + [SMALL_STATE(385)] = 16014, + [SMALL_STATE(386)] = 16024, + [SMALL_STATE(387)] = 16034, + [SMALL_STATE(388)] = 16044, + [SMALL_STATE(389)] = 16054, + [SMALL_STATE(390)] = 16062, + [SMALL_STATE(391)] = 16072, + [SMALL_STATE(392)] = 16082, + [SMALL_STATE(393)] = 16090, + [SMALL_STATE(394)] = 16100, + [SMALL_STATE(395)] = 16108, + [SMALL_STATE(396)] = 16118, + [SMALL_STATE(397)] = 16128, + [SMALL_STATE(398)] = 16135, + [SMALL_STATE(399)] = 16142, + [SMALL_STATE(400)] = 16149, + [SMALL_STATE(401)] = 16156, + [SMALL_STATE(402)] = 16163, + [SMALL_STATE(403)] = 16170, + [SMALL_STATE(404)] = 16177, + [SMALL_STATE(405)] = 16184, + [SMALL_STATE(406)] = 16191, + [SMALL_STATE(407)] = 16198, + [SMALL_STATE(408)] = 16205, + [SMALL_STATE(409)] = 16212, + [SMALL_STATE(410)] = 16219, + [SMALL_STATE(411)] = 16226, + [SMALL_STATE(412)] = 16233, + [SMALL_STATE(413)] = 16240, + [SMALL_STATE(414)] = 16247, + [SMALL_STATE(415)] = 16254, + [SMALL_STATE(416)] = 16261, + [SMALL_STATE(417)] = 16268, + [SMALL_STATE(418)] = 16275, + [SMALL_STATE(419)] = 16282, + [SMALL_STATE(420)] = 16289, + [SMALL_STATE(421)] = 16296, + [SMALL_STATE(422)] = 16303, + [SMALL_STATE(423)] = 16310, + [SMALL_STATE(424)] = 16317, + [SMALL_STATE(425)] = 16324, + [SMALL_STATE(426)] = 16331, + [SMALL_STATE(427)] = 16338, + [SMALL_STATE(428)] = 16345, + [SMALL_STATE(429)] = 16352, + [SMALL_STATE(430)] = 16359, + [SMALL_STATE(431)] = 16366, + [SMALL_STATE(432)] = 16373, + [SMALL_STATE(433)] = 16380, + [SMALL_STATE(434)] = 16387, + [SMALL_STATE(435)] = 16394, + [SMALL_STATE(436)] = 16401, + [SMALL_STATE(437)] = 16408, + [SMALL_STATE(438)] = 16415, + [SMALL_STATE(439)] = 16422, + [SMALL_STATE(440)] = 16429, + [SMALL_STATE(441)] = 16436, + [SMALL_STATE(442)] = 16443, + [SMALL_STATE(443)] = 16450, + [SMALL_STATE(444)] = 16457, + [SMALL_STATE(445)] = 16464, + [SMALL_STATE(446)] = 16471, + [SMALL_STATE(447)] = 16478, + [SMALL_STATE(448)] = 16485, + [SMALL_STATE(449)] = 16492, + [SMALL_STATE(450)] = 16499, + [SMALL_STATE(451)] = 16506, + [SMALL_STATE(452)] = 16513, + [SMALL_STATE(453)] = 16520, + [SMALL_STATE(454)] = 16527, + [SMALL_STATE(455)] = 16534, + [SMALL_STATE(456)] = 16541, + [SMALL_STATE(457)] = 16548, + [SMALL_STATE(458)] = 16555, + [SMALL_STATE(459)] = 16562, + [SMALL_STATE(460)] = 16569, + [SMALL_STATE(461)] = 16576, + [SMALL_STATE(462)] = 16583, + [SMALL_STATE(463)] = 16590, + [SMALL_STATE(464)] = 16597, + [SMALL_STATE(465)] = 16604, + [SMALL_STATE(466)] = 16611, + [SMALL_STATE(467)] = 16618, + [SMALL_STATE(468)] = 16625, + [SMALL_STATE(469)] = 16632, + [SMALL_STATE(470)] = 16639, + [SMALL_STATE(471)] = 16646, + [SMALL_STATE(472)] = 16653, + [SMALL_STATE(473)] = 16660, + [SMALL_STATE(474)] = 16667, + [SMALL_STATE(475)] = 16674, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -15860,528 +18102,574 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(231), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(440), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), - [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), - [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), - [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(240), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), - [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), - [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), - [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), - [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(290), - [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(366), - [118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(398), - [121] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(284), - [124] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(289), - [127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), - [129] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(296), - [132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(256), - [135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(254), - [138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(72), - [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(250), - [144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(87), - [147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(243), - [150] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(244), - [153] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(245), - [156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(69), - [159] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(380), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_name, 1), - [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_name, 1), - [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setter, 2), - [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setter, 2), - [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_suffix, 2), - [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_suffix, 2), - [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier_suffix, 2), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier_suffix, 2), - [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_setter, 2), - [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_setter, 2), - [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), - [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416), - [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), - [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(204), - [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(387), - [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(364), - [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(422), - [224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(437), - [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185), - [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 1), - [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 1), - [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), - [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 2), - [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 2), - [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), - [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [252] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), - [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribyte_type, 1), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribyte_type, 1), - [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 1), - [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 1), - [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 1), - [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 1), - [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 1), - [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 1), - [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 2), - [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 2), - [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 1), - [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 1), - [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 2), - [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 2), - [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 1), - [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 1), - [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 1), - [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 1), - [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), - [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), - [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1), - [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 13), - [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 13), - [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4), - [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4), - [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), - [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3), - [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3), - [320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 13), - [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 3, .production_id = 13), - [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 2), - [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 2), - [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 2), - [332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 2), - [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 2), - [336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 2), - [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 4), - [340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 4), - [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 18), - [344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 5, .production_id = 18), - [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_type, 4), - [348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singleton_type, 4), - [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type, 2), - [352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional_type, 2), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5), - [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5), - [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 6), - [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 6), - [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 5), - [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 5), - [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), - [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 2), - [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 2), - [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), - [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), - [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), - [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 2), - [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 3), - [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 3), - [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 3), - [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 3), - [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2), - [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2), - [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 18), - [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 18), - [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 4), - [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 4), - [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 3), - [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 3), - [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 3, .production_id = 14), - [412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 3, .production_id = 14), - [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 3, .production_id = 14), - [416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 3, .production_id = 14), - [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 4), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 5), - [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_decl, 3), - [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 5), - [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 3), - [430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 3), - [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 4), - [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 4), - [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 4), - [438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 1), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), - [442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 5), - [444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2), - [446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 3), - [448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 3), - [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 6), - [452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1), - [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 4), - [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 7), - [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 8), - [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 9), - [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 10), - [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_alias_decl, 4, .production_id = 3), - [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 3), - [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 3, .production_id = 2), - [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 6, .production_id = 15), - [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 1), - [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 6, .production_id = 16), - [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4), - [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 5, .production_id = 12), - [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 2), - [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 11), - [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_alias_decl, 4, .production_id = 6), - [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 2), - [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4, .production_id = 8), - [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 2), - [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5), - [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5, .production_id = 10), - [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 2), - [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 2), - [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4), - [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 7), - [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4, .production_id = 4), - [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 2), - [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 2), - [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 3), - [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), - [524] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), SHIFT_REPEAT(224), - [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 3), - [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 3), - [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 2), - [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), - [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 3), - [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 1), - [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 4), - [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_method_name, 3), - [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_type_binds, 2), - [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 6), - [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility_member, 2), - [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 3), - [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), - [553] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(366), - [556] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(284), - [559] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(289), - [562] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(296), - [565] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(256), - [568] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(254), - [571] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(411), - [574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_member, 3, .production_id = 9), - [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 3), - [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 3), - [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 7), - [582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 3), - [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 4), - [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2), - [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 5), - [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), - [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), - [604] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(72), - [607] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(425), - [610] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(243), - [613] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(70), - [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 2), - [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), - [626] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), SHIFT_REPEAT(252), - [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), - [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), - [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), - [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_decl, 3), - [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 1, .production_id = 1), - [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), - [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), - [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), - [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), - [655] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(253), - [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3), - [660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 3, .production_id = 5), - [662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 2), - [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), - [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_name, 1), - [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), - [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), - [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), - [678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1), - [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 1), - [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [690] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [692] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [696] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), - [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [700] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 1), - [702] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility, 1), - [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility, 1), - [706] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), - [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), - [712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_type_single, 3, .production_id = 17), - [714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 3, .production_id = 20), - [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), - [718] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 4, .production_id = 21), - [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), - [722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), - [724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(297), - [726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 9), - [728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), - [732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(280), - [734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 8), - [736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 3), - [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), - [742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), - [744] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), - [746] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(269), - [749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 7), - [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), - [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), - [757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 4), - [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), - [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), - [763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 2), - [765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), - [767] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), SHIFT_REPEAT(280), - [770] = {.entry = {.count = 1, .reusable = false}}, SHIFT(264), - [772] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 3), - [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 3), - [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 3), - [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 1), - [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), - [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 11), - [784] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 1), - [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 1), - [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267), - [794] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 2), - [796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 2), - [798] = {.entry = {.count = 1, .reusable = false}}, SHIFT(268), - [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5), - [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3), - [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 2), - [806] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 2), SHIFT(10), - [809] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), SHIFT_REPEAT(237), - [812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), - [814] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), - [816] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), SHIFT_REPEAT(397), - [819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 2), - [821] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 2), SHIFT(397), - [824] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 19), SHIFT_REPEAT(337), - [827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 19), - [829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 1), - [831] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 1), SHIFT(10), - [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), - [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), - [840] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), SHIFT(10), - [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), - [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), - [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), - [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [859] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), SHIFT_REPEAT(36), - [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [864] = {.entry = {.count = 1, .reusable = false}}, SHIFT(400), - [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), - [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), - [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), - [874] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [878] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), - [882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_type_binding, 5), - [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variable, 1), - [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [894] = {.entry = {.count = 1, .reusable = false}}, SHIFT(434), - [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), - [900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(392), - [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), - [906] = {.entry = {.count = 1, .reusable = false}}, SHIFT(375), - [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), - [912] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), SHIFT_REPEAT(358), - [915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), - [917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), - [919] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), SHIFT(10), - [922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), - [924] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), SHIFT_REPEAT(10), - [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 3), - [931] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 3), SHIFT(397), - [934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), - [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rest_positional, 2), - [940] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 2), - [942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), - [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), - [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), - [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), - [960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), - [962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bound_type, 1), - [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [970] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_bound, 2), - [972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), - [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 4), - [982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 3), - [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [988] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 1), - [990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2), - [992] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 13), - [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), - [1000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [1002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), - [1004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [1006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat_keyword, 2), - [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [1012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [1014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), - [1016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), - [1018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [1020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [1022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), - [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), - [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), - [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), - [1030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [1032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), - [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), - [1038] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_variance, 1), - [1040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 5, .production_id = 20), - [1042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 6), - [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [1046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), - [1048] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [1050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 6, .production_id = 21), - [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), - [1058] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 7), - [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), - [1062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [1066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [1068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), - [1072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [1074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [1076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [1080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keywords, 1), - [1082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [1084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), - [1086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(254), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(266), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(390), + [122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(447), + [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(322), + [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(321), + [131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(472), + [134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(471), + [137] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(470), + [140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(469), + [143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(468), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), + [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(315), + [151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(279), + [154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(281), + [157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(67), + [160] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(277), + [163] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(126), + [166] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(267), + [169] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(273), + [172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(272), + [175] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(65), + [178] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(446), + [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), + [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 1), + [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 1), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 2), + [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 2), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), + [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), + [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(389), + [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(402), + [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417), + [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(203), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 1), + [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 1), + [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 2), + [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 2), + [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 1), + [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 1), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 1), + [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 1), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 1), + [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 1), + [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier_suffix, 2), + [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier_suffix, 2), + [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), + [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 1), + [287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 1), + [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_name, 1), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_name, 1), + [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_suffix, 2), + [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_suffix, 2), + [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_setter, 2), + [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_setter, 2), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 2), + [305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 2), + [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 1), + [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 1), + [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setter, 2), + [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setter, 2), + [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 14), + [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 3, .production_id = 14), + [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 2), + [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 2), + [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 3), + [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 3), + [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), + [329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3), + [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 2), + [333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 2), + [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3), + [341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1), + [345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1), + [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), + [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 2), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2), + [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 3), + [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 3), + [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), + [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 4), + [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 4), + [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 4), + [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 4), + [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 5), + [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 5), + [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 19), + [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 19), + [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 14), + [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 14), + [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4), + [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4), + [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 6), + [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 6), + [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 3), + [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 3), + [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 19), + [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 5, .production_id = 19), + [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_type, 4), + [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singleton_type, 4), + [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 2), + [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 2), + [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 3, .production_id = 15), + [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 3, .production_id = 15), + [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 2), + [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 2), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 3, .production_id = 15), + [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 3, .production_id = 15), + [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5), + [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type, 2), + [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional_type, 2), + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribyte_type, 1), + [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribyte_type, 1), + [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), + [449] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(472), + [452] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(471), + [455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(470), + [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(469), + [461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(468), + [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1), + [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 4), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 5), + [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_decl, 3), + [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3), + [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 1), + [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 4), + [480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 4), + [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 6), + [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 9), + [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 1), + [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 7), + [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 3), + [494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 3), + [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 4), + [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 5), + [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 4), + [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 10), + [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 5), + [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 3), + [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 3), + [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 8), + [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2), + [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4), + [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 3, .production_id = 3), + [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 2), + [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 2), + [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_alias_decl, 4, .production_id = 7), + [530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 3), + [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 8), + [538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 6, .production_id = 17), + [540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 6, .production_id = 16), + [542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 1), + [544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4, .production_id = 9), + [546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 2, .production_id = 2), + [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2), + [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), + [552] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(390), + [555] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(322), + [558] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(321), + [561] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(472), + [564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(471), + [567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(470), + [570] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(469), + [573] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(468), + [576] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(315), + [579] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(279), + [582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(281), + [585] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(467), + [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 3), + [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), + [592] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), SHIFT_REPEAT(228), + [595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 2), + [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 3), + [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 5, .production_id = 13), + [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 3), + [603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 12), + [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 3), + [607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 3, .production_id = 22), + [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 3, .production_id = 2), + [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5), + [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5, .production_id = 11), + [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 2), + [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4, .production_id = 5), + [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_alias_decl, 4, .production_id = 4), + [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4), + [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 4, .production_id = 22), + [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 2), + [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 3), + [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 2), + [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 3, .production_id = 22), + [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 4, .production_id = 24), + [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 3), + [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 3), + [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 1), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility_member, 2), + [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 3), + [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_type_binds, 2), + [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__member, 2, .production_id = 2), + [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 5), + [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 6), + [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_member, 3, .production_id = 10), + [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_method_name, 3), + [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 4), + [661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 4), + [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 3), + [665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 3), + [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 7), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [677] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(472), + [680] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(471), + [683] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(470), + [686] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(469), + [689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(468), + [692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), + [694] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(67), + [697] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(456), + [700] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(267), + [703] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(66), + [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), + [724] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), SHIFT_REPEAT(280), + [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_decl, 3), + [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), + [731] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(278), + [734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3), + [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 2), + [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 1, .production_id = 1), + [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), + [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 3, .production_id = 6), + [746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 2), + [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__decl, 2, .production_id = 2), + [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 1), + [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 1), + [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 2, .production_id = 2), + [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 3), + [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 4), + [766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), + [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_name, 1), + [770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1), + [776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [790] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 4, .production_id = 23), + [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [808] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility, 1), + [810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility, 1), + [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), + [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [816] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_type_single, 3, .production_id = 18), + [818] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 3, .production_id = 21), + [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), + [824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), + [826] = {.entry = {.count = 1, .reusable = false}}, SHIFT(311), + [828] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 2), + [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 3), + [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [840] = {.entry = {.count = 1, .reusable = false}}, SHIFT(309), + [842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(310), + [844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 11), + [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), + [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [850] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 3), + [852] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 3), + [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 8), + [858] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 2), + [860] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 2), + [862] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), + [864] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), + [866] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), SHIFT_REPEAT(302), + [869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3), + [871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 1), + [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(312), + [879] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), + [881] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(308), + [884] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [886] = {.entry = {.count = 1, .reusable = false}}, SHIFT(308), + [888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(302), + [890] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 9), + [894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5), + [896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 7), + [898] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 1), + [900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 1), + [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [912] = {.entry = {.count = 1, .reusable = false}}, SHIFT(453), + [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [922] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), SHIFT_REPEAT(33), + [925] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [929] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [933] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), SHIFT_REPEAT(370), + [936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), + [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variable, 1), + [940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 2), + [942] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 2), SHIFT(448), + [945] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), SHIFT_REPEAT(387), + [948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), + [950] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420), + [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [956] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 2), + [958] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 2), SHIFT(27), + [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_type_binding, 5), + [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), + [973] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), SHIFT(27), + [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [978] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), + [980] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), SHIFT_REPEAT(448), + [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(406), + [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 1), + [993] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 1), SHIFT(27), + [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [1000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [1002] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), SHIFT_REPEAT(264), + [1005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), + [1007] = {.entry = {.count = 1, .reusable = false}}, SHIFT(401), + [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [1013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), + [1015] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), SHIFT(27), + [1018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 3), + [1020] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 3), SHIFT(448), + [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [1027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), + [1029] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), SHIFT_REPEAT(27), + [1032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2), + [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), + [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [1042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_bound, 2), + [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [1046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 2), + [1048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bound_type, 1), + [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [1054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 14), + [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [1062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rest_positional, 2), + [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [1066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [1068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [1072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [1074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 3), + [1076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [1080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [1082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [1084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [1086] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 1), + [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 4), + [1092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat_keyword, 2), + [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [1102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [1104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), + [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), + [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), + [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), + [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), + [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [1132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [1138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_variance, 1), + [1140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keywords, 1), + [1144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [1150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 5, .production_id = 21), + [1152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 6), + [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [1160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 6, .production_id = 23), + [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [1168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 7), + [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), + [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [1180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), + [1186] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), + [1198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [1202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), }; #ifdef __cplusplus diff --git a/test/corpus/annotations.txt b/test/corpus/annotations.txt new file mode 100644 index 0000000..191d7d1 --- /dev/null +++ b/test/corpus/annotations.txt @@ -0,0 +1,354 @@ +================== +annotation with class decl +================== + +%a{test} class Foo +end + +--- + +(program + (annotations + (annotation + (annotation_text))) + (class_decl + (class_name + (constant)))) + +================== +annotation with module decl +================== + +%a{test} module Foo +end + +--- + +(program + (annotations + (annotation + (annotation_text))) + (module_decl + (module_name + (constant)))) + +================== +annotation with interface decl +================== + +%a{test} interface _Foo +end + +--- + +(program + (annotations + (annotation + (annotation_text))) + (interface_decl + (interface_name + (interface)))) + +================== +annotation with class alias decl +================== + +%a{test} class Foo = Bar + +--- + +(program + (annotations + (annotation + (annotation_text))) + (class_alias_decl + (class_name + (constant)) + (class_name + (constant)))) + +================== +annotation with module alias decl +================== + +%a{test} module Foo = Bar + +--- + +(program + (annotations + (annotation + (annotation_text))) + (module_alias_decl + (module_name + (constant)) + (module_name + (constant)))) + +================== +annotation with type alias decl +================== + +%a{test} type foo = Bar + +--- + +(program + (annotations + (annotation + (annotation_text))) + (type_alias_decl + (alias_name + (identifier)) + (type + (class_type + (class_name + (constant)))))) + +================== +annotation with const decl +================== + +%a{test} Foo: String + +--- + +(program + (annotations + (annotation + (annotation_text))) + (const_decl + (const_name + (constant)) + (type + (class_type + (class_name + (constant)))))) + +================== +annotation with global decl +================== + +%a{test} $foo: String + +--- + +(program + (annotations + (annotation + (annotation_text))) + (global_decl + (global_name) + (type + (class_type + (class_name + (constant)))))) + + +================== +annotation with class members +================== + +class Foo + %a(test) def foo: () -> String +end + +--- + +(program + (class_decl + (class_name + (constant)) + (members + (annotations + (annotation + (annotation_text))) + (method_member + (method_name + (identifier)) + (method_types + (method_type + (parameters) + (type + (class_type + (class_name + (constant)))))))))) + +================== +annotation with module members +================== + +module Foo + %a(test) def foo: () -> String +end + +--- + +(program + (module_decl + (module_name + (constant)) + (members + (annotations + (annotation + (annotation_text))) + (method_member + (method_name + (identifier)) + (method_types + (method_type + (parameters) + (type + (class_type + (class_name + (constant)))))))))) + +================== +annotation with interface members +================== + +interface _Foo + %a(test) def foo: () -> String +end + +--- + +(program + (interface_decl + (interface_name + (interface)) + (interface_members + (interface_member + (annotations + (annotation + (annotation_text))) + (method_member + (method_name + (identifier)) + (method_types + (method_type + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + + +================== +annotation with method visibility +================== + +class Foo + %a(test) private def foo: () -> String +end + +--- + +(program + (class_decl + (class_name + (constant)) + (members + (annotations + (annotation + (annotation_text))) + (method_member + (visibility) + (method_name + (identifier)) + (method_types + (method_type + (parameters) + (type + (class_type + (class_name + (constant)))))))))) + +================== +annotation with method types +================== + +class Foo + def foo: [A] %a{test1} () -> Array[A] +end + +--- + +(program + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type_parameters + (type_variable + (constant))) + (annotations + (annotation + (annotation_text))) + (method_type + (parameters) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant))))))))))))) + +================== +annotation with method overloading +================== + +class Foo + def foo: [A] %a{test1} () -> Array[A] + | %a{test2} (String) -> Integer +end + +--- +(program + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type_parameters + (type_variable + (constant))) + (annotations + (annotation + (annotation_text))) + (method_type + (parameters) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant)))))))) + (annotations + (annotation + (annotation_text))) + (method_type + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant)))))))))) From 4962c560e0cf361a8e2da3b07825fc6ca6c1634a Mon Sep 17 00:00:00 2001 From: joker1007 Date: Tue, 5 Dec 2023 00:35:40 +0900 Subject: [PATCH 2/2] fix!: fix method_types tree structure --- grammar.js | 7 +- src/grammar.json | 104 +- src/node-types.json | 31 +- src/parser.c | 8511 +++++++++++++++++------------------ test/corpus/annotations.txt | 510 +-- test/corpus/decls.txt | 11 +- test/corpus/members.txt | 368 +- test/corpus/methods.txt | 1509 ++++--- 8 files changed, 5386 insertions(+), 5665 deletions(-) diff --git a/grammar.js b/grammar.js index b26a590..c9c4f3a 100644 --- a/grammar.js +++ b/grammar.js @@ -14,6 +14,7 @@ module.exports = grammar({ inline: $ => [ $._no_parantheses_type, $._parantheses_type, + $._nestable_decls, ], conflicts: $ => [ @@ -272,7 +273,7 @@ module.exports = grammar({ generics_variance: $ => choice("out", "in"), - method_type: $ => seq(optional($.parameters), optional($.block), "->", $.type), + method_type_body: $ => seq(optional($.parameters), optional($.block), "->", $.type), proc: $ => seq("^", optional($.parameters), optional($.self_type_binding), optional($.block), "->", $.type), @@ -355,8 +356,10 @@ module.exports = grammar({ seq("def", $.self, "?.", $.method_name, ":", $.method_types), ), + method_type: $ => seq(optional($.method_type_parameters), alias(repeat($.annotation), $.annotations), $.method_type_body), + method_types: $ => choice( - sep1(seq(optional($.method_type_parameters), alias(repeat($.annotation), $.annotations), $.method_type), "|"), + sep1($.method_type, "|"), "..." ), diff --git a/src/grammar.json b/src/grammar.json index ec694c0..29402a0 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1905,7 +1905,7 @@ } ] }, - "method_type": { + "method_type_body": { "type": "SEQ", "members": [ { @@ -3074,6 +3074,39 @@ } ] }, + "method_type": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "method_type_parameters" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "ALIAS", + "content": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "annotation" + } + }, + "named": true, + "value": "annotations" + }, + { + "type": "SYMBOL", + "name": "method_type_body" + } + ] + }, "method_types": { "type": "CHOICE", "members": [ @@ -3081,37 +3114,8 @@ "type": "SEQ", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "method_type_parameters" - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "ALIAS", - "content": { - "type": "REPEAT", - "content": { - "type": "SYMBOL", - "name": "annotation" - } - }, - "named": true, - "value": "annotations" - }, - { - "type": "SYMBOL", - "name": "method_type" - } - ] + "type": "SYMBOL", + "name": "method_type" }, { "type": "REPEAT", @@ -3123,37 +3127,8 @@ "value": "|" }, { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "method_type_parameters" - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "ALIAS", - "content": { - "type": "REPEAT", - "content": { - "type": "SYMBOL", - "name": "annotation" - } - }, - "named": true, - "value": "annotations" - }, - { - "type": "SYMBOL", - "name": "method_type" - } - ] + "type": "SYMBOL", + "name": "method_type" } ] } @@ -3950,7 +3925,8 @@ "externals": [], "inline": [ "_no_parantheses_type", - "_parantheses_type" + "_parantheses_type", + "_nestable_decls" ], "supertypes": [] } diff --git a/src/node-types.json b/src/node-types.json index 8655d8a..72fb51b 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -800,6 +800,29 @@ "type": "method_type", "named": true, "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "annotations", + "named": true + }, + { + "type": "method_type_body", + "named": true + }, + { + "type": "method_type_parameters", + "named": true + } + ] + } + }, + { + "type": "method_type_body", + "named": true, + "fields": {}, "children": { "multiple": true, "required": true, @@ -842,17 +865,9 @@ "multiple": true, "required": false, "types": [ - { - "type": "annotations", - "named": true - }, { "type": "method_type", "named": true - }, - { - "type": "method_type_parameters", - "named": true } ] } diff --git a/src/parser.c b/src/parser.c index 807c163..9d7ba92 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,7 +6,7 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 476 +#define STATE_COUNT 468 #define LARGE_STATE_COUNT 2 #define SYMBOL_COUNT 203 #define ALIAS_COUNT 8 @@ -14,7 +14,7 @@ #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 6 #define MAX_ALIAS_SEQUENCE_LENGTH 11 -#define PRODUCTION_ID_COUNT 25 +#define PRODUCTION_ID_COUNT 24 enum { sym_identifier = 1, @@ -151,42 +151,42 @@ enum { sym_use_clause = 132, sym_annotation = 133, sym__decl = 134, - sym__nestable_decls = 135, - sym_class_decl = 136, - sym_superclass = 137, - sym_module_decl = 138, - sym_module_self_type_binds = 139, - sym_class_alias_decl = 140, - sym_module_alias_decl = 141, - sym_module_self_types = 142, - sym_interface_decl = 143, - sym_interface_member = 144, - sym_type_alias_decl = 145, - sym_const_decl = 146, - sym_const_name = 147, - sym_global_decl = 148, - sym_module_type_parameters = 149, - sym_module_type_parameter = 150, - sym_generics_bound = 151, - sym_bound_type = 152, - sym_generics_variance = 153, - sym_method_type = 154, - sym_parameters = 155, - sym_parameter = 156, - sym_required_positionals = 157, - sym_optional_positionals = 158, - sym_rest_positional = 159, - sym_trailing_positionals = 160, - sym_keywords = 161, - sym_splat_keyword = 162, - sym_required_keywords = 163, - sym_optional_keywords = 164, - sym_var_name = 165, - sym_self_type_binding = 166, - sym_block = 167, - sym__member = 168, - sym_ivar_member = 169, - sym_method_member = 170, + sym_class_decl = 135, + sym_superclass = 136, + sym_module_decl = 137, + sym_module_self_type_binds = 138, + sym_class_alias_decl = 139, + sym_module_alias_decl = 140, + sym_module_self_types = 141, + sym_interface_decl = 142, + sym_interface_member = 143, + sym_type_alias_decl = 144, + sym_const_decl = 145, + sym_const_name = 146, + sym_global_decl = 147, + sym_module_type_parameters = 148, + sym_module_type_parameter = 149, + sym_generics_bound = 150, + sym_bound_type = 151, + sym_generics_variance = 152, + sym_method_type_body = 153, + sym_parameters = 154, + sym_parameter = 155, + sym_required_positionals = 156, + sym_optional_positionals = 157, + sym_rest_positional = 158, + sym_trailing_positionals = 159, + sym_keywords = 160, + sym_splat_keyword = 161, + sym_required_keywords = 162, + sym_optional_keywords = 163, + sym_var_name = 164, + sym_self_type_binding = 165, + sym_block = 166, + sym__member = 167, + sym_ivar_member = 168, + sym_method_member = 169, + sym_method_type = 170, sym_method_types = 171, sym_method_type_parameters = 172, sym_attribute_member = 173, @@ -365,7 +365,6 @@ static const char * const ts_symbol_names[] = { [sym_use_clause] = "use_clause", [sym_annotation] = "annotation", [sym__decl] = "_decl", - [sym__nestable_decls] = "_nestable_decls", [sym_class_decl] = "class_decl", [sym_superclass] = "superclass", [sym_module_decl] = "module_decl", @@ -384,7 +383,7 @@ static const char * const ts_symbol_names[] = { [sym_generics_bound] = "generics_bound", [sym_bound_type] = "bound_type", [sym_generics_variance] = "generics_variance", - [sym_method_type] = "method_type", + [sym_method_type_body] = "method_type_body", [sym_parameters] = "parameters", [sym_parameter] = "parameter", [sym_required_positionals] = "required_positionals", @@ -401,6 +400,7 @@ static const char * const ts_symbol_names[] = { [sym__member] = "_member", [sym_ivar_member] = "ivar_member", [sym_method_member] = "method_member", + [sym_method_type] = "method_type", [sym_method_types] = "method_types", [sym_method_type_parameters] = "method_type_parameters", [sym_attribute_member] = "attribute_member", @@ -579,7 +579,6 @@ static const TSSymbol ts_symbol_map[] = { [sym_use_clause] = sym_use_clause, [sym_annotation] = sym_annotation, [sym__decl] = sym__decl, - [sym__nestable_decls] = sym__nestable_decls, [sym_class_decl] = sym_class_decl, [sym_superclass] = sym_superclass, [sym_module_decl] = sym_module_decl, @@ -598,7 +597,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_generics_bound] = sym_generics_bound, [sym_bound_type] = sym_bound_type, [sym_generics_variance] = sym_generics_variance, - [sym_method_type] = sym_method_type, + [sym_method_type_body] = sym_method_type_body, [sym_parameters] = sym_parameters, [sym_parameter] = sym_parameter, [sym_required_positionals] = sym_required_positionals, @@ -615,6 +614,7 @@ static const TSSymbol ts_symbol_map[] = { [sym__member] = sym__member, [sym_ivar_member] = sym_ivar_member, [sym_method_member] = sym_method_member, + [sym_method_type] = sym_method_type, [sym_method_types] = sym_method_types, [sym_method_type_parameters] = sym_method_type_parameters, [sym_attribute_member] = sym_attribute_member, @@ -1198,10 +1198,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, - [sym__nestable_decls] = { - .visible = false, - .named = true, - }, [sym_class_decl] = { .visible = true, .named = true, @@ -1274,7 +1270,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_method_type] = { + [sym_method_type_body] = { .visible = true, .named = true, }, @@ -1342,6 +1338,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_method_type] = { + .visible = true, + .named = true, + }, [sym_method_types] = { .visible = true, .named = true, @@ -1620,9 +1620,6 @@ static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE [23] = { [1] = alias_sym_keyword, }, - [24] = { - [2] = alias_sym_annotations, - }, }; static const uint16_t ts_non_terminal_alias_map[] = { @@ -1718,14 +1715,14 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [69] = 69, [70] = 70, [71] = 71, - [72] = 71, - [73] = 71, + [72] = 72, + [73] = 73, [74] = 74, [75] = 75, [76] = 76, [77] = 76, - [78] = 78, - [79] = 79, + [78] = 74, + [79] = 74, [80] = 80, [81] = 81, [82] = 82, @@ -1798,12 +1795,12 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [149] = 149, [150] = 150, [151] = 151, - [152] = 125, + [152] = 152, [153] = 153, [154] = 154, [155] = 155, [156] = 156, - [157] = 124, + [157] = 157, [158] = 158, [159] = 159, [160] = 160, @@ -1813,7 +1810,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [164] = 164, [165] = 165, [166] = 166, - [167] = 167, + [167] = 124, [168] = 168, [169] = 169, [170] = 170, @@ -1821,7 +1818,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [172] = 172, [173] = 173, [174] = 174, - [175] = 175, + [175] = 125, [176] = 176, [177] = 177, [178] = 178, @@ -1840,20 +1837,20 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [191] = 191, [192] = 192, [193] = 193, - [194] = 93, - [195] = 85, - [196] = 90, + [194] = 194, + [195] = 195, + [196] = 196, [197] = 197, [198] = 198, - [199] = 89, - [200] = 200, - [201] = 201, + [199] = 199, + [200] = 89, + [201] = 86, [202] = 88, - [203] = 86, + [203] = 87, [204] = 204, - [205] = 205, + [205] = 90, [206] = 206, - [207] = 207, + [207] = 91, [208] = 208, [209] = 209, [210] = 210, @@ -1882,15 +1879,15 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [233] = 233, [234] = 234, [235] = 235, - [236] = 236, - [237] = 237, + [236] = 124, + [237] = 125, [238] = 238, [239] = 239, [240] = 240, [241] = 241, [242] = 242, - [243] = 124, - [244] = 125, + [243] = 243, + [244] = 244, [245] = 245, [246] = 246, [247] = 247, @@ -1905,9 +1902,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [256] = 256, [257] = 257, [258] = 258, - [259] = 259, + [259] = 124, [260] = 260, - [261] = 261, + [261] = 125, [262] = 262, [263] = 263, [264] = 264, @@ -1915,8 +1912,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [266] = 266, [267] = 267, [268] = 268, - [269] = 125, - [270] = 124, + [269] = 269, + [270] = 270, [271] = 271, [272] = 272, [273] = 273, @@ -2004,7 +2001,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [355] = 355, [356] = 356, [357] = 357, - [358] = 358, + [358] = 352, [359] = 359, [360] = 360, [361] = 361, @@ -2037,7 +2034,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [388] = 388, [389] = 389, [390] = 390, - [391] = 360, + [391] = 391, [392] = 392, [393] = 393, [394] = 394, @@ -2094,7 +2091,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [445] = 445, [446] = 446, [447] = 447, - [448] = 448, + [448] = 271, [449] = 449, [450] = 450, [451] = 451, @@ -2102,7 +2099,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [453] = 453, [454] = 454, [455] = 455, - [456] = 277, + [456] = 456, [457] = 457, [458] = 458, [459] = 459, @@ -2111,17 +2108,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [462] = 462, [463] = 463, [464] = 464, - [465] = 465, - [466] = 466, + [465] = 442, + [466] = 442, [467] = 467, - [468] = 468, - [469] = 469, - [470] = 470, - [471] = 471, - [472] = 472, - [473] = 419, - [474] = 419, - [475] = 475, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -2316,7 +2305,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 15: if (lookahead == '"') ADVANCE(82); if (lookahead == '#') ADVANCE(84); - if (lookahead == '\\') ADVANCE(11); + if (lookahead == '\\') ADVANCE(8); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -2388,7 +2377,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 20: if (lookahead == '#') ADVANCE(87); if (lookahead == '\'') ADVANCE(83); - if (lookahead == '\\') ADVANCE(8); + if (lookahead == '\\') ADVANCE(11); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -2839,7 +2828,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 85: ACCEPT_TOKEN(sym_double_quote_string_body); if (lookahead == '#') ADVANCE(84); - if (lookahead == '\\') ADVANCE(11); + if (lookahead == '\\') ADVANCE(8); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -2863,7 +2852,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 88: ACCEPT_TOKEN(sym_single_quote_string_body); if (lookahead == '#') ADVANCE(87); - if (lookahead == '\\') ADVANCE(8); + if (lookahead == '\\') ADVANCE(11); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -2945,7 +2934,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(88); + lookahead == ' ') ADVANCE(85); END_STATE(); case 106: ACCEPT_TOKEN(sym_escape_sequence); @@ -2953,7 +2942,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(85); + lookahead == ' ') ADVANCE(88); END_STATE(); case 107: ACCEPT_TOKEN(sym_escape_sequence); @@ -3799,8 +3788,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [7] = {.lex_state = 60}, [8] = {.lex_state = 61}, [9] = {.lex_state = 60}, - [10] = {.lex_state = 60}, - [11] = {.lex_state = 61}, + [10] = {.lex_state = 61}, + [11] = {.lex_state = 60}, [12] = {.lex_state = 60}, [13] = {.lex_state = 60}, [14] = {.lex_state = 60}, @@ -3874,15 +3863,15 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [82] = {.lex_state = 61}, [83] = {.lex_state = 61}, [84] = {.lex_state = 61}, - [85] = {.lex_state = 12}, + [85] = {.lex_state = 61}, [86] = {.lex_state = 12}, - [87] = {.lex_state = 63}, + [87] = {.lex_state = 12}, [88] = {.lex_state = 12}, [89] = {.lex_state = 12}, [90] = {.lex_state = 12}, - [91] = {.lex_state = 61}, - [92] = {.lex_state = 61}, - [93] = {.lex_state = 12}, + [91] = {.lex_state = 12}, + [92] = {.lex_state = 63}, + [93] = {.lex_state = 61}, [94] = {.lex_state = 61}, [95] = {.lex_state = 61}, [96] = {.lex_state = 61}, @@ -3917,23 +3906,23 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [125] = {.lex_state = 12}, [126] = {.lex_state = 12}, [127] = {.lex_state = 60}, - [128] = {.lex_state = 60}, + [128] = {.lex_state = 61}, [129] = {.lex_state = 60}, [130] = {.lex_state = 61}, - [131] = {.lex_state = 61}, + [131] = {.lex_state = 60}, [132] = {.lex_state = 61}, [133] = {.lex_state = 60}, [134] = {.lex_state = 60}, [135] = {.lex_state = 61}, [136] = {.lex_state = 61}, [137] = {.lex_state = 61}, - [138] = {.lex_state = 60}, + [138] = {.lex_state = 61}, [139] = {.lex_state = 61}, [140] = {.lex_state = 61}, [141] = {.lex_state = 61}, [142] = {.lex_state = 61}, [143] = {.lex_state = 61}, - [144] = {.lex_state = 61}, + [144] = {.lex_state = 60}, [145] = {.lex_state = 61}, [146] = {.lex_state = 61}, [147] = {.lex_state = 61}, @@ -3941,12 +3930,12 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [149] = {.lex_state = 61}, [150] = {.lex_state = 60}, [151] = {.lex_state = 60}, - [152] = {.lex_state = 63}, + [152] = {.lex_state = 60}, [153] = {.lex_state = 60}, [154] = {.lex_state = 60}, [155] = {.lex_state = 60}, [156] = {.lex_state = 60}, - [157] = {.lex_state = 63}, + [157] = {.lex_state = 60}, [158] = {.lex_state = 60}, [159] = {.lex_state = 60}, [160] = {.lex_state = 60}, @@ -3956,7 +3945,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [164] = {.lex_state = 60}, [165] = {.lex_state = 60}, [166] = {.lex_state = 60}, - [167] = {.lex_state = 60}, + [167] = {.lex_state = 63}, [168] = {.lex_state = 60}, [169] = {.lex_state = 60}, [170] = {.lex_state = 60}, @@ -3964,7 +3953,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [172] = {.lex_state = 60}, [173] = {.lex_state = 60}, [174] = {.lex_state = 60}, - [175] = {.lex_state = 60}, + [175] = {.lex_state = 63}, [176] = {.lex_state = 60}, [177] = {.lex_state = 60}, [178] = {.lex_state = 60}, @@ -4013,10 +4002,10 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [221] = {.lex_state = 60}, [222] = {.lex_state = 60}, [223] = {.lex_state = 60}, - [224] = {.lex_state = 60}, + [224] = {.lex_state = 61}, [225] = {.lex_state = 60}, [226] = {.lex_state = 60}, - [227] = {.lex_state = 61}, + [227] = {.lex_state = 60}, [228] = {.lex_state = 60}, [229] = {.lex_state = 60}, [230] = {.lex_state = 60}, @@ -4025,134 +4014,134 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [233] = {.lex_state = 60}, [234] = {.lex_state = 60}, [235] = {.lex_state = 60}, - [236] = {.lex_state = 60}, - [237] = {.lex_state = 60}, + [236] = {.lex_state = 63}, + [237] = {.lex_state = 63}, [238] = {.lex_state = 60}, [239] = {.lex_state = 60}, - [240] = {.lex_state = 60}, + [240] = {.lex_state = 0}, [241] = {.lex_state = 60}, [242] = {.lex_state = 60}, - [243] = {.lex_state = 63}, - [244] = {.lex_state = 63}, + [243] = {.lex_state = 60}, + [244] = {.lex_state = 60}, [245] = {.lex_state = 60}, [246] = {.lex_state = 60}, [247] = {.lex_state = 60}, - [248] = {.lex_state = 0}, + [248] = {.lex_state = 60}, [249] = {.lex_state = 60}, [250] = {.lex_state = 60}, [251] = {.lex_state = 60}, - [252] = {.lex_state = 60}, - [253] = {.lex_state = 60}, - [254] = {.lex_state = 16}, - [255] = {.lex_state = 60}, - [256] = {.lex_state = 60}, - [257] = {.lex_state = 60}, - [258] = {.lex_state = 60}, - [259] = {.lex_state = 60}, - [260] = {.lex_state = 60}, - [261] = {.lex_state = 61}, - [262] = {.lex_state = 0}, - [263] = {.lex_state = 0}, - [264] = {.lex_state = 0}, + [252] = {.lex_state = 16}, + [253] = {.lex_state = 61}, + [254] = {.lex_state = 0}, + [255] = {.lex_state = 0}, + [256] = {.lex_state = 0}, + [257] = {.lex_state = 0}, + [258] = {.lex_state = 0}, + [259] = {.lex_state = 16}, + [260] = {.lex_state = 0}, + [261] = {.lex_state = 16}, + [262] = {.lex_state = 61}, + [263] = {.lex_state = 5}, + [264] = {.lex_state = 60}, [265] = {.lex_state = 0}, [266] = {.lex_state = 0}, - [267] = {.lex_state = 0}, + [267] = {.lex_state = 61}, [268] = {.lex_state = 61}, - [269] = {.lex_state = 16}, - [270] = {.lex_state = 16}, + [269] = {.lex_state = 0}, + [270] = {.lex_state = 0}, [271] = {.lex_state = 5}, [272] = {.lex_state = 0}, [273] = {.lex_state = 0}, [274] = {.lex_state = 61}, - [275] = {.lex_state = 60}, - [276] = {.lex_state = 61}, - [277] = {.lex_state = 5}, - [278] = {.lex_state = 0}, - [279] = {.lex_state = 0}, - [280] = {.lex_state = 0}, - [281] = {.lex_state = 0}, - [282] = {.lex_state = 61}, - [283] = {.lex_state = 61}, + [275] = {.lex_state = 61}, + [276] = {.lex_state = 0}, + [277] = {.lex_state = 61}, + [278] = {.lex_state = 61}, + [279] = {.lex_state = 15}, + [280] = {.lex_state = 60}, + [281] = {.lex_state = 60}, + [282] = {.lex_state = 0}, + [283] = {.lex_state = 15}, [284] = {.lex_state = 61}, - [285] = {.lex_state = 0}, - [286] = {.lex_state = 20}, + [285] = {.lex_state = 20}, + [286] = {.lex_state = 61}, [287] = {.lex_state = 60}, - [288] = {.lex_state = 61}, - [289] = {.lex_state = 60}, + [288] = {.lex_state = 15}, + [289] = {.lex_state = 20}, [290] = {.lex_state = 61}, - [291] = {.lex_state = 15}, - [292] = {.lex_state = 20}, - [293] = {.lex_state = 60}, - [294] = {.lex_state = 61}, - [295] = {.lex_state = 60}, - [296] = {.lex_state = 61}, - [297] = {.lex_state = 60}, - [298] = {.lex_state = 61}, - [299] = {.lex_state = 60}, - [300] = {.lex_state = 61}, - [301] = {.lex_state = 60}, - [302] = {.lex_state = 20}, - [303] = {.lex_state = 60}, - [304] = {.lex_state = 60}, + [291] = {.lex_state = 61}, + [292] = {.lex_state = 60}, + [293] = {.lex_state = 0}, + [294] = {.lex_state = 60}, + [295] = {.lex_state = 20}, + [296] = {.lex_state = 20}, + [297] = {.lex_state = 61}, + [298] = {.lex_state = 15}, + [299] = {.lex_state = 20}, + [300] = {.lex_state = 60}, + [301] = {.lex_state = 61}, + [302] = {.lex_state = 15}, + [303] = {.lex_state = 0}, + [304] = {.lex_state = 61}, [305] = {.lex_state = 60}, - [306] = {.lex_state = 61}, - [307] = {.lex_state = 15}, - [308] = {.lex_state = 15}, - [309] = {.lex_state = 15}, - [310] = {.lex_state = 20}, - [311] = {.lex_state = 20}, - [312] = {.lex_state = 15}, + [306] = {.lex_state = 60}, + [307] = {.lex_state = 0}, + [308] = {.lex_state = 0}, + [309] = {.lex_state = 0}, + [310] = {.lex_state = 60}, + [311] = {.lex_state = 60}, + [312] = {.lex_state = 60}, [313] = {.lex_state = 60}, - [314] = {.lex_state = 0}, + [314] = {.lex_state = 60}, [315] = {.lex_state = 0}, [316] = {.lex_state = 0}, [317] = {.lex_state = 0}, - [318] = {.lex_state = 60}, + [318] = {.lex_state = 0}, [319] = {.lex_state = 0}, - [320] = {.lex_state = 60}, - [321] = {.lex_state = 61}, + [320] = {.lex_state = 12}, + [321] = {.lex_state = 0}, [322] = {.lex_state = 0}, [323] = {.lex_state = 0}, [324] = {.lex_state = 0}, - [325] = {.lex_state = 60}, - [326] = {.lex_state = 12}, - [327] = {.lex_state = 0}, - [328] = {.lex_state = 0}, + [325] = {.lex_state = 12}, + [326] = {.lex_state = 0}, + [327] = {.lex_state = 12}, + [328] = {.lex_state = 61}, [329] = {.lex_state = 0}, - [330] = {.lex_state = 0}, + [330] = {.lex_state = 60}, [331] = {.lex_state = 0}, [332] = {.lex_state = 60}, [333] = {.lex_state = 0}, [334] = {.lex_state = 0}, - [335] = {.lex_state = 12}, - [336] = {.lex_state = 12}, - [337] = {.lex_state = 61}, + [335] = {.lex_state = 0}, + [336] = {.lex_state = 60}, + [337] = {.lex_state = 0}, [338] = {.lex_state = 0}, [339] = {.lex_state = 0}, - [340] = {.lex_state = 60}, - [341] = {.lex_state = 60}, + [340] = {.lex_state = 0}, + [341] = {.lex_state = 12}, [342] = {.lex_state = 0}, [343] = {.lex_state = 0}, [344] = {.lex_state = 0}, - [345] = {.lex_state = 0}, + [345] = {.lex_state = 60}, [346] = {.lex_state = 0}, - [347] = {.lex_state = 12}, - [348] = {.lex_state = 0}, + [347] = {.lex_state = 60}, + [348] = {.lex_state = 12}, [349] = {.lex_state = 0}, [350] = {.lex_state = 0}, [351] = {.lex_state = 0}, - [352] = {.lex_state = 12}, - [353] = {.lex_state = 0}, + [352] = {.lex_state = 0}, + [353] = {.lex_state = 60}, [354] = {.lex_state = 0}, [355] = {.lex_state = 0}, - [356] = {.lex_state = 60}, + [356] = {.lex_state = 0}, [357] = {.lex_state = 0}, [358] = {.lex_state = 0}, [359] = {.lex_state = 0}, [360] = {.lex_state = 0}, - [361] = {.lex_state = 61}, + [361] = {.lex_state = 0}, [362] = {.lex_state = 0}, - [363] = {.lex_state = 0}, + [363] = {.lex_state = 18}, [364] = {.lex_state = 0}, [365] = {.lex_state = 0}, [366] = {.lex_state = 0}, @@ -4161,110 +4150,102 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [369] = {.lex_state = 0}, [370] = {.lex_state = 0}, [371] = {.lex_state = 0}, - [372] = {.lex_state = 60}, + [372] = {.lex_state = 0}, [373] = {.lex_state = 0}, [374] = {.lex_state = 0}, [375] = {.lex_state = 0}, [376] = {.lex_state = 0}, [377] = {.lex_state = 0}, - [378] = {.lex_state = 0}, + [378] = {.lex_state = 60}, [379] = {.lex_state = 0}, [380] = {.lex_state = 0}, [381] = {.lex_state = 0}, - [382] = {.lex_state = 0}, + [382] = {.lex_state = 61}, [383] = {.lex_state = 0}, [384] = {.lex_state = 0}, [385] = {.lex_state = 0}, [386] = {.lex_state = 0}, [387] = {.lex_state = 0}, [388] = {.lex_state = 0}, - [389] = {.lex_state = 18}, - [390] = {.lex_state = 0}, - [391] = {.lex_state = 0}, + [389] = {.lex_state = 60}, + [390] = {.lex_state = 12}, + [391] = {.lex_state = 60}, [392] = {.lex_state = 0}, - [393] = {.lex_state = 0}, + [393] = {.lex_state = 12}, [394] = {.lex_state = 0}, [395] = {.lex_state = 60}, [396] = {.lex_state = 0}, [397] = {.lex_state = 0}, - [398] = {.lex_state = 12}, + [398] = {.lex_state = 0}, [399] = {.lex_state = 0}, [400] = {.lex_state = 12}, [401] = {.lex_state = 0}, [402] = {.lex_state = 0}, - [403] = {.lex_state = 12}, + [403] = {.lex_state = 0}, [404] = {.lex_state = 60}, - [405] = {.lex_state = 0}, + [405] = {.lex_state = 12}, [406] = {.lex_state = 0}, [407] = {.lex_state = 60}, - [408] = {.lex_state = 12}, - [409] = {.lex_state = 60}, + [408] = {.lex_state = 0}, + [409] = {.lex_state = 12}, [410] = {.lex_state = 0}, [411] = {.lex_state = 0}, [412] = {.lex_state = 0}, - [413] = {.lex_state = 60}, - [414] = {.lex_state = 60}, - [415] = {.lex_state = 12}, - [416] = {.lex_state = 60}, + [413] = {.lex_state = 12}, + [414] = {.lex_state = 12}, + [415] = {.lex_state = 0}, + [416] = {.lex_state = 0}, [417] = {.lex_state = 0}, [418] = {.lex_state = 12}, - [419] = {.lex_state = 0}, - [420] = {.lex_state = 0}, - [421] = {.lex_state = 12}, + [419] = {.lex_state = 12}, + [420] = {.lex_state = 60}, + [421] = {.lex_state = 0}, [422] = {.lex_state = 12}, [423] = {.lex_state = 0}, [424] = {.lex_state = 0}, [425] = {.lex_state = 0}, - [426] = {.lex_state = 12}, - [427] = {.lex_state = 0}, - [428] = {.lex_state = 12}, - [429] = {.lex_state = 60}, + [426] = {.lex_state = 0}, + [427] = {.lex_state = 60}, + [428] = {.lex_state = 60}, + [429] = {.lex_state = 12}, [430] = {.lex_state = 0}, [431] = {.lex_state = 0}, - [432] = {.lex_state = 12}, + [432] = {.lex_state = 0}, [433] = {.lex_state = 0}, - [434] = {.lex_state = 60}, + [434] = {.lex_state = 12}, [435] = {.lex_state = 0}, - [436] = {.lex_state = 12}, - [437] = {.lex_state = 12}, - [438] = {.lex_state = 0}, - [439] = {.lex_state = 60}, - [440] = {.lex_state = 0}, - [441] = {.lex_state = 60}, + [436] = {.lex_state = 60}, + [437] = {.lex_state = 60}, + [438] = {.lex_state = 60}, + [439] = {.lex_state = 12}, + [440] = {.lex_state = 60}, + [441] = {.lex_state = 0}, [442] = {.lex_state = 0}, [443] = {.lex_state = 0}, [444] = {.lex_state = 0}, - [445] = {.lex_state = 60}, - [446] = {.lex_state = 12}, - [447] = {.lex_state = 0}, - [448] = {.lex_state = 60}, - [449] = {.lex_state = 0}, - [450] = {.lex_state = 60}, - [451] = {.lex_state = 12}, - [452] = {.lex_state = 0}, - [453] = {.lex_state = 0}, - [454] = {.lex_state = 0}, + [445] = {.lex_state = 0}, + [446] = {.lex_state = 0}, + [447] = {.lex_state = 12}, + [448] = {.lex_state = 0}, + [449] = {.lex_state = 21}, + [450] = {.lex_state = 0}, + [451] = {.lex_state = 0}, + [452] = {.lex_state = 22}, + [453] = {.lex_state = 23}, + [454] = {.lex_state = 12}, [455] = {.lex_state = 0}, - [456] = {.lex_state = 0}, - [457] = {.lex_state = 60}, - [458] = {.lex_state = 0}, - [459] = {.lex_state = 0}, - [460] = {.lex_state = 0}, - [461] = {.lex_state = 0}, - [462] = {.lex_state = 0}, + [456] = {.lex_state = 12}, + [457] = {.lex_state = 0}, + [458] = {.lex_state = 122}, + [459] = {.lex_state = 117}, + [460] = {.lex_state = 60}, + [461] = {.lex_state = 12}, + [462] = {.lex_state = 60}, [463] = {.lex_state = 0}, - [464] = {.lex_state = 12}, + [464] = {.lex_state = 0}, [465] = {.lex_state = 0}, [466] = {.lex_state = 0}, [467] = {.lex_state = 12}, - [468] = {.lex_state = 21}, - [469] = {.lex_state = 22}, - [470] = {.lex_state = 23}, - [471] = {.lex_state = 122}, - [472] = {.lex_state = 117}, - [473] = {.lex_state = 0}, - [474] = {.lex_state = 0}, - [475] = {.lex_state = 12}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -4355,23 +4336,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_method_name_token1] = ACTIONS(1), }, [1] = { - [sym_program] = STATE(466), - [sym_namespace] = STATE(465), - [sym_use_directive] = STATE(128), - [sym_annotation] = STATE(134), - [sym__decl] = STATE(158), - [sym_class_decl] = STATE(158), - [sym_module_decl] = STATE(158), - [sym_class_alias_decl] = STATE(158), - [sym_module_alias_decl] = STATE(158), - [sym_interface_decl] = STATE(158), - [sym_type_alias_decl] = STATE(158), - [sym_const_decl] = STATE(158), - [sym_const_name] = STATE(464), - [sym_global_decl] = STATE(158), - [aux_sym_program_repeat1] = STATE(128), - [aux_sym_program_repeat2] = STATE(158), - [aux_sym__decl_repeat1] = STATE(216), + [sym_program] = STATE(431), + [sym_namespace] = STATE(430), + [sym_use_directive] = STATE(131), + [sym_annotation] = STATE(133), + [sym__decl] = STATE(157), + [sym_class_decl] = STATE(157), + [sym_module_decl] = STATE(157), + [sym_class_alias_decl] = STATE(157), + [sym_module_alias_decl] = STATE(157), + [sym_interface_decl] = STATE(157), + [sym_type_alias_decl] = STATE(157), + [sym_const_decl] = STATE(157), + [sym_const_name] = STATE(418), + [sym_global_decl] = STATE(157), + [aux_sym_program_repeat1] = STATE(131), + [aux_sym_program_repeat2] = STATE(157), + [aux_sym__decl_repeat1] = STATE(211), [ts_builtin_sym_end] = ACTIONS(5), [sym_constant] = ACTIONS(7), [anon_sym_class] = ACTIONS(9), @@ -4434,34 +4415,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_QMARK2, ACTIONS(73), 1, anon_sym_STAR_STAR, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(348), 1, + STATE(343), 1, sym_parameter, - STATE(385), 1, + STATE(350), 1, sym_rest_positional, - STATE(386), 1, - sym_optional_positionals, - STATE(388), 1, + STATE(365), 1, sym_required_positionals, - STATE(411), 1, - sym_keywords, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(367), 1, + sym_optional_positionals, + STATE(414), 1, sym_var_name, + STATE(417), 1, + sym_splat_keyword, + STATE(421), 1, + sym_keywords, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4474,7 +4455,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4530,32 +4511,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, + STATE(319), 1, + sym_parameter, STATE(329), 1, sym_namespace, - STATE(353), 1, - sym_parameter, - STATE(375), 1, - sym_rest_positional, - STATE(378), 1, + STATE(372), 1, sym_trailing_positionals, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(374), 1, + sym_rest_positional, + STATE(414), 1, sym_var_name, - STATE(438), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(424), 1, sym_keywords, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4568,7 +4549,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4624,32 +4605,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, + STATE(319), 1, + sym_parameter, STATE(329), 1, sym_namespace, - STATE(353), 1, - sym_parameter, - STATE(380), 1, - sym_trailing_positionals, - STATE(381), 1, + STATE(369), 1, sym_rest_positional, - STATE(427), 1, + STATE(373), 1, + sym_trailing_positionals, + STATE(414), 1, + sym_var_name, + STATE(417), 1, sym_splat_keyword, - STATE(431), 1, + STATE(433), 1, sym_keywords, - STATE(432), 1, - sym_var_name, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4662,7 +4643,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4716,30 +4697,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, + STATE(319), 1, + sym_parameter, STATE(329), 1, sym_namespace, - STATE(353), 1, - sym_parameter, - STATE(379), 1, + STATE(370), 1, sym_trailing_positionals, - STATE(427), 1, + STATE(414), 1, + sym_var_name, + STATE(417), 1, sym_splat_keyword, - STATE(431), 1, + STATE(424), 1, sym_keywords, - STATE(432), 1, - sym_var_name, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4752,7 +4733,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4806,30 +4787,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, + STATE(319), 1, + sym_parameter, STATE(329), 1, sym_namespace, - STATE(353), 1, - sym_parameter, - STATE(369), 1, + STATE(373), 1, sym_trailing_positionals, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(449), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(433), 1, sym_keywords, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4842,7 +4823,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4896,30 +4877,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, + STATE(319), 1, + sym_parameter, STATE(329), 1, sym_namespace, - STATE(353), 1, - sym_parameter, - STATE(378), 1, + STATE(361), 1, sym_trailing_positionals, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(438), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(441), 1, sym_keywords, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4932,7 +4913,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4992,23 +4973,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - STATE(11), 1, + STATE(10), 1, sym_module_type_parameters, - STATE(17), 1, - sym_module_self_type_binds, - STATE(20), 1, + STATE(13), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(20), 1, + sym_module_self_type_binds, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5020,8 +5001,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5038,7 +5018,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [888] = 35, + [887] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5083,23 +5063,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT, ACTIONS(107), 1, anon_sym_EQ2, - STATE(10), 1, + STATE(11), 1, sym_module_type_parameters, - STATE(14), 1, + STATE(12), 1, aux_sym_class_decl_repeat1, - STATE(18), 1, + STATE(21), 1, sym_superclass, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5111,8 +5091,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5129,7 +5108,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1014] = 32, + [1012] = 32, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5156,6 +5135,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type, ACTIONS(77), 1, sym_self, + ACTIONS(81), 1, + anon_sym_COLON, ACTIONS(87), 1, anon_sym_def, ACTIONS(93), 1, @@ -5166,25 +5147,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(105), 1, - anon_sym_LT, ACTIONS(109), 1, anon_sym_end, - STATE(12), 1, - aux_sym_class_decl_repeat1, + STATE(15), 1, + sym_module_self_type_binds, STATE(16), 1, - sym_superclass, - STATE(69), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5196,8 +5175,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5214,7 +5192,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1131] = 32, + [1128] = 32, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5241,8 +5219,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type, ACTIONS(77), 1, sym_self, - ACTIONS(81), 1, - anon_sym_COLON, ACTIONS(87), 1, anon_sym_def, ACTIONS(93), 1, @@ -5253,23 +5229,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, + ACTIONS(105), 1, + anon_sym_LT, ACTIONS(111), 1, anon_sym_end, - STATE(13), 1, - aux_sym_class_decl_repeat1, + STATE(18), 1, + sym_superclass, STATE(19), 1, - sym_module_self_type_binds, - STATE(69), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5281,8 +5259,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5299,7 +5276,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1248] = 30, + [1244] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5338,19 +5315,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, ACTIONS(113), 1, anon_sym_end, - STATE(15), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5362,8 +5339,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5380,7 +5356,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1359] = 30, + [1354] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5419,19 +5395,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, ACTIONS(115), 1, anon_sym_end, - STATE(15), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5443,8 +5419,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5461,7 +5436,84 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1470] = 30, + [1464] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym__scope, + ACTIONS(33), 1, + sym_identifier, + ACTIONS(35), 1, + sym_constant, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, + ACTIONS(67), 1, + anon_sym_CARET, + STATE(81), 1, + sym_interface_name, + STATE(83), 1, + sym_alias_name, + STATE(84), 1, + sym_class_name, + STATE(253), 1, + sym_type, + STATE(317), 1, + sym_parameter, + STATE(329), 1, + sym_namespace, + STATE(422), 1, + sym_var_name, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, + anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(110), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [1568] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5500,19 +5552,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, ACTIONS(117), 1, anon_sym_end, - STATE(15), 1, + STATE(22), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5524,8 +5576,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5542,71 +5593,70 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1581] = 30, + [1678] = 30, ACTIONS(3), 1, sym_comment, - ACTIONS(119), 1, + ACTIONS(7), 1, sym_constant, - ACTIONS(122), 1, - sym_self, - ACTIONS(125), 1, + ACTIONS(9), 1, anon_sym_class, - ACTIONS(128), 1, + ACTIONS(11), 1, sym__scope, - ACTIONS(131), 1, + ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, - ACTIONS(134), 1, + ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(137), 1, + ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(140), 1, + ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(143), 1, + ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(146), 1, - anon_sym_end, - ACTIONS(148), 1, + ACTIONS(25), 1, anon_sym_module, - ACTIONS(151), 1, + ACTIONS(27), 1, anon_sym_interface, - ACTIONS(154), 1, + ACTIONS(29), 1, anon_sym_type, - ACTIONS(157), 1, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, anon_sym_def, - ACTIONS(166), 1, + ACTIONS(93), 1, anon_sym_include, - ACTIONS(169), 1, + ACTIONS(95), 1, anon_sym_extend, - ACTIONS(172), 1, + ACTIONS(97), 1, anon_sym_prepend, - ACTIONS(175), 1, + ACTIONS(99), 1, anon_sym_alias, - STATE(15), 1, + ACTIONS(119), 1, + anon_sym_end, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, - ACTIONS(160), 2, + ACTIONS(89), 2, anon_sym_public, anon_sym_private, - ACTIONS(178), 2, + ACTIONS(101), 2, sym_ivar_name, sym_cvar_name, - ACTIONS(163), 3, + ACTIONS(91), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5623,7 +5673,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1692] = 30, + [1788] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5660,21 +5710,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(181), 1, + ACTIONS(121), 1, anon_sym_end, - STATE(22), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5686,8 +5736,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5704,7 +5753,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1803] = 30, + [1898] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5741,21 +5790,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(111), 1, + ACTIONS(123), 1, anon_sym_end, - STATE(13), 1, + STATE(17), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5767,8 +5816,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5785,7 +5833,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1914] = 30, + [2008] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5822,21 +5870,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(109), 1, + ACTIONS(125), 1, anon_sym_end, - STATE(12), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5848,8 +5896,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5866,7 +5913,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [2025] = 30, + [2118] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5903,21 +5950,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(183), 1, + ACTIONS(109), 1, anon_sym_end, - STATE(21), 1, + STATE(16), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5929,8 +5976,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5947,7 +5993,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [2136] = 30, + [2228] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5984,21 +6030,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(185), 1, + ACTIONS(111), 1, anon_sym_end, - STATE(15), 1, + STATE(19), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -6010,8 +6056,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -6028,7 +6073,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [2247] = 30, + [2338] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -6065,21 +6110,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(187), 1, + ACTIONS(127), 1, anon_sym_end, - STATE(15), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -6091,8 +6136,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -6109,71 +6153,70 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [2358] = 30, + [2448] = 30, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(129), 1, sym_constant, - ACTIONS(9), 1, + ACTIONS(132), 1, + sym_self, + ACTIONS(135), 1, anon_sym_class, - ACTIONS(11), 1, + ACTIONS(138), 1, sym__scope, - ACTIONS(15), 1, + ACTIONS(141), 1, anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, + ACTIONS(144), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, + ACTIONS(147), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, + ACTIONS(150), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, + ACTIONS(153), 1, anon_sym_PERCENTa_LT, - ACTIONS(25), 1, + ACTIONS(156), 1, + anon_sym_end, + ACTIONS(158), 1, anon_sym_module, - ACTIONS(27), 1, + ACTIONS(161), 1, anon_sym_interface, - ACTIONS(29), 1, + ACTIONS(164), 1, anon_sym_type, - ACTIONS(77), 1, - sym_self, - ACTIONS(87), 1, + ACTIONS(167), 1, anon_sym_def, - ACTIONS(93), 1, + ACTIONS(176), 1, anon_sym_include, - ACTIONS(95), 1, + ACTIONS(179), 1, anon_sym_extend, - ACTIONS(97), 1, + ACTIONS(182), 1, anon_sym_prepend, - ACTIONS(99), 1, + ACTIONS(185), 1, anon_sym_alias, - ACTIONS(189), 1, - anon_sym_end, - STATE(15), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, - ACTIONS(89), 2, + ACTIONS(170), 2, anon_sym_public, anon_sym_private, - ACTIONS(101), 2, + ACTIONS(188), 2, sym_ivar_name, sym_cvar_name, - ACTIONS(91), 3, + ACTIONS(173), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -6190,13 +6233,11 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [2469] = 27, + [2558] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(33), 1, - sym_identifier, ACTIONS(35), 1, sym_constant, ACTIONS(37), 1, @@ -6225,20 +6266,20 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + ACTIONS(191), 1, + sym_identifier, + ACTIONS(193), 1, + anon_sym_RBRACK, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(262), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(333), 1, - sym_parameter, - STATE(428), 1, - sym_var_name, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6252,7 +6293,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6267,7 +6308,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2573] = 26, + [2659] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6302,18 +6343,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - ACTIONS(193), 1, - anon_sym_RBRACK, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(284), 1, + STATE(253), 1, sym_type, STATE(329), 1, sym_namespace, + STATE(423), 1, + sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6327,7 +6368,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6342,7 +6383,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2674] = 26, + [2760] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6377,18 +6418,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - ACTIONS(195), 1, - anon_sym_RBRACK, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(284), 1, + STATE(253), 1, sym_type, STATE(329), 1, sym_namespace, + STATE(376), 1, + sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6402,7 +6443,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6417,7 +6458,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2775] = 26, + [2861] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6452,18 +6493,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + ACTIONS(195), 1, + anon_sym_RBRACK, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(268), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(376), 1, - sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6477,7 +6518,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6492,7 +6533,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2876] = 26, + [2962] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6527,17 +6568,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(373), 1, + STATE(366), 1, sym_parameter, ACTIONS(51), 2, anon_sym_true, @@ -6552,7 +6593,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6567,7 +6608,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2977] = 26, + [3063] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6602,17 +6643,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(397), 1, + STATE(375), 1, sym_parameter, ACTIONS(51), 2, anon_sym_true, @@ -6627,7 +6668,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6642,7 +6683,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3078] = 26, + [3164] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6677,18 +6718,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + ACTIONS(197), 1, + anon_sym_RBRACK, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(268), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(382), 1, - sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6702,7 +6743,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6717,7 +6758,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3179] = 26, + [3265] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6752,15 +6793,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - ACTIONS(197), 1, - anon_sym_RBRACK, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(268), 1, + STATE(102), 1, sym_type, STATE(329), 1, sym_namespace, @@ -6777,7 +6816,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6792,7 +6831,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3280] = 25, + [3363] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6827,13 +6866,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(119), 1, + STATE(115), 1, sym_type, STATE(329), 1, sym_namespace, @@ -6850,7 +6889,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6865,7 +6904,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3378] = 25, + [3461] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6900,13 +6939,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(288), 1, + STATE(274), 1, sym_type, STATE(329), 1, sym_namespace, @@ -6923,7 +6962,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6938,7 +6977,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3476] = 25, + [3559] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6973,13 +7012,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(284), 1, + STATE(291), 1, sym_type, STATE(329), 1, sym_namespace, @@ -6996,7 +7035,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7011,7 +7050,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3574] = 25, + [3657] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7040,23 +7079,23 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_symbol_literal_token1, ACTIONS(63), 1, aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - ACTIONS(201), 1, - sym_integer_literal, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, + STATE(149), 1, + sym_type, STATE(329), 1, sym_namespace, - STATE(337), 1, - sym_type, - ACTIONS(199), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, ACTIONS(39), 9, @@ -7069,7 +7108,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(298), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7084,7 +7123,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3672] = 25, + [3755] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7119,13 +7158,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(146), 1, + STATE(118), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7142,7 +7181,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7157,7 +7196,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3770] = 25, + [3853] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7192,13 +7231,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(149), 1, + STATE(297), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7215,7 +7254,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7230,7 +7269,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3868] = 25, + [3951] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7265,13 +7304,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(137), 1, + STATE(145), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7288,7 +7327,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7303,7 +7342,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3966] = 25, + [4049] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7338,13 +7377,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(121), 1, + STATE(147), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7361,7 +7400,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7376,7 +7415,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4064] = 25, + [4147] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7411,13 +7450,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(130), 1, + STATE(286), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7434,7 +7473,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7449,7 +7488,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4162] = 25, + [4245] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7484,13 +7523,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(143), 1, + STATE(97), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7507,7 +7546,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7522,7 +7561,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4260] = 25, + [4343] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7557,13 +7596,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(136), 1, + STATE(224), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7580,7 +7619,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7595,7 +7634,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4358] = 25, + [4441] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7630,13 +7669,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(227), 1, + STATE(304), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7653,7 +7692,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7668,7 +7707,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4456] = 25, + [4539] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7703,13 +7742,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(141), 1, + STATE(128), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7726,7 +7765,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7741,7 +7780,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4554] = 25, + [4637] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7776,13 +7815,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(132), 1, + STATE(277), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7799,7 +7838,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7814,7 +7853,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4652] = 25, + [4735] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7849,13 +7888,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(145), 1, + STATE(275), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7872,7 +7911,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7887,7 +7926,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4750] = 25, + [4833] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7922,13 +7961,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(110), 1, + STATE(268), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7945,7 +7984,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7960,7 +7999,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4848] = 25, + [4931] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7995,13 +8034,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(274), 1, + STATE(130), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8018,7 +8057,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8033,7 +8072,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4946] = 25, + [5029] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8068,13 +8107,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(294), 1, + STATE(136), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8091,7 +8130,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8106,7 +8145,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5044] = 25, + [5127] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8141,13 +8180,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(147), 1, + STATE(122), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8164,7 +8203,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8179,7 +8218,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5142] = 25, + [5225] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8214,13 +8253,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(144), 1, + STATE(142), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8237,7 +8276,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8252,7 +8291,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5240] = 25, + [5323] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8287,13 +8326,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(108), 1, + STATE(135), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8310,7 +8349,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8325,7 +8364,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5338] = 25, + [5421] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8360,10 +8399,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, STATE(148), 1, @@ -8383,7 +8422,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8398,7 +8437,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5436] = 25, + [5519] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8433,13 +8472,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(139), 1, + STATE(267), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8456,7 +8495,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8471,7 +8510,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5534] = 25, + [5617] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8506,13 +8545,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(276), 1, + STATE(146), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8529,7 +8568,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8544,7 +8583,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5632] = 25, + [5715] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8579,13 +8618,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(131), 1, + STATE(132), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8602,7 +8641,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8617,7 +8656,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5730] = 25, + [5813] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8652,13 +8691,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(290), 1, + STATE(116), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8675,7 +8714,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8690,7 +8729,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5828] = 25, + [5911] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8725,86 +8764,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, - STATE(84), 1, - sym_class_name, - STATE(306), 1, - sym_type, - STATE(329), 1, - sym_namespace, - ACTIONS(51), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(39), 9, - sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(107), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [5926] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(35), 1, - sym_constant, - ACTIONS(37), 1, - sym_interface, - ACTIONS(41), 1, - anon_sym_LPAREN, - ACTIONS(45), 1, - anon_sym_singleton, - ACTIONS(47), 1, - anon_sym_LBRACK, - ACTIONS(49), 1, - anon_sym_LBRACE, - ACTIONS(53), 1, - anon_sym_DQUOTE, - ACTIONS(55), 1, - anon_sym_SQUOTE, - ACTIONS(57), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(59), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(61), 1, - aux_sym_symbol_literal_token1, - ACTIONS(63), 1, - aux_sym_symbol_literal_token2, - ACTIONS(65), 1, - sym_integer_literal, - ACTIONS(67), 1, - anon_sym_CARET, - ACTIONS(191), 1, - sym_identifier, - STATE(82), 1, - sym_alias_name, STATE(83), 1, - sym_interface_name, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(282), 1, + STATE(139), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8821,7 +8787,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8836,7 +8802,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6024] = 25, + [6009] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8871,13 +8837,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(114), 1, + STATE(141), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8894,7 +8860,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8909,7 +8875,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6122] = 25, + [6107] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8944,13 +8910,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(115), 1, + STATE(138), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8967,7 +8933,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8982,7 +8948,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6220] = 25, + [6205] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -9017,13 +8983,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(283), 1, + STATE(143), 1, sym_type, STATE(329), 1, sym_namespace, @@ -9040,7 +9006,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -9055,7 +9021,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6318] = 25, + [6303] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -9084,23 +9050,23 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_symbol_literal_token1, ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(65), 1, - sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + ACTIONS(201), 1, + sym_integer_literal, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(142), 1, + STATE(328), 1, sym_type, STATE(329), 1, sym_namespace, - ACTIONS(51), 2, + ACTIONS(199), 2, anon_sym_true, anon_sym_false, ACTIONS(39), 9, @@ -9113,7 +9079,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(278), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -9128,7 +9094,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6416] = 4, + [6401] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(207), 1, @@ -9175,7 +9141,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [6467] = 4, + [6452] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(213), 1, @@ -9222,7 +9188,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [6518] = 10, + [6503] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(215), 1, @@ -9233,9 +9199,9 @@ static const uint16_t ts_small_parse_table[] = { sym_self, ACTIONS(225), 1, aux_sym_method_name_token1, - STATE(76), 1, + STATE(77), 1, sym_method_name, - STATE(391), 1, + STATE(358), 1, sym_singleton_method_name, STATE(88), 5, sym_operator, @@ -9274,7 +9240,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6580] = 10, + [6565] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(215), 1, @@ -9285,9 +9251,9 @@ static const uint16_t ts_small_parse_table[] = { sym_self, ACTIONS(225), 1, aux_sym_method_name_token1, - STATE(77), 1, + STATE(76), 1, sym_method_name, - STATE(360), 1, + STATE(352), 1, sym_singleton_method_name, STATE(88), 5, sym_operator, @@ -9326,7 +9292,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6642] = 9, + [6627] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, @@ -9337,7 +9303,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant, ACTIONS(231), 1, sym_self, - STATE(421), 1, + STATE(325), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9376,7 +9342,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6701] = 9, + [6686] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, @@ -9387,7 +9353,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant, ACTIONS(233), 1, sym_self, - STATE(400), 1, + STATE(439), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9426,7 +9392,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6760] = 9, + [6745] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, @@ -9437,7 +9403,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant, ACTIONS(235), 1, sym_self, - STATE(335), 1, + STATE(454), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9476,7 +9442,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6819] = 9, + [6804] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, @@ -9487,7 +9453,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant, ACTIONS(237), 1, sym_self, - STATE(347), 1, + STATE(327), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9526,24 +9492,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6878] = 8, + [6863] = 8, ACTIONS(3), 1, sym_comment, + ACTIONS(225), 1, + aux_sym_method_name_token1, + ACTIONS(229), 1, + sym_constant, ACTIONS(239), 1, sym_identifier, - ACTIONS(241), 1, - sym_constant, - ACTIONS(247), 1, - aux_sym_method_name_token1, - STATE(208), 1, + STATE(405), 1, sym_method_name, - STATE(202), 5, + STATE(88), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(245), 11, + ACTIONS(223), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9555,7 +9521,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(243), 18, + ACTIONS(221), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9574,24 +9540,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6934] = 8, + [6919] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(247), 1, + ACTIONS(225), 1, aux_sym_method_name_token1, - ACTIONS(249), 1, - sym_identifier, - ACTIONS(251), 1, + ACTIONS(229), 1, sym_constant, - STATE(208), 1, + ACTIONS(239), 1, + sym_identifier, + STATE(348), 1, sym_method_name, - STATE(202), 5, + STATE(88), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(245), 11, + ACTIONS(223), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9603,7 +9569,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(243), 18, + ACTIONS(221), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9622,16 +9588,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6990] = 8, + [6975] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, aux_sym_method_name_token1, ACTIONS(229), 1, sym_constant, - ACTIONS(253), 1, + ACTIONS(239), 1, sym_identifier, - STATE(208), 1, + STATE(409), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9670,16 +9636,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7046] = 8, + [7031] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, aux_sym_method_name_token1, ACTIONS(229), 1, sym_constant, - ACTIONS(253), 1, + ACTIONS(239), 1, sym_identifier, - STATE(475), 1, + STATE(188), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9718,16 +9684,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7102] = 8, + [7087] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, aux_sym_method_name_token1, ACTIONS(229), 1, sym_constant, - ACTIONS(253), 1, + ACTIONS(239), 1, sym_identifier, - STATE(418), 1, + STATE(341), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9766,16 +9732,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7158] = 8, + [7143] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(239), 1, - sym_identifier, ACTIONS(241), 1, + sym_identifier, + ACTIONS(243), 1, sym_constant, - ACTIONS(247), 1, + ACTIONS(249), 1, aux_sym_method_name_token1, - STATE(207), 1, + STATE(210), 1, sym_method_name, STATE(202), 5, sym_operator, @@ -9783,7 +9749,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(245), 11, + ACTIONS(247), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9795,7 +9761,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(243), 18, + ACTIONS(245), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9814,16 +9780,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7214] = 8, + [7199] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(247), 1, - aux_sym_method_name_token1, ACTIONS(249), 1, - sym_identifier, + aux_sym_method_name_token1, ACTIONS(251), 1, + sym_identifier, + ACTIONS(253), 1, sym_constant, - STATE(207), 1, + STATE(210), 1, sym_method_name, STATE(202), 5, sym_operator, @@ -9831,7 +9797,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(245), 11, + ACTIONS(247), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9843,7 +9809,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(243), 18, + ACTIONS(245), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9862,24 +9828,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7270] = 8, + [7255] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, + ACTIONS(249), 1, aux_sym_method_name_token1, - ACTIONS(229), 1, - sym_constant, - ACTIONS(253), 1, + ACTIONS(251), 1, sym_identifier, - STATE(352), 1, + ACTIONS(253), 1, + sym_constant, + STATE(188), 1, sym_method_name, - STATE(88), 5, + STATE(202), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(247), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9891,7 +9857,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(245), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9910,24 +9876,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7326] = 8, + [7311] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, - aux_sym_method_name_token1, - ACTIONS(229), 1, - sym_constant, - ACTIONS(253), 1, + ACTIONS(241), 1, sym_identifier, - STATE(326), 1, + ACTIONS(243), 1, + sym_constant, + ACTIONS(249), 1, + aux_sym_method_name_token1, + STATE(188), 1, sym_method_name, - STATE(88), 5, + STATE(202), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(247), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9939,7 +9905,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(245), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9958,7 +9924,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7382] = 3, + [7367] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(257), 17, @@ -10000,9 +9966,13 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7427] = 3, + [7412] = 5, ACTIONS(3), 1, sym_comment, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(112), 1, + sym_type_arguments, ACTIONS(261), 17, sym_self, anon_sym_class, @@ -10021,14 +9991,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(259), 20, + ACTIONS(259), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, anon_sym_QMARK, - anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -10038,18 +10007,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, - anon_sym_EQ2, sym_global_name, sym_ivar_name, sym_cvar_name, - [7472] = 5, + [7461] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - STATE(118), 1, - sym_type_arguments, - ACTIONS(265), 17, + ACTIONS(267), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10067,13 +10031,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(263), 18, + ACTIONS(265), 20, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, anon_sym_QMARK, + anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -10083,15 +10048,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, + anon_sym_EQ2, sym_global_name, sym_ivar_name, sym_cvar_name, - [7521] = 5, + [7506] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, + ACTIONS(263), 1, anon_sym_LBRACK, - STATE(120), 1, + STATE(101), 1, sym_type_arguments, ACTIONS(271), 17, sym_self, @@ -10130,12 +10096,12 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7570] = 5, + [7555] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, + ACTIONS(263), 1, anon_sym_LBRACK, - STATE(95), 1, + STATE(99), 1, sym_type_arguments, ACTIONS(275), 17, sym_self, @@ -10174,10 +10140,51 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7619] = 3, + [7604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(279), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(277), 19, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [7648] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(277), 14, + ACTIONS(281), 14, sym_self, anon_sym_LPAREN, anon_sym_STAR, @@ -10192,7 +10199,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, sym_identifier, - ACTIONS(279), 22, + ACTIONS(283), 22, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -10215,10 +10222,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [7663] = 3, + [7692] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(281), 14, + ACTIONS(285), 14, sym_self, anon_sym_LPAREN, anon_sym_STAR, @@ -10233,7 +10240,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, sym_identifier, - ACTIONS(283), 22, + ACTIONS(287), 22, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -10256,52 +10263,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [7707] = 4, + [7736] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(289), 2, - anon_sym_QMARK, - anon_sym_EQ, - ACTIONS(285), 17, - ts_builtin_sym_end, + ACTIONS(289), 14, + sym_self, + anon_sym_LPAREN, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + sym_identifier, + ACTIONS(291), 22, sym_constant, - anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(287), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - [7753] = 3, + anon_sym_COLON, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + aux_sym_method_name_token1, + [7780] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(291), 14, + ACTIONS(293), 14, sym_self, anon_sym_LPAREN, anon_sym_STAR, @@ -10316,7 +10322,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, sym_identifier, - ACTIONS(293), 22, + ACTIONS(295), 22, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -10339,10 +10345,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [7797] = 3, + [7824] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(295), 14, + ACTIONS(297), 14, sym_self, anon_sym_LPAREN, anon_sym_STAR, @@ -10357,7 +10363,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, sym_identifier, - ACTIONS(297), 22, + ACTIONS(299), 22, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -10380,10 +10386,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [7841] = 3, + [7868] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(299), 14, + ACTIONS(301), 14, sym_self, anon_sym_LPAREN, anon_sym_STAR, @@ -10398,7 +10404,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, sym_identifier, - ACTIONS(301), 22, + ACTIONS(303), 22, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -10421,35 +10427,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [7885] = 3, + [7912] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(309), 2, + anon_sym_QMARK, + anon_sym_EQ, ACTIONS(305), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - ACTIONS(303), 19, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_QMARK, - anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -10462,10 +10451,28 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7929] = 3, + ACTIONS(307), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + [7958] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(309), 17, + ACTIONS(313), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10483,7 +10490,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(307), 19, + ACTIONS(311), 19, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10503,48 +10510,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7973] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(311), 14, - sym_self, - anon_sym_LPAREN, - anon_sym_STAR, - anon_sym_GT, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - sym_identifier, - ACTIONS(313), 22, - sym_constant, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_COLON, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_LPAREN_RPAREN, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [8017] = 3, + [8002] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(317), 17, @@ -10584,7 +10550,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8060] = 3, + [8045] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(321), 17, @@ -10624,7 +10590,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8103] = 3, + [8088] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(325), 17, @@ -10664,9 +10630,30 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8146] = 3, + [8131] = 5, ACTIONS(3), 1, sym_comment, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(327), 16, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, ACTIONS(329), 17, sym_self, anon_sym_class, @@ -10685,7 +10672,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(327), 18, + [8178] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(337), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(335), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10704,10 +10712,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8189] = 3, + [8221] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(333), 17, + ACTIONS(341), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10725,7 +10733,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(331), 18, + ACTIONS(339), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10744,10 +10752,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8232] = 3, + [8264] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(337), 17, + ACTIONS(345), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10765,7 +10773,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(335), 18, + ACTIONS(343), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10784,10 +10792,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8275] = 3, + [8307] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(341), 17, + ACTIONS(349), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10805,7 +10813,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(339), 18, + ACTIONS(347), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10824,10 +10832,31 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8318] = 3, + [8350] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(345), 17, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(351), 16, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + ACTIONS(353), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10845,7 +10874,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(343), 18, + [8397] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(357), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(355), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10864,10 +10914,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8361] = 3, + [8440] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(349), 17, + ACTIONS(361), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10885,7 +10935,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(347), 18, + ACTIONS(359), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10904,10 +10954,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8404] = 3, + [8483] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 17, + ACTIONS(365), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10925,7 +10975,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(351), 18, + ACTIONS(363), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10944,10 +10994,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8447] = 3, + [8526] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(287), 17, + ACTIONS(369), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10965,7 +11015,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(285), 18, + ACTIONS(367), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10984,10 +11034,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8490] = 3, + [8569] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(357), 17, + ACTIONS(307), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11005,7 +11055,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(355), 18, + ACTIONS(305), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11024,10 +11074,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8533] = 3, + [8612] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(361), 17, + ACTIONS(373), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11045,7 +11095,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(359), 18, + ACTIONS(371), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11064,10 +11114,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8576] = 3, + [8655] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(365), 17, + ACTIONS(377), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11085,7 +11135,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(363), 18, + ACTIONS(375), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11104,18 +11154,34 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8619] = 5, + [8698] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(367), 16, + ACTIONS(381), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(379), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -11128,7 +11194,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(369), 17, + [8741] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11146,28 +11215,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8666] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(377), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - ACTIONS(375), 18, + ACTIONS(383), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11186,52 +11234,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8709] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(379), 16, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(381), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - [8756] = 3, + [8784] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(385), 17, + ACTIONS(389), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11249,7 +11255,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(383), 18, + ACTIONS(387), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11268,10 +11274,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8799] = 3, + [8827] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(389), 17, + ACTIONS(393), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11289,7 +11295,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(387), 18, + ACTIONS(391), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11308,10 +11314,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8842] = 3, + [8870] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(393), 17, + ACTIONS(397), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11329,7 +11335,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(391), 18, + ACTIONS(395), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11348,18 +11354,17 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8885] = 5, + [8913] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(395), 16, + ACTIONS(399), 17, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, + anon_sym_AMP, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -11372,7 +11377,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(397), 17, + ACTIONS(401), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11390,14 +11395,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8932] = 5, + [8958] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(399), 16, + ACTIONS(403), 16, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11414,7 +11419,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(401), 17, + ACTIONS(405), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11432,10 +11437,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8979] = 3, + [9005] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(405), 17, + ACTIONS(409), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11453,7 +11458,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(403), 18, + ACTIONS(407), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11472,10 +11477,31 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [9022] = 3, + [9048] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(409), 17, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(411), 16, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + ACTIONS(413), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11493,29 +11519,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(407), 18, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - [9065] = 3, + [9095] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(413), 17, + ACTIONS(417), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11533,7 +11540,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(411), 18, + ACTIONS(415), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11552,30 +11559,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [9108] = 4, + [9138] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(415), 17, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(417), 17, + ACTIONS(421), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11593,10 +11580,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [9153] = 3, + ACTIONS(419), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [9181] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(421), 17, + ACTIONS(425), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11614,7 +11620,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(419), 18, + ACTIONS(423), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11633,14 +11639,14 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [9196] = 5, + [9224] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(423), 16, + ACTIONS(427), 16, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11657,27 +11663,6 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(425), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - [9243] = 3, - ACTIONS(3), 1, - sym_comment, ACTIONS(429), 17, sym_self, anon_sym_class, @@ -11696,26 +11681,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(427), 18, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - [9286] = 3, + [9271] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(433), 17, @@ -11755,14 +11721,14 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [9329] = 5, + [9314] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(435), 1, anon_sym_QMARK, ACTIONS(437), 1, anon_sym_EQ, - ACTIONS(291), 11, + ACTIONS(289), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -11774,7 +11740,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(293), 21, + ACTIONS(291), 21, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -11796,14 +11762,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, sym_identifier, - [9375] = 5, + [9360] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(439), 1, anon_sym_QMARK, ACTIONS(441), 1, anon_sym_EQ, - ACTIONS(291), 11, + ACTIONS(289), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -11815,7 +11781,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(293), 21, + ACTIONS(291), 21, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -11837,7 +11803,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, sym_identifier, - [9421] = 3, + [9406] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(443), 13, @@ -11875,7 +11841,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [9462] = 9, + [9447] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(449), 1, @@ -11890,7 +11856,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_LT, STATE(127), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, ACTIONS(447), 24, sym_constant, @@ -11917,60 +11883,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9513] = 21, + [9498] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(464), 27, + ts_builtin_sym_end, sym_constant, - ACTIONS(9), 1, + sym_self, anon_sym_class, - ACTIONS(11), 1, sym__scope, - ACTIONS(13), 1, - anon_sym_use, - ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(25), 1, + anon_sym_end, anon_sym_module, - ACTIONS(27), 1, anon_sym_interface, - ACTIONS(29), 1, anon_sym_type, - ACTIONS(31), 1, sym_global_name, - ACTIONS(464), 1, - ts_builtin_sym_end, - STATE(134), 1, - sym_annotation, - STATE(216), 1, - aux_sym__decl_repeat1, - STATE(464), 1, - sym_const_name, - STATE(465), 1, - sym_namespace, - STATE(229), 2, - sym_use_directive, - aux_sym_program_repeat1, - STATE(166), 10, - sym__decl, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - aux_sym_program_repeat2, - [9587] = 22, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_ivar_name, + sym_cvar_name, + [9540] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -11995,17 +11945,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(127), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(213), 1, + STATE(196), 1, sym_attribute_member, - STATE(215), 1, + STATE(197), 1, sym_visibility_member, - STATE(271), 1, + STATE(263), 1, sym_visibility, ACTIONS(89), 2, anon_sym_public, @@ -12017,23 +11967,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(201), 6, + STATE(194), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - [9663] = 5, + [9616] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(466), 27, + ACTIONS(468), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -12061,51 +12011,67 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9705] = 5, + [9658] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(470), 27, - ts_builtin_sym_end, + ACTIONS(7), 1, sym_constant, - sym_self, + ACTIONS(9), 1, anon_sym_class, + ACTIONS(11), 1, sym__scope, + ACTIONS(13), 1, + anon_sym_use, + ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, anon_sym_PERCENTa_LT, - anon_sym_end, + ACTIONS(25), 1, anon_sym_module, + ACTIONS(27), 1, anon_sym_interface, + ACTIONS(29), 1, anon_sym_type, + ACTIONS(31), 1, sym_global_name, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [9747] = 5, + ACTIONS(470), 1, + ts_builtin_sym_end, + STATE(133), 1, + sym_annotation, + STATE(211), 1, + aux_sym__decl_repeat1, + STATE(418), 1, + sym_const_name, + STATE(430), 1, + sym_namespace, + STATE(225), 2, + sym_use_directive, + aux_sym_program_repeat1, + STATE(169), 10, + sym__decl, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + aux_sym_program_repeat2, + [9732] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, ACTIONS(472), 27, ts_builtin_sym_end, @@ -12135,7 +12101,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9789] = 2, + [9774] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(474), 29, @@ -12168,7 +12134,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9824] = 2, + [9809] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(476), 29, @@ -12201,12 +12167,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9859] = 3, + [9844] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(480), 1, - anon_sym_COLON, - ACTIONS(478), 27, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(478), 25, sym_constant, sym_self, anon_sym_class, @@ -12217,9 +12187,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, anon_sym_end, - anon_sym_LT, anon_sym_module, - anon_sym_EQ2, anon_sym_interface, anon_sym_type, anon_sym_def, @@ -12234,16 +12202,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9895] = 5, + [9884] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(482), 25, + ACTIONS(480), 25, sym_constant, sym_self, anon_sym_class, @@ -12269,16 +12237,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9935] = 5, + [9924] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(484), 25, + ACTIONS(484), 1, + anon_sym_COLON, + ACTIONS(482), 27, sym_constant, sym_self, anon_sym_class, @@ -12289,7 +12253,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, anon_sym_end, + anon_sym_LT, anon_sym_module, + anon_sym_EQ2, anon_sym_interface, anon_sym_type, anon_sym_def, @@ -12304,19 +12270,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9975] = 5, + [9960] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - ACTIONS(488), 1, - anon_sym_COMMA, - STATE(188), 1, - sym_type_arguments, - ACTIONS(486), 25, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(486), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12339,16 +12304,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10015] = 5, + [9998] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(490), 25, + ACTIONS(488), 25, sym_constant, sym_self, anon_sym_class, @@ -12374,12 +12339,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10055] = 3, + [10038] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(494), 1, + ACTIONS(492), 1, anon_sym_COLON, - ACTIONS(492), 27, + ACTIONS(490), 27, sym_constant, sym_self, anon_sym_class, @@ -12407,16 +12372,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10091] = 5, + [10074] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(496), 25, + ACTIONS(494), 25, sym_constant, sym_self, anon_sym_class, @@ -12442,16 +12407,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10131] = 5, + [10114] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(498), 25, + ACTIONS(496), 25, sym_constant, sym_self, anon_sym_class, @@ -12477,18 +12442,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10171] = 4, + [10154] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(500), 26, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(498), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12511,16 +12477,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10209] = 5, + [10194] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(502), 25, + ACTIONS(263), 1, + anon_sym_LBRACK, + ACTIONS(502), 1, + anon_sym_COMMA, + STATE(184), 1, + sym_type_arguments, + ACTIONS(500), 25, sym_constant, sym_self, anon_sym_class, @@ -12546,19 +12512,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10249] = 5, + [10234] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(504), 25, + ACTIONS(504), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12581,18 +12546,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10289] = 4, + [10272] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(506), 26, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(506), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12615,14 +12581,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10327] = 5, + [10312] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, ACTIONS(508), 25, sym_constant, @@ -12650,19 +12616,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10367] = 5, + [10352] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(510), 25, + ACTIONS(510), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12685,18 +12650,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10407] = 4, + [10390] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(512), 26, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(512), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12719,11 +12685,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10445] = 2, + [10430] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(514), 27, - ts_builtin_sym_end, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(199), 1, + sym_type_arguments, + ACTIONS(514), 25, sym_constant, sym_self, anon_sym_class, @@ -12737,7 +12706,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12750,7 +12718,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10478] = 2, + [10467] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(516), 27, @@ -12781,14 +12749,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10511] = 4, + [10500] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(518), 1, - anon_sym_QMARK, - ACTIONS(520), 1, - anon_sym_EQ, - ACTIONS(293), 25, + ACTIONS(518), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12802,6 +12767,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12814,14 +12780,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10548] = 4, + [10533] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - STATE(211), 1, - sym_type_arguments, - ACTIONS(522), 25, + ACTIONS(520), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12835,6 +12798,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12847,14 +12811,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10585] = 4, + [10566] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, + ACTIONS(524), 1, anon_sym_PIPE, - STATE(169), 1, + STATE(154), 1, aux_sym_method_types_repeat1, - ACTIONS(524), 25, + ACTIONS(522), 25, sym_constant, sym_self, anon_sym_class, @@ -12880,10 +12844,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10622] = 2, + [10603] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(528), 27, + ACTIONS(527), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -12911,10 +12875,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10655] = 2, + [10636] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(530), 27, + ACTIONS(529), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -12942,40 +12906,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10688] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(532), 1, - anon_sym_QMARK, - ACTIONS(534), 1, - anon_sym_EQ, - ACTIONS(293), 25, - sym_constant, - sym_self, - anon_sym_class, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [10725] = 19, + [10669] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -13002,17 +12933,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type, ACTIONS(31), 1, sym_global_name, - ACTIONS(464), 1, + ACTIONS(470), 1, ts_builtin_sym_end, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(216), 1, + STATE(211), 1, aux_sym__decl_repeat1, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, - STATE(167), 10, + STATE(171), 10, sym__decl, sym_class_decl, sym_module_decl, @@ -13023,10 +12954,10 @@ static const uint16_t ts_small_parse_table[] = { sym_const_decl, sym_global_decl, aux_sym_program_repeat2, - [10792] = 2, + [10736] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(536), 27, + ACTIONS(531), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13054,10 +12985,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10825] = 2, + [10769] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(538), 27, + ACTIONS(533), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13085,10 +13016,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10858] = 2, + [10802] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(540), 27, + ACTIONS(535), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13116,14 +13047,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10891] = 4, + [10835] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(154), 1, - aux_sym_method_types_repeat1, - ACTIONS(542), 25, + ACTIONS(537), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -13137,6 +13065,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13149,10 +13078,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10928] = 2, + [10868] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(544), 27, + ACTIONS(539), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13180,14 +13109,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10961] = 4, + [10901] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(175), 1, - aux_sym_method_types_repeat1, - ACTIONS(524), 25, + ACTIONS(541), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -13201,6 +13127,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13213,14 +13140,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10998] = 4, + [10934] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(177), 1, - aux_sym_method_types_repeat1, - ACTIONS(546), 25, + ACTIONS(543), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -13234,6 +13158,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13246,106 +13171,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11035] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, - anon_sym_class, - ACTIONS(11), 1, - sym__scope, - ACTIONS(15), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, - anon_sym_PERCENTa_LT, - ACTIONS(25), 1, - anon_sym_module, - ACTIONS(27), 1, - anon_sym_interface, - ACTIONS(29), 1, - anon_sym_type, - ACTIONS(31), 1, - sym_global_name, - ACTIONS(548), 1, - ts_builtin_sym_end, - STATE(134), 1, - sym_annotation, - STATE(216), 1, - aux_sym__decl_repeat1, - STATE(464), 1, - sym_const_name, - STATE(465), 1, - sym_namespace, - STATE(167), 10, - sym__decl, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - aux_sym_program_repeat2, - [11102] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(550), 1, - ts_builtin_sym_end, - ACTIONS(552), 1, - sym_constant, - ACTIONS(555), 1, - anon_sym_class, - ACTIONS(558), 1, - sym__scope, - ACTIONS(561), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(564), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(567), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(570), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(573), 1, - anon_sym_PERCENTa_LT, - ACTIONS(576), 1, - anon_sym_module, - ACTIONS(579), 1, - anon_sym_interface, - ACTIONS(582), 1, - anon_sym_type, - ACTIONS(585), 1, - sym_global_name, - STATE(134), 1, - sym_annotation, - STATE(216), 1, - aux_sym__decl_repeat1, - STATE(464), 1, - sym_const_name, - STATE(465), 1, - sym_namespace, - STATE(167), 10, - sym__decl, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - aux_sym_program_repeat2, - [11169] = 2, + [10967] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(588), 27, + ACTIONS(545), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13373,14 +13202,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11202] = 4, + [11000] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(592), 1, - anon_sym_PIPE, - STATE(169), 1, - aux_sym_method_types_repeat1, - ACTIONS(590), 25, + ACTIONS(547), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -13394,6 +13220,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13406,14 +13233,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11239] = 4, + [11033] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - STATE(212), 1, - sym_type_arguments, - ACTIONS(595), 25, + ACTIONS(549), 1, + anon_sym_QMARK, + ACTIONS(551), 1, + anon_sym_EQ, + ACTIONS(291), 25, sym_constant, sym_self, anon_sym_class, @@ -13439,10 +13266,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11276] = 2, + [11070] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(597), 27, + ACTIONS(553), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13470,42 +13297,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11309] = 2, + [11103] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(599), 27, - ts_builtin_sym_end, + ACTIONS(7), 1, sym_constant, - sym_self, + ACTIONS(9), 1, anon_sym_class, + ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, anon_sym_PERCENTa_LT, - anon_sym_end, + ACTIONS(25), 1, anon_sym_module, + ACTIONS(27), 1, anon_sym_interface, + ACTIONS(29), 1, anon_sym_type, + ACTIONS(31), 1, sym_global_name, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [11342] = 2, + ACTIONS(555), 1, + ts_builtin_sym_end, + STATE(133), 1, + sym_annotation, + STATE(211), 1, + aux_sym__decl_repeat1, + STATE(418), 1, + sym_const_name, + STATE(430), 1, + sym_namespace, + STATE(171), 10, + sym__decl, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + aux_sym_program_repeat2, + [11170] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(601), 27, - ts_builtin_sym_end, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(189), 1, + sym_type_arguments, + ACTIONS(557), 25, sym_constant, sym_self, anon_sym_class, @@ -13519,7 +13366,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13532,45 +13378,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11375] = 2, + [11207] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(603), 27, + ACTIONS(559), 1, ts_builtin_sym_end, + ACTIONS(561), 1, sym_constant, - sym_self, + ACTIONS(564), 1, anon_sym_class, + ACTIONS(567), 1, sym__scope, + ACTIONS(570), 1, anon_sym_PERCENTa_LBRACE, + ACTIONS(573), 1, anon_sym_PERCENTa_LPAREN, + ACTIONS(576), 1, anon_sym_PERCENTa_LBRACK, + ACTIONS(579), 1, anon_sym_PERCENTa_PIPE, + ACTIONS(582), 1, anon_sym_PERCENTa_LT, - anon_sym_end, + ACTIONS(585), 1, anon_sym_module, + ACTIONS(588), 1, anon_sym_interface, + ACTIONS(591), 1, anon_sym_type, + ACTIONS(594), 1, sym_global_name, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [11408] = 4, + STATE(133), 1, + sym_annotation, + STATE(211), 1, + aux_sym__decl_repeat1, + STATE(418), 1, + sym_const_name, + STATE(430), 1, + sym_namespace, + STATE(171), 10, + sym__decl, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + aux_sym_program_repeat2, + [11274] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(169), 1, - aux_sym_method_types_repeat1, - ACTIONS(605), 25, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(208), 1, + sym_type_arguments, + ACTIONS(597), 25, sym_constant, sym_self, anon_sym_class, @@ -13596,14 +13459,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11445] = 4, + [11311] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(184), 1, - aux_sym_method_types_repeat1, - ACTIONS(607), 25, + ACTIONS(599), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -13617,6 +13477,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13629,14 +13490,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11482] = 4, + [11344] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(169), 1, - aux_sym_method_types_repeat1, - ACTIONS(609), 25, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(206), 1, + sym_type_arguments, + ACTIONS(601), 25, sym_constant, sym_self, anon_sym_class, @@ -13662,11 +13523,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11519] = 2, + [11381] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(611), 27, - ts_builtin_sym_end, + ACTIONS(603), 1, + anon_sym_QMARK, + ACTIONS(605), 1, + anon_sym_EQ, + ACTIONS(291), 25, sym_constant, sym_self, anon_sym_class, @@ -13680,7 +13544,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13693,10 +13556,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11552] = 2, + [11418] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(613), 27, + ACTIONS(607), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13724,14 +13587,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11585] = 4, + [11451] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - STATE(192), 1, - sym_type_arguments, - ACTIONS(615), 25, + ACTIONS(611), 1, + anon_sym_PIPE, + STATE(154), 1, + aux_sym_method_types_repeat1, + ACTIONS(609), 25, sym_constant, sym_self, anon_sym_class, @@ -13757,11 +13620,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11622] = 2, + [11488] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(617), 27, - ts_builtin_sym_end, + ACTIONS(611), 1, + anon_sym_PIPE, + STATE(177), 1, + aux_sym_method_types_repeat1, + ACTIONS(613), 25, sym_constant, sym_self, anon_sym_class, @@ -13775,7 +13641,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13788,10 +13653,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11655] = 2, + [11525] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(619), 27, + ACTIONS(615), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13819,48 +13684,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11688] = 2, + [11558] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(621), 27, - ts_builtin_sym_end, + ACTIONS(617), 26, sym_constant, sym_self, anon_sym_class, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [11721] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(526), 1, anon_sym_PIPE, - STATE(169), 1, - aux_sym_method_types_repeat1, - ACTIONS(623), 25, - sym_constant, - sym_self, - anon_sym_class, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -13883,17 +13714,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11758] = 4, + [11590] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - STATE(191), 1, - sym_type_arguments, - ACTIONS(625), 25, + ACTIONS(619), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -13916,10 +13744,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11795] = 2, + [11622] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 26, + ACTIONS(621), 26, sym_constant, sym_self, anon_sym_class, @@ -13946,10 +13774,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11827] = 2, + [11654] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(590), 26, + ACTIONS(522), 26, sym_constant, sym_self, anon_sym_class, @@ -13976,45 +13804,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11859] = 3, + [11686] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(631), 1, + ACTIONS(625), 1, anon_sym_COMMA, - ACTIONS(629), 25, - sym_constant, - sym_self, - anon_sym_class, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [11893] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(633), 26, + ACTIONS(623), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -14037,10 +13835,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11925] = 2, + [11720] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(635), 26, + ACTIONS(627), 26, sym_constant, sym_self, anon_sym_class, @@ -14067,10 +13865,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11957] = 2, + [11752] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(637), 25, + ACTIONS(629), 25, sym_constant, sym_self, anon_sym_class, @@ -14096,10 +13894,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11988] = 2, + [11783] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(639), 25, + ACTIONS(631), 25, sym_constant, sym_self, anon_sym_class, @@ -14125,10 +13923,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12019] = 2, + [11814] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(641), 25, + ACTIONS(633), 25, sym_constant, sym_self, anon_sym_class, @@ -14154,10 +13952,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12050] = 2, + [11845] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(313), 25, + ACTIONS(635), 25, sym_constant, sym_self, anon_sym_class, @@ -14183,10 +13981,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12081] = 2, + [11876] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(279), 25, + ACTIONS(637), 25, sym_constant, sym_self, anon_sym_class, @@ -14212,10 +14010,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12112] = 2, + [11907] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(301), 25, + ACTIONS(613), 25, sym_constant, sym_self, anon_sym_class, @@ -14241,10 +14039,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12143] = 2, + [11938] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(643), 25, + ACTIONS(639), 25, sym_constant, sym_self, anon_sym_class, @@ -14270,10 +14068,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12174] = 2, + [11969] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(645), 25, + ACTIONS(641), 25, sym_constant, sym_self, anon_sym_class, @@ -14299,10 +14097,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12205] = 2, + [12000] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(297), 25, + ACTIONS(643), 25, sym_constant, sym_self, anon_sym_class, @@ -14328,10 +14126,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12236] = 2, + [12031] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(647), 25, + ACTIONS(645), 25, sym_constant, sym_self, anon_sym_class, @@ -14357,10 +14155,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12267] = 2, + [12062] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(649), 25, + ACTIONS(643), 25, sym_constant, sym_self, anon_sym_class, @@ -14386,10 +14184,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12298] = 2, + [12093] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(293), 25, + ACTIONS(643), 25, sym_constant, sym_self, anon_sym_class, @@ -14415,10 +14213,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12329] = 2, + [12124] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(283), 25, + ACTIONS(647), 25, sym_constant, sym_self, anon_sym_class, @@ -14444,10 +14242,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12360] = 2, + [12155] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(651), 25, + ACTIONS(649), 25, sym_constant, sym_self, anon_sym_class, @@ -14473,10 +14271,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12391] = 2, + [12186] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(653), 25, + ACTIONS(295), 25, sym_constant, sym_self, anon_sym_class, @@ -14502,10 +14300,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12422] = 2, + [12217] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(542), 25, + ACTIONS(283), 25, sym_constant, sym_self, anon_sym_class, @@ -14531,10 +14329,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12453] = 2, + [12248] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(655), 25, + ACTIONS(291), 25, sym_constant, sym_self, anon_sym_class, @@ -14560,10 +14358,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12484] = 2, + [12279] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(657), 25, + ACTIONS(287), 25, sym_constant, sym_self, anon_sym_class, @@ -14589,10 +14387,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12515] = 2, + [12310] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(659), 25, + ACTIONS(651), 25, sym_constant, sym_self, anon_sym_class, @@ -14618,10 +14416,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12546] = 2, + [12341] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(661), 25, + ACTIONS(299), 25, sym_constant, sym_self, anon_sym_class, @@ -14647,10 +14445,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12577] = 2, + [12372] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(663), 25, + ACTIONS(653), 25, sym_constant, sym_self, anon_sym_class, @@ -14676,10 +14474,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12608] = 2, + [12403] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(665), 25, + ACTIONS(303), 25, sym_constant, sym_self, anon_sym_class, @@ -14705,10 +14503,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12639] = 2, + [12434] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(649), 25, + ACTIONS(655), 25, sym_constant, sym_self, anon_sym_class, @@ -14734,10 +14532,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12670] = 2, + [12465] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(667), 25, + ACTIONS(657), 25, sym_constant, sym_self, anon_sym_class, @@ -14763,10 +14561,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12701] = 2, + [12496] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(649), 25, + ACTIONS(659), 25, sym_constant, sym_self, anon_sym_class, @@ -14792,7 +14590,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12732] = 18, + [12527] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -14821,13 +14619,13 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, STATE(127), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, - STATE(245), 8, + STATE(235), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -14836,7 +14634,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_global_decl, - [12794] = 19, + [12589] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -14855,30 +14653,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_def, ACTIONS(93), 1, anon_sym_include, - ACTIONS(669), 1, + ACTIONS(661), 1, anon_sym_end, - ACTIONS(673), 1, + ACTIONS(665), 1, anon_sym_alias, - STATE(134), 1, + STATE(133), 1, sym_annotation, + STATE(213), 1, + sym_module_type_parameters, STATE(218), 1, aux_sym_interface_decl_repeat1, - STATE(221), 1, - sym_module_type_parameters, - STATE(230), 1, + STATE(228), 1, aux_sym__decl_repeat1, - STATE(246), 1, + STATE(238), 1, sym_interface_member, - STATE(443), 1, + STATE(435), 1, sym_visibility, - ACTIONS(671), 2, + ACTIONS(663), 2, anon_sym_public, anon_sym_private, - STATE(247), 3, + STATE(239), 3, sym_method_member, sym_include_member, sym_alias_member, - [12855] = 17, + [12650] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -14895,66 +14693,69 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_def, ACTIONS(93), 1, anon_sym_include, - ACTIONS(673), 1, + ACTIONS(665), 1, anon_sym_alias, - ACTIONS(675), 1, + ACTIONS(667), 1, anon_sym_end, - STATE(134), 1, + STATE(133), 1, sym_annotation, STATE(219), 1, aux_sym_interface_decl_repeat1, - STATE(230), 1, + STATE(228), 1, aux_sym__decl_repeat1, - STATE(246), 1, + STATE(238), 1, sym_interface_member, - STATE(443), 1, + STATE(435), 1, sym_visibility, - ACTIONS(671), 2, + ACTIONS(663), 2, anon_sym_public, anon_sym_private, - STATE(247), 3, + STATE(239), 3, sym_method_member, sym_include_member, sym_alias_member, - [12910] = 17, + [12705] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(677), 1, + ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, - ACTIONS(680), 1, + ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(683), 1, + ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(686), 1, + ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(689), 1, + ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(692), 1, - anon_sym_end, - ACTIONS(694), 1, - anon_sym_def, - ACTIONS(700), 1, - anon_sym_include, - ACTIONS(703), 1, - anon_sym_alias, - STATE(134), 1, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(671), 1, + anon_sym_LBRACK, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(675), 1, + anon_sym_DASH_GT, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(679), 1, + anon_sym_DOT_DOT_DOT, + STATE(133), 1, sym_annotation, - STATE(219), 1, - aux_sym_interface_decl_repeat1, - STATE(230), 1, + STATE(178), 1, + sym_method_type, + STATE(181), 1, + sym_method_type_body, + STATE(204), 1, + sym_method_types, + STATE(232), 1, + sym_method_type_parameters, + STATE(234), 1, aux_sym__decl_repeat1, - STATE(246), 1, - sym_interface_member, - STATE(443), 1, - sym_visibility, - ACTIONS(697), 2, - anon_sym_public, - anon_sym_private, - STATE(247), 3, - sym_method_member, - sym_include_member, - sym_alias_member, - [12965] = 17, + STATE(287), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [12766] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -14967,32 +14768,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(87), 1, - anon_sym_def, - ACTIONS(93), 1, - anon_sym_include, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(671), 1, + anon_sym_LBRACK, ACTIONS(673), 1, - anon_sym_alias, - ACTIONS(706), 1, - anon_sym_end, - STATE(134), 1, + anon_sym_LBRACE, + ACTIONS(675), 1, + anon_sym_DASH_GT, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(679), 1, + anon_sym_DOT_DOT_DOT, + STATE(133), 1, sym_annotation, - STATE(219), 1, - aux_sym_interface_decl_repeat1, - STATE(230), 1, + STATE(178), 1, + sym_method_type, + STATE(181), 1, + sym_method_type_body, + STATE(186), 1, + sym_method_types, + STATE(232), 1, + sym_method_type_parameters, + STATE(234), 1, aux_sym__decl_repeat1, - STATE(246), 1, - sym_interface_member, - STATE(443), 1, - sym_visibility, - ACTIONS(671), 2, - anon_sym_public, - anon_sym_private, - STATE(247), 3, - sym_method_member, - sym_include_member, - sym_alias_member, - [13020] = 17, + STATE(287), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [12827] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15005,32 +14809,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(87), 1, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(671), 1, + anon_sym_LBRACK, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(675), 1, + anon_sym_DASH_GT, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(679), 1, + anon_sym_DOT_DOT_DOT, + STATE(133), 1, + sym_annotation, + STATE(178), 1, + sym_method_type, + STATE(181), 1, + sym_method_type_body, + STATE(209), 1, + sym_method_types, + STATE(232), 1, + sym_method_type_parameters, + STATE(234), 1, + aux_sym__decl_repeat1, + STATE(287), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [12888] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(681), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(684), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(687), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(690), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(693), 1, + anon_sym_PERCENTa_LT, + ACTIONS(696), 1, + anon_sym_end, + ACTIONS(698), 1, anon_sym_def, - ACTIONS(93), 1, + ACTIONS(704), 1, anon_sym_include, - ACTIONS(673), 1, + ACTIONS(707), 1, anon_sym_alias, - ACTIONS(708), 1, - anon_sym_end, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(220), 1, + STATE(217), 1, aux_sym_interface_decl_repeat1, - STATE(230), 1, + STATE(228), 1, aux_sym__decl_repeat1, - STATE(246), 1, + STATE(238), 1, sym_interface_member, - STATE(443), 1, + STATE(435), 1, sym_visibility, - ACTIONS(671), 2, + ACTIONS(701), 2, anon_sym_public, anon_sym_private, - STATE(247), 3, + STATE(239), 3, sym_method_member, sym_include_member, sym_alias_member, - [13075] = 19, + [12943] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15043,33 +14888,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(665), 1, + anon_sym_alias, ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(712), 1, - anon_sym_LBRACK, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(720), 1, - anon_sym_DOT_DOT_DOT, - STATE(134), 1, + anon_sym_end, + STATE(133), 1, sym_annotation, - STATE(162), 1, - sym_method_type, - STATE(214), 1, - sym_method_types, - STATE(237), 1, - sym_method_type_parameters, - STATE(242), 1, + STATE(217), 1, + aux_sym_interface_decl_repeat1, + STATE(228), 1, aux_sym__decl_repeat1, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13133] = 19, + STATE(238), 1, + sym_interface_member, + STATE(435), 1, + sym_visibility, + ACTIONS(663), 2, + anon_sym_public, + anon_sym_private, + STATE(239), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [12998] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15082,33 +14926,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, - anon_sym_LPAREN, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(665), 1, + anon_sym_alias, ACTIONS(712), 1, - anon_sym_LBRACK, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(720), 1, - anon_sym_DOT_DOT_DOT, - STATE(134), 1, + anon_sym_end, + STATE(133), 1, sym_annotation, - STATE(162), 1, - sym_method_type, - STATE(205), 1, - sym_method_types, - STATE(237), 1, - sym_method_type_parameters, - STATE(242), 1, + STATE(217), 1, + aux_sym_interface_decl_repeat1, + STATE(228), 1, aux_sym__decl_repeat1, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13191] = 19, + STATE(238), 1, + sym_interface_member, + STATE(435), 1, + sym_visibility, + ACTIONS(663), 2, + anon_sym_public, + anon_sym_private, + STATE(239), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [13053] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15121,33 +14964,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(712), 1, + ACTIONS(671), 1, anon_sym_LBRACK, - ACTIONS(714), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(716), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - ACTIONS(720), 1, + ACTIONS(679), 1, anon_sym_DOT_DOT_DOT, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(162), 1, + STATE(178), 1, sym_method_type, - STATE(209), 1, + STATE(181), 1, + sym_method_type_body, + STATE(192), 1, sym_method_types, - STATE(237), 1, + STATE(232), 1, sym_method_type_parameters, - STATE(242), 1, + STATE(234), 1, aux_sym__decl_repeat1, - STATE(305), 1, + STATE(287), 1, sym_parameters, STATE(404), 1, sym_block, - [13249] = 19, + [13114] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15160,40 +15005,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(712), 1, + ACTIONS(671), 1, anon_sym_LBRACK, - ACTIONS(714), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(716), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - ACTIONS(720), 1, - anon_sym_DOT_DOT_DOT, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(162), 1, + STATE(181), 1, + sym_method_type_body, + STATE(183), 1, sym_method_type, - STATE(204), 1, - sym_method_types, - STATE(237), 1, + STATE(232), 1, sym_method_type_parameters, - STATE(242), 1, + STATE(234), 1, aux_sym__decl_repeat1, - STATE(305), 1, + STATE(287), 1, sym_parameters, STATE(404), 1, sym_block, - [13307] = 4, + [13169] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(724), 1, + ACTIONS(716), 1, anon_sym_COMMA, STATE(226), 1, aux_sym_use_directive_repeat1, - ACTIONS(722), 14, + ACTIONS(714), 14, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15208,20 +15051,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13333] = 5, + [13195] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(727), 13, + ACTIONS(716), 1, + anon_sym_COMMA, + STATE(222), 1, + aux_sym_use_directive_repeat1, + ACTIONS(718), 14, ts_builtin_sym_end, sym_constant, anon_sym_class, sym__scope, + anon_sym_use, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15231,50 +15073,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13361] = 17, + [13221] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(720), 13, + ts_builtin_sym_end, + sym_constant, + anon_sym_class, + sym__scope, anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(712), 1, - anon_sym_LBRACK, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - STATE(134), 1, - sym_annotation, - STATE(187), 1, - sym_method_type, - STATE(239), 1, - aux_sym__decl_repeat1, - STATE(240), 1, - sym_method_type_parameters, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13413] = 4, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13249] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(731), 1, + ACTIONS(724), 1, anon_sym_use, - STATE(229), 2, + STATE(225), 2, sym_use_directive, aux_sym_program_repeat1, - ACTIONS(729), 13, + ACTIONS(722), 13, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15288,46 +15118,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13439] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(15), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, - anon_sym_PERCENTa_LT, - ACTIONS(87), 1, - anon_sym_def, - ACTIONS(93), 1, - anon_sym_include, - ACTIONS(673), 1, - anon_sym_alias, - STATE(127), 1, - aux_sym__decl_repeat1, - STATE(134), 1, - sym_annotation, - STATE(443), 1, - sym_visibility, - ACTIONS(671), 2, - anon_sym_public, - anon_sym_private, - STATE(249), 3, - sym_method_member, - sym_include_member, - sym_alias_member, - [13485] = 4, + [13275] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(729), 1, anon_sym_COMMA, STATE(226), 1, aux_sym_use_directive_repeat1, - ACTIONS(734), 14, + ACTIONS(727), 14, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15342,17 +15140,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13511] = 4, + [13301] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - anon_sym_COMMA, - STATE(231), 1, - aux_sym_use_directive_repeat1, - ACTIONS(738), 14, + ACTIONS(734), 1, + anon_sym_as, + ACTIONS(732), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, + anon_sym_COMMA, sym__scope, anon_sym_use, anon_sym_PERCENTa_LBRACE, @@ -15364,12 +15161,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13537] = 3, + [13325] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(742), 1, - anon_sym_as, - ACTIONS(740), 15, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(665), 1, + anon_sym_alias, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(435), 1, + sym_visibility, + ACTIONS(663), 2, + anon_sym_public, + anon_sym_private, + STATE(241), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [13371] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(736), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15385,10 +15212,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13561] = 2, + [13392] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(744), 15, + ACTIONS(727), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15404,10 +15231,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13582] = 2, + [13413] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(722), 15, + ACTIONS(738), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15423,26 +15250,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13603] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(746), 15, - ts_builtin_sym_end, - sym_constant, - anon_sym_class, - anon_sym_COMMA, - sym__scope, - anon_sym_use, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - [13624] = 15, + [13434] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15455,56 +15263,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(714), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(716), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(164), 1, - sym_method_type, - STATE(241), 1, - aux_sym__decl_repeat1, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13670] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(15), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, - anon_sym_PERCENTa_LT, - ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - STATE(127), 1, + STATE(180), 1, + sym_method_type_body, + STATE(233), 1, aux_sym__decl_repeat1, - STATE(134), 1, - sym_annotation, - STATE(190), 1, - sym_method_type, - STATE(305), 1, + STATE(287), 1, sym_parameters, STATE(404), 1, sym_block, - [13716] = 15, + [13480] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15517,56 +15294,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(714), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(716), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, STATE(127), 1, aux_sym__decl_repeat1, - STATE(134), 1, - sym_annotation, - STATE(189), 1, - sym_method_type, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13762] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(15), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, - anon_sym_PERCENTa_LT, - ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(186), 1, - sym_method_type, - STATE(238), 1, - aux_sym__decl_repeat1, - STATE(305), 1, + STATE(185), 1, + sym_method_type_body, + STATE(287), 1, sym_parameters, STATE(404), 1, sym_block, - [13808] = 15, + [13526] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15579,63 +15325,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(714), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(716), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, STATE(127), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(176), 1, - sym_method_type, - STATE(305), 1, + STATE(182), 1, + sym_method_type_body, + STATE(287), 1, sym_parameters, STATE(404), 1, sym_block, - [13854] = 15, + [13572] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(740), 13, + ts_builtin_sym_end, + sym_constant, + anon_sym_class, + sym__scope, anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - STATE(127), 1, - aux_sym__decl_repeat1, - STATE(134), 1, - sym_annotation, - STATE(165), 1, - sym_method_type, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13900] = 4, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13591] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(532), 1, + ACTIONS(549), 1, anon_sym_QMARK, - ACTIONS(534), 1, + ACTIONS(551), 1, anon_sym_EQ, - ACTIONS(293), 11, + ACTIONS(291), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15647,14 +15379,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [13923] = 4, + [13614] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(518), 1, + ACTIONS(603), 1, anon_sym_QMARK, - ACTIONS(520), 1, + ACTIONS(605), 1, anon_sym_EQ, - ACTIONS(293), 11, + ACTIONS(291), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15666,27 +15398,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [13946] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(748), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_class, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - [13965] = 2, + [13637] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(750), 11, + ACTIONS(742), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15698,10 +15413,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [13982] = 2, + [13654] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(752), 11, + ACTIONS(744), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15713,33 +15428,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [13999] = 10, + [13671] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - ACTIONS(756), 1, + ACTIONS(748), 1, anon_sym_singleton, - STATE(83), 1, + STATE(81), 1, sym_interface_name, STATE(84), 1, sym_class_name, - STATE(364), 1, - sym_bound_type, - STATE(384), 1, + STATE(357), 1, sym_namespace, - STATE(367), 3, + STATE(385), 1, + sym_bound_type, + STATE(388), 3, sym_class_type, sym_interface_type, sym_singleton_type, - [14032] = 2, + [13704] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(758), 11, + ACTIONS(750), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15751,7 +15466,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [14049] = 11, + [13721] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(69), 1, @@ -15760,25 +15475,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_QMARK2, ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(374), 1, + STATE(368), 1, sym_optional_positionals, - STATE(375), 1, + STATE(369), 1, sym_rest_positional, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(438), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(433), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14084] = 2, + [13756] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(762), 9, + ACTIONS(754), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_DASH_GT, @@ -15788,10 +15503,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, anon_sym_QMARK2, - [14099] = 2, + [13771] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(764), 9, + ACTIONS(756), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_DASH_GT, @@ -15801,1822 +15516,1822 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, anon_sym_QMARK2, - [14114] = 9, + [13786] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - ACTIONS(766), 1, + ACTIONS(758), 1, anon_sym_RPAREN, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(449), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(441), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14143] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(768), 1, - anon_sym_COLON, - ACTIONS(255), 7, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_LBRACK, - anon_sym_COMMA, - sym_identifier, - [14159] = 8, + [13815] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(427), 1, + STATE(414), 1, + sym_var_name, + STATE(417), 1, sym_splat_keyword, - STATE(431), 1, + STATE(446), 1, sym_keywords, - STATE(432), 1, - sym_var_name, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14185] = 8, + [13841] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(427), 1, + STATE(414), 1, + sym_var_name, + STATE(417), 1, sym_splat_keyword, STATE(432), 1, - sym_var_name, - STATE(449), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14211] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(770), 1, - anon_sym_LBRACK, - ACTIONS(772), 1, - anon_sym_DASH_GT, - STATE(275), 1, - sym_parameters, - STATE(297), 1, - sym_self_type_binding, - STATE(409), 1, - sym_block, - [14239] = 8, + [13867] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(454), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(424), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14265] = 8, + [13893] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(440), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(441), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14291] = 8, + [13919] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(760), 1, + anon_sym_LBRACK, + ACTIONS(762), 1, + anon_sym_DASH_GT, + STATE(264), 1, + sym_parameters, + STATE(300), 1, + sym_self_type_binding, + STATE(462), 1, + sym_block, + [13947] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(433), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(426), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14317] = 7, + [13973] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(764), 1, + anon_sym_COLON, + ACTIONS(265), 7, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + sym_identifier, + [13989] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, STATE(359), 1, sym_var_name, - ACTIONS(774), 2, + ACTIONS(766), 2, anon_sym_RPAREN, anon_sym_COMMA, - [14340] = 7, + [14012] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - STATE(198), 1, + STATE(190), 1, sym_module_self_types, - STATE(384), 1, + STATE(357), 1, sym_namespace, - STATE(138), 2, + STATE(144), 2, sym_class_name, sym_interface_name, - [14363] = 7, + [14035] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, - sym_constant, - ACTIONS(778), 1, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + ACTIONS(746), 1, + sym_interface, + STATE(198), 1, + sym_module_self_types, + STATE(357), 1, + sym_namespace, + STATE(144), 2, + sym_class_name, + sym_interface_name, + [14058] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(768), 1, + sym_constant, + ACTIONS(770), 1, sym_generics_unchecked, - STATE(304), 1, + STATE(280), 1, sym_type_variable, - STATE(323), 1, - sym_module_type_parameter, - STATE(383), 1, + STATE(364), 1, sym_generics_variance, - ACTIONS(780), 2, + STATE(384), 1, + sym_module_type_parameter, + ACTIONS(772), 2, anon_sym_out, anon_sym_in, - [14386] = 7, + [14081] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, + ACTIONS(768), 1, sym_constant, - ACTIONS(778), 1, + ACTIONS(770), 1, sym_generics_unchecked, - STATE(304), 1, + STATE(280), 1, sym_type_variable, - STATE(363), 1, + STATE(346), 1, sym_module_type_parameter, - STATE(383), 1, + STATE(364), 1, sym_generics_variance, - ACTIONS(780), 2, + ACTIONS(772), 2, anon_sym_out, anon_sym_in, - [14409] = 7, + [14104] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - STATE(210), 1, + STATE(187), 1, sym_module_self_types, - STATE(384), 1, + STATE(357), 1, sym_namespace, - STATE(138), 2, + STATE(144), 2, sym_class_name, sym_interface_name, - [14432] = 7, + [14127] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(35), 1, - sym_constant, - ACTIONS(754), 1, - sym_interface, - STATE(200), 1, - sym_module_self_types, - STATE(384), 1, - sym_namespace, - STATE(138), 2, - sym_class_name, - sym_interface_name, - [14455] = 6, + ACTIONS(289), 1, + anon_sym_LPAREN, + ACTIONS(435), 1, + anon_sym_QMARK, + ACTIONS(774), 1, + anon_sym_EQ, + ACTIONS(291), 3, + sym_self, + anon_sym_COLON, + anon_sym_LPAREN_RPAREN, + [14145] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - STATE(384), 1, + STATE(357), 1, sym_namespace, - STATE(185), 2, + STATE(172), 2, sym_class_name, sym_interface_name, - [14475] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(782), 1, - anon_sym_COMMA, - ACTIONS(784), 1, - anon_sym_RBRACK, - STATE(355), 1, - aux_sym_tuple_type_repeat1, - [14497] = 5, + [14165] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(291), 1, + ACTIONS(289), 1, anon_sym_LPAREN, ACTIONS(439), 1, anon_sym_QMARK, - ACTIONS(786), 1, + ACTIONS(776), 1, anon_sym_EQ, - ACTIONS(293), 3, + ACTIONS(291), 3, sym_self, anon_sym_COLON, anon_sym_LPAREN_RPAREN, - [14515] = 5, + [14183] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(291), 1, - anon_sym_LPAREN, - ACTIONS(435), 1, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(788), 1, - anon_sym_EQ, - ACTIONS(293), 3, - sym_self, - anon_sym_COLON, - anon_sym_LPAREN_RPAREN, - [14533] = 5, - ACTIONS(790), 1, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(778), 1, + anon_sym_COMMA, + ACTIONS(780), 1, + anon_sym_RBRACK, + STATE(334), 1, + aux_sym_tuple_type_repeat1, + [14205] = 5, + ACTIONS(782), 1, sym_comment, - ACTIONS(792), 1, + ACTIONS(784), 1, anon_sym_def, - ACTIONS(794), 1, + ACTIONS(786), 1, aux_sym_visibility_member_token1, STATE(70), 1, sym_attribyte_type, - ACTIONS(796), 3, + ACTIONS(788), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - [14551] = 6, + [14223] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(760), 1, + anon_sym_LBRACK, + ACTIONS(790), 1, + anon_sym_DASH_GT, + STATE(310), 1, + sym_self_type_binding, + STATE(389), 1, + sym_block, + [14245] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - STATE(384), 1, + STATE(357), 1, sym_namespace, - STATE(153), 2, + STATE(150), 2, sym_class_name, sym_interface_name, - [14571] = 6, + [14265] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - STATE(384), 1, + STATE(357), 1, sym_namespace, STATE(170), 2, sym_class_name, sym_interface_name, - [14591] = 7, + [14285] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(798), 1, + ACTIONS(792), 1, anon_sym_COMMA, - ACTIONS(800), 1, + ACTIONS(794), 1, anon_sym_RBRACK, - STATE(342), 1, + STATE(337), 1, aux_sym_tuple_type_repeat1, - [14613] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(770), 1, - anon_sym_LBRACK, - ACTIONS(802), 1, - anon_sym_DASH_GT, - STATE(295), 1, - sym_self_type_binding, - STATE(450), 1, - sym_block, - [14635] = 6, + [14307] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(804), 1, - anon_sym_RPAREN, - ACTIONS(806), 1, + ACTIONS(796), 2, anon_sym_COMMA, - [14654] = 3, - ACTIONS(790), 1, + anon_sym_RBRACK, + [14324] = 6, + ACTIONS(3), 1, sym_comment, - ACTIONS(810), 1, + ACTIONS(11), 1, + sym__scope, + ACTIONS(746), 1, + sym_interface, + ACTIONS(798), 1, + sym_constant, + STATE(212), 1, + sym_interface_name, + STATE(386), 1, + sym_namespace, + [14343] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(768), 1, + sym_constant, + STATE(305), 1, + sym_type_variable, + STATE(354), 1, + sym_generics_variance, + ACTIONS(772), 2, + anon_sym_out, + anon_sym_in, + [14360] = 3, + ACTIONS(782), 1, + sym_comment, + ACTIONS(802), 1, aux_sym_visibility_member_token1, - ACTIONS(808), 4, + ACTIONS(800), 4, anon_sym_def, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - [14667] = 6, + [14373] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(232), 1, + STATE(223), 1, sym_use_clause, - STATE(233), 1, + STATE(227), 1, sym_class_name, - STATE(361), 1, - sym_namespace, - [14686] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(754), 1, - sym_interface, - ACTIONS(812), 1, - sym_constant, - STATE(217), 1, - sym_interface_name, - STATE(362), 1, + STATE(382), 1, sym_namespace, - [14705] = 6, + [14392] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(233), 1, + STATE(227), 1, sym_class_name, - STATE(235), 1, + STATE(230), 1, sym_use_clause, - STATE(361), 1, - sym_namespace, - [14724] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(812), 1, - sym_constant, - ACTIONS(814), 1, - sym_identifier, - STATE(325), 1, - sym_alias_name, - STATE(365), 1, + STATE(382), 1, sym_namespace, - [14743] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(816), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [14760] = 6, + [14411] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(818), 1, + ACTIONS(804), 1, anon_sym_RPAREN, - ACTIONS(820), 1, + ACTIONS(806), 1, anon_sym_COMMA, - [14779] = 5, + [14430] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(822), 2, + ACTIONS(808), 2, anon_sym_COMMA, - anon_sym_RBRACK, - [14796] = 5, + anon_sym_RBRACE, + [14447] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, + ACTIONS(11), 1, + sym__scope, + ACTIONS(798), 1, sym_constant, - STATE(287), 1, - sym_type_variable, - STATE(396), 1, - sym_generics_variance, - ACTIONS(780), 2, - anon_sym_out, - anon_sym_in, - [14813] = 4, - ACTIONS(790), 1, - sym_comment, - ACTIONS(824), 1, - anon_sym_SQUOTE, - STATE(311), 1, - aux_sym_string_literal_repeat2, - ACTIONS(826), 2, - sym_single_quote_string_body, - sym_escape_sequence, - [14827] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(830), 1, - anon_sym_LT, - STATE(368), 1, - sym_generics_bound, - ACTIONS(828), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [14841] = 5, + ACTIONS(810), 1, + sym_identifier, + STATE(336), 1, + sym_alias_name, + STATE(380), 1, + sym_namespace, + [14466] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(832), 1, - anon_sym_RBRACE, - [14857] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(830), 1, - anon_sym_LT, - STATE(392), 1, - sym_generics_bound, - ACTIONS(834), 2, + ACTIONS(812), 1, + anon_sym_RPAREN, + ACTIONS(814), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [14871] = 5, + [14485] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(816), 1, + anon_sym_RPAREN, + ACTIONS(379), 3, + anon_sym_PIPE, anon_sym_AMP, - ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(836), 1, - anon_sym_RBRACE, - [14887] = 4, - ACTIONS(790), 1, + [14497] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(838), 1, + ACTIONS(818), 1, anon_sym_DQUOTE, - STATE(309), 1, + STATE(288), 1, aux_sym_string_literal_repeat1, - ACTIONS(840), 2, + ACTIONS(820), 2, sym_double_quote_string_body, sym_escape_sequence, - [14901] = 4, - ACTIONS(790), 1, + [14511] = 4, + ACTIONS(3), 1, sym_comment, - ACTIONS(838), 1, - anon_sym_SQUOTE, - STATE(310), 1, - aux_sym_string_literal_repeat2, - ACTIONS(842), 2, - sym_single_quote_string_body, - sym_escape_sequence, - [14915] = 2, + ACTIONS(824), 1, + anon_sym_LT, + STATE(355), 1, + sym_generics_bound, + ACTIONS(822), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [14525] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(844), 4, + ACTIONS(826), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [14925] = 5, + [14535] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(846), 1, - anon_sym_RBRACE, - [14941] = 5, - ACTIONS(3), 1, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + STATE(173), 1, + sym_class_name, + STATE(410), 1, + sym_namespace, + [14551] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(848), 1, - anon_sym_DASH_GT, - STATE(414), 1, - sym_block, - [14957] = 3, + ACTIONS(828), 1, + anon_sym_DQUOTE, + STATE(298), 1, + aux_sym_string_literal_repeat1, + ACTIONS(830), 2, + sym_double_quote_string_body, + sym_escape_sequence, + [14565] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 2, + ACTIONS(832), 2, sym_interface, sym_identifier, - ACTIONS(852), 2, + ACTIONS(834), 2, sym_constant, anon_sym_STAR, - [14969] = 5, + [14577] = 4, + ACTIONS(782), 1, + sym_comment, + ACTIONS(828), 1, + anon_sym_SQUOTE, + STATE(296), 1, + aux_sym_string_literal_repeat2, + ACTIONS(836), 2, + sym_single_quote_string_body, + sym_escape_sequence, + [14591] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(714), 1, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(838), 1, + anon_sym_RBRACE, + [14607] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - ACTIONS(802), 1, + ACTIONS(840), 1, anon_sym_DASH_GT, - STATE(450), 1, + STATE(460), 1, sym_block, - [14985] = 3, + [14623] = 4, + ACTIONS(782), 1, + sym_comment, + ACTIONS(842), 1, + anon_sym_DQUOTE, + STATE(298), 1, + aux_sym_string_literal_repeat1, + ACTIONS(830), 2, + sym_double_quote_string_body, + sym_escape_sequence, + [14637] = 4, + ACTIONS(782), 1, + sym_comment, + ACTIONS(842), 1, + anon_sym_SQUOTE, + STATE(296), 1, + aux_sym_string_literal_repeat2, + ACTIONS(836), 2, + sym_single_quote_string_body, + sym_escape_sequence, + [14651] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(854), 1, - anon_sym_RPAREN, - ACTIONS(363), 3, - anon_sym_PIPE, + ACTIONS(844), 2, + sym_interface, + sym_identifier, + ACTIONS(846), 2, + sym_constant, + anon_sym_STAR, + [14663] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, anon_sym_AMP, + ACTIONS(333), 1, anon_sym_QMARK, - [14997] = 2, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(848), 1, + anon_sym_RBRACE, + [14679] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(856), 4, + ACTIONS(850), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15007] = 3, + [14689] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(858), 2, - sym_interface, - sym_identifier, - ACTIONS(860), 2, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, sym_constant, - anon_sym_STAR, - [15019] = 2, + STATE(9), 1, + sym_class_name, + STATE(410), 1, + sym_namespace, + [14705] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(862), 4, + ACTIONS(852), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15029] = 4, - ACTIONS(790), 1, + [14715] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(864), 1, + ACTIONS(818), 1, anon_sym_SQUOTE, - STATE(302), 1, + STATE(289), 1, aux_sym_string_literal_repeat2, - ACTIONS(866), 2, + ACTIONS(854), 2, sym_single_quote_string_body, sym_escape_sequence, - [15043] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(869), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [15053] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(830), 1, - anon_sym_LT, - STATE(358), 1, - sym_generics_bound, - ACTIONS(871), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [15067] = 5, - ACTIONS(3), 1, + [14729] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(873), 1, - anon_sym_DASH_GT, - STATE(407), 1, - sym_block, - [15083] = 5, + ACTIONS(856), 1, + anon_sym_SQUOTE, + STATE(296), 1, + aux_sym_string_literal_repeat2, + ACTIONS(858), 2, + sym_single_quote_string_body, + sym_escape_sequence, + [14743] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(875), 1, + ACTIONS(861), 1, anon_sym_RBRACK, - [15099] = 4, - ACTIONS(790), 1, - sym_comment, - ACTIONS(824), 1, - anon_sym_DQUOTE, - STATE(312), 1, - aux_sym_string_literal_repeat1, - ACTIONS(877), 2, - sym_double_quote_string_body, - sym_escape_sequence, - [15113] = 4, - ACTIONS(790), 1, - sym_comment, - ACTIONS(879), 1, - anon_sym_DQUOTE, - STATE(308), 1, - aux_sym_string_literal_repeat1, - ACTIONS(881), 2, - sym_double_quote_string_body, - sym_escape_sequence, - [15127] = 4, - ACTIONS(790), 1, + [14759] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(884), 1, + ACTIONS(863), 1, anon_sym_DQUOTE, - STATE(308), 1, + STATE(298), 1, aux_sym_string_literal_repeat1, - ACTIONS(886), 2, + ACTIONS(865), 2, sym_double_quote_string_body, sym_escape_sequence, - [15141] = 4, - ACTIONS(790), 1, + [14773] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(884), 1, + ACTIONS(868), 1, anon_sym_SQUOTE, - STATE(302), 1, + STATE(285), 1, aux_sym_string_literal_repeat2, - ACTIONS(888), 2, + ACTIONS(870), 2, sym_single_quote_string_body, sym_escape_sequence, - [15155] = 4, - ACTIONS(790), 1, + [14787] = 5, + ACTIONS(3), 1, sym_comment, - ACTIONS(890), 1, - anon_sym_SQUOTE, - STATE(302), 1, - aux_sym_string_literal_repeat2, - ACTIONS(888), 2, - sym_single_quote_string_body, - sym_escape_sequence, - [15169] = 4, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(677), 1, + anon_sym_QMARK2, ACTIONS(790), 1, + anon_sym_DASH_GT, + STATE(389), 1, + sym_block, + [14803] = 3, + ACTIONS(3), 1, sym_comment, - ACTIONS(890), 1, + ACTIONS(872), 2, + sym_interface, + sym_identifier, + ACTIONS(874), 2, + sym_constant, + anon_sym_STAR, + [14815] = 4, + ACTIONS(782), 1, + sym_comment, + ACTIONS(868), 1, anon_sym_DQUOTE, - STATE(308), 1, + STATE(283), 1, aux_sym_string_literal_repeat1, - ACTIONS(886), 2, + ACTIONS(876), 2, sym_double_quote_string_body, sym_escape_sequence, - [15183] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(892), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [15193] = 5, + [14829] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(180), 1, + STATE(8), 1, sym_class_name, - STATE(463), 1, + STATE(410), 1, sym_namespace, - [15209] = 5, + [14845] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(878), 1, + anon_sym_RBRACE, + [14861] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(824), 1, + anon_sym_LT, + STATE(351), 1, + sym_generics_bound, + ACTIONS(880), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [14875] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(824), 1, + anon_sym_LT, + STATE(356), 1, + sym_generics_bound, + ACTIONS(882), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [14889] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(8), 1, + STATE(174), 1, sym_class_name, - STATE(463), 1, + STATE(410), 1, sym_namespace, - [15225] = 5, + [14905] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(155), 1, - sym_class_name, - STATE(463), 1, + STATE(410), 1, sym_namespace, - [15241] = 5, + STATE(444), 1, + sym_class_name, + [14921] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(182), 1, + STATE(155), 1, sym_class_name, - STATE(463), 1, + STATE(410), 1, sym_namespace, - [15257] = 2, + [14937] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(894), 4, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(884), 1, + anon_sym_DASH_GT, + STATE(438), 1, + sym_block, + [14953] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(886), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15267] = 5, + [14963] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(35), 1, - sym_constant, - STATE(424), 1, - sym_class_name, - STATE(463), 1, - sym_namespace, - [15283] = 2, + ACTIONS(888), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [14973] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(896), 4, + ACTIONS(890), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15293] = 3, + [14983] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(898), 2, - sym_interface, - sym_identifier, - ACTIONS(900), 2, - sym_constant, - anon_sym_STAR, - [15305] = 5, + ACTIONS(892), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [14993] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(35), 1, - sym_constant, - STATE(9), 1, - sym_class_name, - STATE(463), 1, - sym_namespace, - [15321] = 4, + ACTIONS(894), 1, + anon_sym_COMMA, + ACTIONS(897), 1, + anon_sym_RBRACE, + STATE(315), 1, + aux_sym_record_type_repeat1, + [15006] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(902), 1, + ACTIONS(899), 1, anon_sym_COMMA, - ACTIONS(904), 1, + ACTIONS(902), 1, anon_sym_RBRACK, - STATE(346), 1, + STATE(316), 1, aux_sym_module_type_parameters_repeat1, - [15334] = 4, + [15019] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(904), 1, + anon_sym_RPAREN, ACTIONS(906), 1, anon_sym_COMMA, - ACTIONS(908), 1, - anon_sym_RBRACK, - STATE(334), 1, - aux_sym_method_type_parameters_repeat1, - [15347] = 4, + STATE(331), 1, + aux_sym_optional_positionals_repeat1, + [15032] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(79), 1, - anon_sym_LBRACK, - ACTIONS(910), 1, - anon_sym_EQ2, - STATE(441), 1, - sym_module_type_parameters, - [15360] = 4, + ACTIONS(909), 1, + anon_sym_COMMA, + ACTIONS(911), 1, + anon_sym_RBRACE, + STATE(324), 1, + aux_sym_record_type_repeat1, + [15045] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(912), 1, - anon_sym_LPAREN, - ACTIONS(914), 1, + ACTIONS(913), 1, + anon_sym_RPAREN, + ACTIONS(915), 1, + anon_sym_COMMA, + STATE(326), 1, + aux_sym_required_positionals_repeat1, + [15058] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(764), 3, + anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_COLON, - ACTIONS(916), 1, - anon_sym_LPAREN_RPAREN, - [15373] = 4, + [15067] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(918), 1, - sym_identifier, + anon_sym_RPAREN, ACTIONS(920), 1, - anon_sym_RBRACE, - STATE(339), 1, - sym__record_type_single, - [15386] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(822), 1, - anon_sym_RBRACK, - ACTIONS(922), 1, anon_sym_COMMA, - STATE(328), 1, - aux_sym_tuple_type_repeat1, - [15399] = 4, + STATE(321), 1, + aux_sym_required_positionals_repeat1, + [15080] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(925), 1, + ACTIONS(923), 1, sym_identifier, - ACTIONS(927), 1, - sym_constant, - ACTIONS(929), 1, - sym_interface, - [15412] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(918), 1, - sym_identifier, - ACTIONS(931), 1, + ACTIONS(925), 1, anon_sym_RBRACE, - STATE(371), 1, + STATE(377), 1, sym__record_type_single, - [15425] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(933), 1, - anon_sym_COMMA, - ACTIONS(936), 1, - anon_sym_RBRACE, - STATE(331), 1, - aux_sym_record_type_repeat1, - [15438] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(938), 3, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LT, - [15447] = 4, + [15093] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(940), 1, + ACTIONS(927), 1, anon_sym_RPAREN, - ACTIONS(942), 1, + ACTIONS(929), 1, anon_sym_COMMA, - STATE(354), 1, - aux_sym_optional_positionals_repeat1, - [15460] = 4, + STATE(321), 1, + aux_sym_required_positionals_repeat1, + [15106] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(945), 1, + ACTIONS(932), 1, anon_sym_COMMA, - ACTIONS(948), 1, - anon_sym_RBRACK, - STATE(334), 1, - aux_sym_method_type_parameters_repeat1, - [15473] = 4, + ACTIONS(934), 1, + anon_sym_RBRACE, + STATE(315), 1, + aux_sym_record_type_repeat1, + [15119] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(950), 1, + ACTIONS(936), 1, anon_sym_LPAREN, - ACTIONS(952), 1, + ACTIONS(938), 1, anon_sym_COLON, - ACTIONS(954), 1, + ACTIONS(940), 1, anon_sym_LPAREN_RPAREN, - [15486] = 2, + [15132] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(768), 3, + ACTIONS(942), 1, anon_sym_RPAREN, + ACTIONS(944), 1, anon_sym_COMMA, + STATE(321), 1, + aux_sym_required_positionals_repeat1, + [15145] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(947), 1, + anon_sym_LPAREN, + ACTIONS(949), 1, anon_sym_COLON, - [15495] = 4, + ACTIONS(951), 1, + anon_sym_LPAREN_RPAREN, + [15158] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - [15508] = 4, + [15171] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(956), 1, - anon_sym_RPAREN, - ACTIONS(958), 1, - anon_sym_COMMA, - STATE(357), 1, - aux_sym_required_positionals_repeat1, - [15521] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(961), 1, - anon_sym_COMMA, - ACTIONS(963), 1, - anon_sym_RBRACE, - STATE(349), 1, - aux_sym_record_type_repeat1, - [15534] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(770), 1, - anon_sym_LBRACK, - ACTIONS(965), 1, - anon_sym_DASH_GT, - STATE(429), 1, - sym_self_type_binding, - [15547] = 2, + ACTIONS(953), 1, + sym_identifier, + ACTIONS(955), 1, + sym_constant, + ACTIONS(957), 1, + sym_interface, + [15184] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(967), 3, + ACTIONS(959), 3, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15556] = 4, + [15193] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(798), 1, + ACTIONS(961), 1, + anon_sym_RPAREN, + ACTIONS(963), 1, anon_sym_COMMA, - ACTIONS(969), 1, - anon_sym_RBRACK, - STATE(328), 1, - aux_sym_tuple_type_repeat1, - [15569] = 4, + STATE(349), 1, + aux_sym_optional_positionals_repeat1, + [15206] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(971), 1, - anon_sym_RPAREN, - ACTIONS(973), 1, - anon_sym_COMMA, - STATE(357), 1, - aux_sym_required_positionals_repeat1, - [15582] = 4, + ACTIONS(760), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_DASH_GT, + STATE(420), 1, + sym_self_type_binding, + [15219] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(906), 1, - anon_sym_COMMA, - ACTIONS(976), 1, + ACTIONS(796), 1, anon_sym_RBRACK, - STATE(324), 1, - aux_sym_method_type_parameters_repeat1, - [15595] = 4, + ACTIONS(968), 1, + anon_sym_COMMA, + STATE(333), 1, + aux_sym_tuple_type_repeat1, + [15232] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(978), 1, - anon_sym_RPAREN, - ACTIONS(980), 1, + ACTIONS(195), 1, + anon_sym_RBRACK, + ACTIONS(971), 1, anon_sym_COMMA, - STATE(345), 1, - aux_sym_optional_positionals_repeat1, - [15608] = 4, + STATE(333), 1, + aux_sym_tuple_type_repeat1, + [15245] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(902), 1, + ACTIONS(973), 1, anon_sym_COMMA, - ACTIONS(983), 1, + ACTIONS(975), 1, anon_sym_RBRACK, - STATE(351), 1, + STATE(316), 1, aux_sym_module_type_parameters_repeat1, - [15621] = 4, + [15258] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(985), 1, - anon_sym_LPAREN, - ACTIONS(987), 1, - anon_sym_COLON, - ACTIONS(989), 1, - anon_sym_LPAREN_RPAREN, - [15634] = 4, + ACTIONS(79), 1, + anon_sym_LBRACK, + ACTIONS(977), 1, + anon_sym_EQ2, + STATE(428), 1, + sym_module_type_parameters, + [15271] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(991), 1, - anon_sym_RPAREN, - ACTIONS(993), 1, + ACTIONS(792), 1, anon_sym_COMMA, - STATE(338), 1, - aux_sym_required_positionals_repeat1, - [15647] = 4, + ACTIONS(979), 1, + anon_sym_RBRACK, + STATE(333), 1, + aux_sym_tuple_type_repeat1, + [15284] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(996), 1, - anon_sym_COMMA, - ACTIONS(998), 1, + ACTIONS(923), 1, + sym_identifier, + ACTIONS(981), 1, anon_sym_RBRACE, - STATE(331), 1, - aux_sym_record_type_repeat1, - [15660] = 4, + STATE(318), 1, + sym__record_type_single, + [15297] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(918), 1, + ACTIONS(923), 1, sym_identifier, - ACTIONS(1000), 1, + ACTIONS(983), 1, anon_sym_RBRACE, - STATE(371), 1, + STATE(377), 1, sym__record_type_single, - [15673] = 4, + [15310] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1002), 1, + ACTIONS(985), 1, anon_sym_COMMA, - ACTIONS(1005), 1, + ACTIONS(987), 1, anon_sym_RBRACK, - STATE(351), 1, - aux_sym_module_type_parameters_repeat1, - [15686] = 4, + STATE(342), 1, + aux_sym_method_type_parameters_repeat1, + [15323] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1007), 1, + ACTIONS(989), 1, anon_sym_LPAREN, - ACTIONS(1009), 1, + ACTIONS(991), 1, anon_sym_COLON, - ACTIONS(1011), 1, + ACTIONS(993), 1, anon_sym_LPAREN_RPAREN, - [15699] = 4, + [15336] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1013), 1, - anon_sym_RPAREN, - ACTIONS(1015), 1, + ACTIONS(985), 1, anon_sym_COMMA, - STATE(343), 1, - aux_sym_required_positionals_repeat1, - [15712] = 4, + ACTIONS(995), 1, + anon_sym_RBRACK, + STATE(344), 1, + aux_sym_method_type_parameters_repeat1, + [15349] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1018), 1, + ACTIONS(997), 1, anon_sym_RPAREN, - ACTIONS(1020), 1, + ACTIONS(999), 1, anon_sym_COMMA, - STATE(345), 1, - aux_sym_optional_positionals_repeat1, - [15725] = 4, + STATE(323), 1, + aux_sym_required_positionals_repeat1, + [15362] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, - anon_sym_RBRACK, - ACTIONS(1023), 1, + ACTIONS(1002), 1, anon_sym_COMMA, - STATE(328), 1, - aux_sym_tuple_type_repeat1, - [15738] = 4, + ACTIONS(1005), 1, + anon_sym_RBRACK, + STATE(344), 1, + aux_sym_method_type_parameters_repeat1, + [15375] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(770), 1, + ACTIONS(760), 1, anon_sym_LBRACK, - ACTIONS(1025), 1, + ACTIONS(1007), 1, anon_sym_DASH_GT, - STATE(416), 1, + STATE(436), 1, sym_self_type_binding, - [15751] = 4, + [15388] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1027), 1, - anon_sym_RPAREN, - ACTIONS(1029), 1, + ACTIONS(973), 1, anon_sym_COMMA, - STATE(357), 1, - aux_sym_required_positionals_repeat1, - [15764] = 2, + ACTIONS(1009), 1, + anon_sym_RBRACK, + STATE(335), 1, + aux_sym_module_type_parameters_repeat1, + [15401] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(828), 2, + ACTIONS(1011), 3, anon_sym_COMMA, anon_sym_RBRACK, - [15772] = 2, + anon_sym_LT, + [15410] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1013), 1, + anon_sym_LPAREN, + ACTIONS(1015), 1, + anon_sym_COLON, + ACTIONS(1017), 1, + anon_sym_LPAREN_RPAREN, + [15423] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1019), 1, + anon_sym_RPAREN, + ACTIONS(1021), 1, + anon_sym_COMMA, + STATE(349), 1, + aux_sym_optional_positionals_repeat1, + [15436] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1032), 2, + ACTIONS(1024), 1, anon_sym_RPAREN, + ACTIONS(1026), 1, anon_sym_COMMA, - [15780] = 3, + [15446] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1034), 1, + ACTIONS(882), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [15454] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1028), 1, sym_self, - STATE(207), 1, + STATE(210), 1, sym_singleton_method_name, - [15790] = 3, + [15464] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(927), 1, - sym_constant, - ACTIONS(1036), 1, - anon_sym_STAR, - [15800] = 3, + ACTIONS(669), 1, + anon_sym_LPAREN, + STATE(345), 1, + sym_parameters, + [15474] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1038), 1, + ACTIONS(768), 1, sym_constant, - ACTIONS(1040), 1, - sym_interface, - [15810] = 2, + STATE(306), 1, + sym_type_variable, + [15484] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1005), 2, + ACTIONS(880), 2, anon_sym_COMMA, anon_sym_RBRACK, - [15818] = 2, + [15492] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1042), 2, + ACTIONS(1030), 2, anon_sym_COMMA, anon_sym_RBRACK, - [15826] = 3, + [15500] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1038), 1, + ACTIONS(955), 1, sym_constant, - ACTIONS(1044), 1, - sym_identifier, - [15836] = 3, + ACTIONS(1032), 1, + sym_interface, + [15510] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(213), 1, - sym__scope, - ACTIONS(1046), 1, - anon_sym_COLON, - [15846] = 2, + ACTIONS(1034), 1, + sym_self, + STATE(210), 1, + sym_singleton_method_name, + [15520] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1048), 2, + ACTIONS(1036), 2, + anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_RBRACK, - [15854] = 2, + [15528] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(834), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [15862] = 3, + ACTIONS(213), 1, + sym__scope, + ACTIONS(1038), 1, + anon_sym_COLON, + [15538] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1050), 1, + ACTIONS(1040), 1, anon_sym_RPAREN, - ACTIONS(1052), 1, + ACTIONS(1042), 1, anon_sym_COMMA, - [15872] = 3, + [15548] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(918), 1, + ACTIONS(923), 1, sym_identifier, - STATE(371), 1, + STATE(377), 1, sym__record_type_single, - [15882] = 2, + [15558] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1044), 2, + anon_sym_DOT, + anon_sym_QMARK_DOT, + [15566] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(768), 1, + sym_constant, + STATE(305), 1, + sym_type_variable, + [15576] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1054), 2, + ACTIONS(1024), 1, + anon_sym_RPAREN, + ACTIONS(1046), 1, anon_sym_COMMA, - anon_sym_RBRACE, - [15890] = 3, + [15586] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(710), 1, - anon_sym_LPAREN, - STATE(340), 1, - sym_parameters, - [15900] = 2, + ACTIONS(918), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [15594] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1027), 2, + ACTIONS(1024), 1, anon_sym_RPAREN, + ACTIONS(1048), 1, anon_sym_COMMA, - [15908] = 3, + [15604] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, + ACTIONS(1050), 1, anon_sym_RPAREN, - ACTIONS(1058), 1, + ACTIONS(1052), 1, anon_sym_COMMA, - [15918] = 3, + [15614] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, + ACTIONS(1050), 1, anon_sym_RPAREN, - ACTIONS(1060), 1, + ACTIONS(1054), 1, anon_sym_COMMA, - [15928] = 2, + [15624] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1062), 2, + ACTIONS(1056), 1, anon_sym_RPAREN, + ACTIONS(1058), 1, anon_sym_COMMA, - [15936] = 3, + [15634] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(428), 1, + STATE(422), 1, sym_var_name, - [15946] = 3, + [15644] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1056), 1, anon_sym_RPAREN, - ACTIONS(1064), 1, + ACTIONS(1060), 1, anon_sym_COMMA, - [15956] = 3, + [15654] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, + ACTIONS(1050), 1, anon_sym_RPAREN, - ACTIONS(1068), 1, + ACTIONS(1062), 1, anon_sym_COMMA, - [15966] = 3, + [15664] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, + ACTIONS(1056), 1, anon_sym_RPAREN, - ACTIONS(1070), 1, + ACTIONS(1064), 1, anon_sym_COMMA, - [15976] = 3, + [15674] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, + ACTIONS(1066), 2, anon_sym_RPAREN, - ACTIONS(1072), 1, anon_sym_COMMA, - [15986] = 2, + [15682] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1074), 2, + ACTIONS(1068), 2, anon_sym_RPAREN, anon_sym_COMMA, - [15994] = 3, + [15690] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, - sym_constant, - STATE(287), 1, - sym_type_variable, - [16004] = 3, + ACTIONS(1070), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [15698] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(927), 1, - sym_constant, - ACTIONS(1040), 1, - sym_interface, - [16014] = 3, + ACTIONS(669), 1, + anon_sym_LPAREN, + STATE(332), 1, + sym_parameters, + [15708] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(207), 1, + sym__scope, + ACTIONS(1072), 1, + anon_sym_COLON, + [15718] = 3, ACTIONS(3), 1, sym_comment, + ACTIONS(1074), 1, + sym_identifier, ACTIONS(1076), 1, - anon_sym_RPAREN, + sym_constant, + [15728] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1005), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [15736] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(955), 1, + sym_constant, ACTIONS(1078), 1, + anon_sym_STAR, + [15746] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(768), 1, + sym_constant, + STATE(381), 1, + sym_type_variable, + [15756] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(902), 2, anon_sym_COMMA, - [16024] = 3, + anon_sym_RBRACK, + [15764] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 1, - anon_sym_RPAREN, - ACTIONS(1080), 1, + ACTIONS(1080), 2, anon_sym_COMMA, - [16034] = 3, + anon_sym_RBRACK, + [15772] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, + ACTIONS(1032), 1, + sym_interface, + ACTIONS(1076), 1, + sym_constant, + [15782] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(768), 1, sym_constant, - STATE(394), 1, + STATE(340), 1, sym_type_variable, - [16044] = 3, + [15792] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 1, + ACTIONS(1082), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [15800] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(884), 1, + anon_sym_DASH_GT, + [15807] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1084), 1, + anon_sym_COLON, + [15814] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1086), 1, + anon_sym_LPAREN, + [15821] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(993), 1, anon_sym_RPAREN, - ACTIONS(1082), 1, - anon_sym_COMMA, - [16054] = 2, + [15828] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1084), 2, - anon_sym_DOT, - anon_sym_QMARK_DOT, - [16062] = 3, + ACTIONS(991), 1, + anon_sym_COLON, + [15835] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(207), 1, + ACTIONS(213), 1, sym__scope, - ACTIONS(1086), 1, - anon_sym_COLON, - [16072] = 3, + [15842] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1088), 1, - sym_self, - STATE(207), 1, - sym_singleton_method_name, - [16082] = 2, + anon_sym_GT, + [15849] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1090), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [16090] = 3, + ACTIONS(1088), 1, + anon_sym_PIPE, + [15856] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, - sym_constant, - STATE(344), 1, - sym_type_variable, - [16100] = 2, + ACTIONS(1090), 1, + sym_ivar_name, + [15863] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(948), 2, - anon_sym_COMMA, + ACTIONS(1092), 1, + sym_ivar_name, + [15870] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1088), 1, anon_sym_RBRACK, - [16108] = 3, + [15877] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(710), 1, - anon_sym_LPAREN, - STATE(356), 1, - sym_parameters, - [16118] = 3, + ACTIONS(1094), 1, + anon_sym_COLON, + [15884] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, - sym_constant, - STATE(289), 1, - sym_type_variable, - [16128] = 2, + ACTIONS(1088), 1, + anon_sym_RPAREN, + [15891] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1092), 1, + ACTIONS(1096), 1, anon_sym_RPAREN, - [16135] = 2, + [15898] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1094), 1, - anon_sym_COLON, - [16142] = 2, + ACTIONS(1088), 1, + anon_sym_RBRACE, + [15905] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1096), 1, - anon_sym_DOT, - [16149] = 2, + ACTIONS(840), 1, + anon_sym_DASH_GT, + [15912] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1098), 1, anon_sym_COLON, - [16156] = 2, + [15919] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1100), 1, sym_ivar_name, - [16163] = 2, + [15926] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1102), 1, - anon_sym_DOT, - [16170] = 2, + anon_sym_DASH_GT, + [15933] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1104), 1, - anon_sym_COLON, - [16177] = 2, + sym_constant, + [15940] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(873), 1, - anon_sym_DASH_GT, - [16184] = 2, + ACTIONS(1106), 1, + anon_sym_COLON, + [15947] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1106), 1, - anon_sym_RPAREN, - [16191] = 2, + ACTIONS(955), 1, + sym_constant, + [15954] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1108), 1, - sym_ivar_name, - [16198] = 2, + sym_constant, + [15961] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1110), 1, - anon_sym_DASH_GT, - [16205] = 2, + ACTIONS(207), 1, + sym__scope, + [15968] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1112), 1, + ACTIONS(1110), 1, anon_sym_COLON, - [16212] = 2, + [15975] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(802), 1, - anon_sym_DASH_GT, - [16219] = 2, + ACTIONS(1112), 1, + anon_sym_COLON, + [15982] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1114), 1, - anon_sym_LBRACE, - [16226] = 2, + anon_sym_RPAREN, + [15989] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 1, + ACTIONS(1116), 1, anon_sym_RPAREN, - [16233] = 2, + [15996] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1116), 1, - sym_self, - [16240] = 2, + ACTIONS(1114), 1, + anon_sym_RPAREN, + [16003] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1118), 1, - anon_sym_DASH_GT, - [16247] = 2, + anon_sym_COLON, + [16010] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1120), 1, - anon_sym_DASH_GT, - [16254] = 2, + anon_sym_COLON, + [16017] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1122), 1, - anon_sym_COLON, - [16261] = 2, + anon_sym_DASH_GT, + [16024] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(965), 1, - anon_sym_DASH_GT, - [16268] = 2, + ACTIONS(1024), 1, + anon_sym_RPAREN, + [16031] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1124), 1, - anon_sym_DOT, - [16275] = 2, + anon_sym_COLON, + [16038] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1126), 1, - anon_sym_COLON, - [16282] = 2, + anon_sym_RPAREN, + [16045] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1056), 1, + anon_sym_RPAREN, + [16052] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1128), 1, - anon_sym_DOT, - [16289] = 2, + sym_self, + [16059] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1130), 1, - sym_ivar_name, - [16296] = 2, + anon_sym_RPAREN, + [16066] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1132), 1, - anon_sym_COLON, - [16303] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(987), 1, - anon_sym_COLON, - [16310] = 2, + anon_sym_DASH_GT, + [16073] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1134), 1, - anon_sym_RPAREN, - [16317] = 2, + anon_sym_EQ2, + [16080] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1136), 1, - anon_sym_RPAREN, - [16324] = 2, + anon_sym_COLON, + [16087] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1138), 1, sym_constant, - [16331] = 2, + [16094] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1140), 1, - anon_sym_COLON, - [16338] = 2, + ts_builtin_sym_end, + [16101] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1142), 1, anon_sym_RPAREN, - [16345] = 2, + [16108] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1050), 1, + anon_sym_RPAREN, + [16115] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1144), 1, anon_sym_COLON, - [16352] = 2, + [16122] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1146), 1, - anon_sym_DASH_GT, - [16359] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1142), 1, - anon_sym_RPAREN, - [16366] = 2, + anon_sym_def, + [16129] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, - anon_sym_RPAREN, - [16373] = 2, + ACTIONS(966), 1, + anon_sym_DASH_GT, + [16136] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1148), 1, - anon_sym_COLON, - [16380] = 2, + anon_sym_DASH_GT, + [16143] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1150), 1, - anon_sym_RPAREN, - [16387] = 2, + anon_sym_DASH_GT, + [16150] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1152), 1, - anon_sym_DASH_GT, - [16394] = 2, + anon_sym_COLON, + [16157] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1154), 1, - sym_ivar_name, - [16401] = 2, + anon_sym_QMARK2, + [16164] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(914), 1, - anon_sym_COLON, - [16408] = 2, + ACTIONS(1040), 1, + anon_sym_RPAREN, + [16171] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1156), 1, - anon_sym_COLON, - [16415] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1056), 1, - anon_sym_RPAREN, - [16422] = 2, + anon_sym_DOT, + [16178] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1158), 1, - anon_sym_LPAREN, - [16429] = 2, + anon_sym_DOT, + [16185] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1160), 1, anon_sym_RPAREN, - [16436] = 2, + [16192] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1162), 1, - anon_sym_EQ2, - [16443] = 2, + anon_sym_DOT, + [16199] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(213), 1, - sym__scope, - [16450] = 2, + ACTIONS(1164), 1, + anon_sym_RPAREN, + [16206] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1164), 1, - anon_sym_def, - [16457] = 2, + ACTIONS(949), 1, + anon_sym_COLON, + [16213] = 2, ACTIONS(3), 1, sym_comment, + ACTIONS(802), 1, + anon_sym_def, + [16220] = 2, + ACTIONS(782), 1, + sym_comment, ACTIONS(1166), 1, - sym_constant, - [16464] = 2, + sym__annotation_text_without_angle_bracket, + [16227] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1168), 1, - anon_sym_DASH_GT, - [16471] = 2, + sym_ivar_name, + [16234] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1170), 1, - anon_sym_COLON, - [16478] = 2, - ACTIONS(3), 1, + anon_sym_DOT, + [16241] = 2, + ACTIONS(782), 1, sym_comment, ACTIONS(1172), 1, - anon_sym_DOT, - [16485] = 2, - ACTIONS(3), 1, + sym__annotation_text_without_bar, + [16248] = 2, + ACTIONS(782), 1, sym_comment, ACTIONS(1174), 1, - anon_sym_QMARK2, - [16492] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1050), 1, - anon_sym_RPAREN, - [16499] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(848), 1, - anon_sym_DASH_GT, - [16506] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1009), 1, - anon_sym_COLON, - [16513] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(916), 1, - anon_sym_RPAREN, - [16520] = 2, + sym__annotation_text_without_bracket, + [16255] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1176), 1, - sym_ivar_name, - [16527] = 2, + anon_sym_COLON, + [16262] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1178), 1, - anon_sym_RPAREN, - [16534] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(207), 1, - sym__scope, - [16541] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(810), 1, - anon_sym_def, - [16548] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1180), 1, - anon_sym_GT, - [16555] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1180), 1, - anon_sym_PIPE, - [16562] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1180), 1, - anon_sym_RBRACK, - [16569] = 2, + anon_sym_DOT, + [16269] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1180), 1, - anon_sym_RPAREN, - [16576] = 2, + ACTIONS(1015), 1, + anon_sym_COLON, + [16276] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1180), 1, - anon_sym_RBRACE, - [16583] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1011), 1, - anon_sym_RPAREN, - [16590] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(927), 1, - sym_constant, - [16597] = 2, - ACTIONS(3), 1, + sym_ivar_name, + [16283] = 2, + ACTIONS(782), 1, sym_comment, ACTIONS(1182), 1, - anon_sym_COLON, - [16604] = 2, - ACTIONS(3), 1, + sym__annotation_text_without_parenthesis, + [16290] = 2, + ACTIONS(782), 1, sym_comment, ACTIONS(1184), 1, - sym_constant, - [16611] = 2, + sym__annotation_text_without_brace, + [16297] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1186), 1, - ts_builtin_sym_end, - [16618] = 2, + anon_sym_DASH_GT, + [16304] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1188), 1, anon_sym_COLON, - [16625] = 2, - ACTIONS(790), 1, - sym_comment, - ACTIONS(1190), 1, - sym__annotation_text_without_angle_bracket, - [16632] = 2, - ACTIONS(790), 1, - sym_comment, - ACTIONS(1192), 1, - sym__annotation_text_without_bar, - [16639] = 2, - ACTIONS(790), 1, + [16311] = 2, + ACTIONS(3), 1, sym_comment, - ACTIONS(1194), 1, - sym__annotation_text_without_bracket, - [16646] = 2, ACTIONS(790), 1, + anon_sym_DASH_GT, + [16318] = 2, + ACTIONS(3), 1, sym_comment, - ACTIONS(1196), 1, - sym__annotation_text_without_parenthesis, - [16653] = 2, - ACTIONS(790), 1, + ACTIONS(1190), 1, + anon_sym_LBRACE, + [16325] = 2, + ACTIONS(3), 1, sym_comment, - ACTIONS(1198), 1, - sym__annotation_text_without_brace, - [16660] = 2, + ACTIONS(1017), 1, + anon_sym_RPAREN, + [16332] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1200), 1, + ACTIONS(1192), 1, anon_sym_DOT, - [16667] = 2, + [16339] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1202), 1, + ACTIONS(1194), 1, anon_sym_DOT, - [16674] = 2, + [16346] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1204), 1, + ACTIONS(1196), 1, anon_sym_COLON, }; @@ -17628,473 +17343,465 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(6)] = 516, [SMALL_STATE(7)] = 639, [SMALL_STATE(8)] = 762, - [SMALL_STATE(9)] = 888, - [SMALL_STATE(10)] = 1014, - [SMALL_STATE(11)] = 1131, - [SMALL_STATE(12)] = 1248, - [SMALL_STATE(13)] = 1359, - [SMALL_STATE(14)] = 1470, - [SMALL_STATE(15)] = 1581, - [SMALL_STATE(16)] = 1692, - [SMALL_STATE(17)] = 1803, - [SMALL_STATE(18)] = 1914, - [SMALL_STATE(19)] = 2025, - [SMALL_STATE(20)] = 2136, - [SMALL_STATE(21)] = 2247, - [SMALL_STATE(22)] = 2358, - [SMALL_STATE(23)] = 2469, - [SMALL_STATE(24)] = 2573, - [SMALL_STATE(25)] = 2674, - [SMALL_STATE(26)] = 2775, - [SMALL_STATE(27)] = 2876, - [SMALL_STATE(28)] = 2977, - [SMALL_STATE(29)] = 3078, - [SMALL_STATE(30)] = 3179, - [SMALL_STATE(31)] = 3280, - [SMALL_STATE(32)] = 3378, - [SMALL_STATE(33)] = 3476, - [SMALL_STATE(34)] = 3574, - [SMALL_STATE(35)] = 3672, - [SMALL_STATE(36)] = 3770, - [SMALL_STATE(37)] = 3868, - [SMALL_STATE(38)] = 3966, - [SMALL_STATE(39)] = 4064, - [SMALL_STATE(40)] = 4162, - [SMALL_STATE(41)] = 4260, - [SMALL_STATE(42)] = 4358, - [SMALL_STATE(43)] = 4456, - [SMALL_STATE(44)] = 4554, - [SMALL_STATE(45)] = 4652, - [SMALL_STATE(46)] = 4750, - [SMALL_STATE(47)] = 4848, - [SMALL_STATE(48)] = 4946, - [SMALL_STATE(49)] = 5044, - [SMALL_STATE(50)] = 5142, - [SMALL_STATE(51)] = 5240, - [SMALL_STATE(52)] = 5338, - [SMALL_STATE(53)] = 5436, - [SMALL_STATE(54)] = 5534, - [SMALL_STATE(55)] = 5632, - [SMALL_STATE(56)] = 5730, - [SMALL_STATE(57)] = 5828, - [SMALL_STATE(58)] = 5926, - [SMALL_STATE(59)] = 6024, - [SMALL_STATE(60)] = 6122, - [SMALL_STATE(61)] = 6220, - [SMALL_STATE(62)] = 6318, - [SMALL_STATE(63)] = 6416, - [SMALL_STATE(64)] = 6467, - [SMALL_STATE(65)] = 6518, - [SMALL_STATE(66)] = 6580, - [SMALL_STATE(67)] = 6642, - [SMALL_STATE(68)] = 6701, - [SMALL_STATE(69)] = 6760, - [SMALL_STATE(70)] = 6819, - [SMALL_STATE(71)] = 6878, - [SMALL_STATE(72)] = 6934, - [SMALL_STATE(73)] = 6990, - [SMALL_STATE(74)] = 7046, - [SMALL_STATE(75)] = 7102, - [SMALL_STATE(76)] = 7158, - [SMALL_STATE(77)] = 7214, - [SMALL_STATE(78)] = 7270, - [SMALL_STATE(79)] = 7326, - [SMALL_STATE(80)] = 7382, - [SMALL_STATE(81)] = 7427, - [SMALL_STATE(82)] = 7472, - [SMALL_STATE(83)] = 7521, - [SMALL_STATE(84)] = 7570, - [SMALL_STATE(85)] = 7619, - [SMALL_STATE(86)] = 7663, - [SMALL_STATE(87)] = 7707, - [SMALL_STATE(88)] = 7753, - [SMALL_STATE(89)] = 7797, - [SMALL_STATE(90)] = 7841, - [SMALL_STATE(91)] = 7885, - [SMALL_STATE(92)] = 7929, - [SMALL_STATE(93)] = 7973, - [SMALL_STATE(94)] = 8017, - [SMALL_STATE(95)] = 8060, - [SMALL_STATE(96)] = 8103, - [SMALL_STATE(97)] = 8146, - [SMALL_STATE(98)] = 8189, - [SMALL_STATE(99)] = 8232, - [SMALL_STATE(100)] = 8275, - [SMALL_STATE(101)] = 8318, - [SMALL_STATE(102)] = 8361, - [SMALL_STATE(103)] = 8404, - [SMALL_STATE(104)] = 8447, - [SMALL_STATE(105)] = 8490, - [SMALL_STATE(106)] = 8533, - [SMALL_STATE(107)] = 8576, - [SMALL_STATE(108)] = 8619, - [SMALL_STATE(109)] = 8666, - [SMALL_STATE(110)] = 8709, - [SMALL_STATE(111)] = 8756, - [SMALL_STATE(112)] = 8799, - [SMALL_STATE(113)] = 8842, - [SMALL_STATE(114)] = 8885, - [SMALL_STATE(115)] = 8932, - [SMALL_STATE(116)] = 8979, - [SMALL_STATE(117)] = 9022, - [SMALL_STATE(118)] = 9065, - [SMALL_STATE(119)] = 9108, - [SMALL_STATE(120)] = 9153, - [SMALL_STATE(121)] = 9196, - [SMALL_STATE(122)] = 9243, - [SMALL_STATE(123)] = 9286, - [SMALL_STATE(124)] = 9329, - [SMALL_STATE(125)] = 9375, - [SMALL_STATE(126)] = 9421, - [SMALL_STATE(127)] = 9462, - [SMALL_STATE(128)] = 9513, - [SMALL_STATE(129)] = 9587, - [SMALL_STATE(130)] = 9663, - [SMALL_STATE(131)] = 9705, - [SMALL_STATE(132)] = 9747, - [SMALL_STATE(133)] = 9789, - [SMALL_STATE(134)] = 9824, - [SMALL_STATE(135)] = 9859, - [SMALL_STATE(136)] = 9895, - [SMALL_STATE(137)] = 9935, - [SMALL_STATE(138)] = 9975, - [SMALL_STATE(139)] = 10015, - [SMALL_STATE(140)] = 10055, - [SMALL_STATE(141)] = 10091, - [SMALL_STATE(142)] = 10131, - [SMALL_STATE(143)] = 10171, - [SMALL_STATE(144)] = 10209, - [SMALL_STATE(145)] = 10249, - [SMALL_STATE(146)] = 10289, - [SMALL_STATE(147)] = 10327, - [SMALL_STATE(148)] = 10367, - [SMALL_STATE(149)] = 10407, - [SMALL_STATE(150)] = 10445, - [SMALL_STATE(151)] = 10478, - [SMALL_STATE(152)] = 10511, - [SMALL_STATE(153)] = 10548, - [SMALL_STATE(154)] = 10585, - [SMALL_STATE(155)] = 10622, - [SMALL_STATE(156)] = 10655, - [SMALL_STATE(157)] = 10688, - [SMALL_STATE(158)] = 10725, - [SMALL_STATE(159)] = 10792, - [SMALL_STATE(160)] = 10825, - [SMALL_STATE(161)] = 10858, - [SMALL_STATE(162)] = 10891, - [SMALL_STATE(163)] = 10928, - [SMALL_STATE(164)] = 10961, - [SMALL_STATE(165)] = 10998, - [SMALL_STATE(166)] = 11035, - [SMALL_STATE(167)] = 11102, - [SMALL_STATE(168)] = 11169, - [SMALL_STATE(169)] = 11202, - [SMALL_STATE(170)] = 11239, - [SMALL_STATE(171)] = 11276, - [SMALL_STATE(172)] = 11309, - [SMALL_STATE(173)] = 11342, - [SMALL_STATE(174)] = 11375, - [SMALL_STATE(175)] = 11408, - [SMALL_STATE(176)] = 11445, - [SMALL_STATE(177)] = 11482, - [SMALL_STATE(178)] = 11519, - [SMALL_STATE(179)] = 11552, - [SMALL_STATE(180)] = 11585, - [SMALL_STATE(181)] = 11622, - [SMALL_STATE(182)] = 11655, - [SMALL_STATE(183)] = 11688, - [SMALL_STATE(184)] = 11721, - [SMALL_STATE(185)] = 11758, - [SMALL_STATE(186)] = 11795, - [SMALL_STATE(187)] = 11827, - [SMALL_STATE(188)] = 11859, - [SMALL_STATE(189)] = 11893, - [SMALL_STATE(190)] = 11925, - [SMALL_STATE(191)] = 11957, - [SMALL_STATE(192)] = 11988, - [SMALL_STATE(193)] = 12019, - [SMALL_STATE(194)] = 12050, - [SMALL_STATE(195)] = 12081, - [SMALL_STATE(196)] = 12112, - [SMALL_STATE(197)] = 12143, - [SMALL_STATE(198)] = 12174, - [SMALL_STATE(199)] = 12205, - [SMALL_STATE(200)] = 12236, - [SMALL_STATE(201)] = 12267, - [SMALL_STATE(202)] = 12298, - [SMALL_STATE(203)] = 12329, - [SMALL_STATE(204)] = 12360, - [SMALL_STATE(205)] = 12391, - [SMALL_STATE(206)] = 12422, - [SMALL_STATE(207)] = 12453, - [SMALL_STATE(208)] = 12484, - [SMALL_STATE(209)] = 12515, - [SMALL_STATE(210)] = 12546, - [SMALL_STATE(211)] = 12577, - [SMALL_STATE(212)] = 12608, - [SMALL_STATE(213)] = 12639, - [SMALL_STATE(214)] = 12670, - [SMALL_STATE(215)] = 12701, - [SMALL_STATE(216)] = 12732, - [SMALL_STATE(217)] = 12794, - [SMALL_STATE(218)] = 12855, - [SMALL_STATE(219)] = 12910, - [SMALL_STATE(220)] = 12965, - [SMALL_STATE(221)] = 13020, - [SMALL_STATE(222)] = 13075, - [SMALL_STATE(223)] = 13133, - [SMALL_STATE(224)] = 13191, + [SMALL_STATE(9)] = 887, + [SMALL_STATE(10)] = 1012, + [SMALL_STATE(11)] = 1128, + [SMALL_STATE(12)] = 1244, + [SMALL_STATE(13)] = 1354, + [SMALL_STATE(14)] = 1464, + [SMALL_STATE(15)] = 1568, + [SMALL_STATE(16)] = 1678, + [SMALL_STATE(17)] = 1788, + [SMALL_STATE(18)] = 1898, + [SMALL_STATE(19)] = 2008, + [SMALL_STATE(20)] = 2118, + [SMALL_STATE(21)] = 2228, + [SMALL_STATE(22)] = 2338, + [SMALL_STATE(23)] = 2448, + [SMALL_STATE(24)] = 2558, + [SMALL_STATE(25)] = 2659, + [SMALL_STATE(26)] = 2760, + [SMALL_STATE(27)] = 2861, + [SMALL_STATE(28)] = 2962, + [SMALL_STATE(29)] = 3063, + [SMALL_STATE(30)] = 3164, + [SMALL_STATE(31)] = 3265, + [SMALL_STATE(32)] = 3363, + [SMALL_STATE(33)] = 3461, + [SMALL_STATE(34)] = 3559, + [SMALL_STATE(35)] = 3657, + [SMALL_STATE(36)] = 3755, + [SMALL_STATE(37)] = 3853, + [SMALL_STATE(38)] = 3951, + [SMALL_STATE(39)] = 4049, + [SMALL_STATE(40)] = 4147, + [SMALL_STATE(41)] = 4245, + [SMALL_STATE(42)] = 4343, + [SMALL_STATE(43)] = 4441, + [SMALL_STATE(44)] = 4539, + [SMALL_STATE(45)] = 4637, + [SMALL_STATE(46)] = 4735, + [SMALL_STATE(47)] = 4833, + [SMALL_STATE(48)] = 4931, + [SMALL_STATE(49)] = 5029, + [SMALL_STATE(50)] = 5127, + [SMALL_STATE(51)] = 5225, + [SMALL_STATE(52)] = 5323, + [SMALL_STATE(53)] = 5421, + [SMALL_STATE(54)] = 5519, + [SMALL_STATE(55)] = 5617, + [SMALL_STATE(56)] = 5715, + [SMALL_STATE(57)] = 5813, + [SMALL_STATE(58)] = 5911, + [SMALL_STATE(59)] = 6009, + [SMALL_STATE(60)] = 6107, + [SMALL_STATE(61)] = 6205, + [SMALL_STATE(62)] = 6303, + [SMALL_STATE(63)] = 6401, + [SMALL_STATE(64)] = 6452, + [SMALL_STATE(65)] = 6503, + [SMALL_STATE(66)] = 6565, + [SMALL_STATE(67)] = 6627, + [SMALL_STATE(68)] = 6686, + [SMALL_STATE(69)] = 6745, + [SMALL_STATE(70)] = 6804, + [SMALL_STATE(71)] = 6863, + [SMALL_STATE(72)] = 6919, + [SMALL_STATE(73)] = 6975, + [SMALL_STATE(74)] = 7031, + [SMALL_STATE(75)] = 7087, + [SMALL_STATE(76)] = 7143, + [SMALL_STATE(77)] = 7199, + [SMALL_STATE(78)] = 7255, + [SMALL_STATE(79)] = 7311, + [SMALL_STATE(80)] = 7367, + [SMALL_STATE(81)] = 7412, + [SMALL_STATE(82)] = 7461, + [SMALL_STATE(83)] = 7506, + [SMALL_STATE(84)] = 7555, + [SMALL_STATE(85)] = 7604, + [SMALL_STATE(86)] = 7648, + [SMALL_STATE(87)] = 7692, + [SMALL_STATE(88)] = 7736, + [SMALL_STATE(89)] = 7780, + [SMALL_STATE(90)] = 7824, + [SMALL_STATE(91)] = 7868, + [SMALL_STATE(92)] = 7912, + [SMALL_STATE(93)] = 7958, + [SMALL_STATE(94)] = 8002, + [SMALL_STATE(95)] = 8045, + [SMALL_STATE(96)] = 8088, + [SMALL_STATE(97)] = 8131, + [SMALL_STATE(98)] = 8178, + [SMALL_STATE(99)] = 8221, + [SMALL_STATE(100)] = 8264, + [SMALL_STATE(101)] = 8307, + [SMALL_STATE(102)] = 8350, + [SMALL_STATE(103)] = 8397, + [SMALL_STATE(104)] = 8440, + [SMALL_STATE(105)] = 8483, + [SMALL_STATE(106)] = 8526, + [SMALL_STATE(107)] = 8569, + [SMALL_STATE(108)] = 8612, + [SMALL_STATE(109)] = 8655, + [SMALL_STATE(110)] = 8698, + [SMALL_STATE(111)] = 8741, + [SMALL_STATE(112)] = 8784, + [SMALL_STATE(113)] = 8827, + [SMALL_STATE(114)] = 8870, + [SMALL_STATE(115)] = 8913, + [SMALL_STATE(116)] = 8958, + [SMALL_STATE(117)] = 9005, + [SMALL_STATE(118)] = 9048, + [SMALL_STATE(119)] = 9095, + [SMALL_STATE(120)] = 9138, + [SMALL_STATE(121)] = 9181, + [SMALL_STATE(122)] = 9224, + [SMALL_STATE(123)] = 9271, + [SMALL_STATE(124)] = 9314, + [SMALL_STATE(125)] = 9360, + [SMALL_STATE(126)] = 9406, + [SMALL_STATE(127)] = 9447, + [SMALL_STATE(128)] = 9498, + [SMALL_STATE(129)] = 9540, + [SMALL_STATE(130)] = 9616, + [SMALL_STATE(131)] = 9658, + [SMALL_STATE(132)] = 9732, + [SMALL_STATE(133)] = 9774, + [SMALL_STATE(134)] = 9809, + [SMALL_STATE(135)] = 9844, + [SMALL_STATE(136)] = 9884, + [SMALL_STATE(137)] = 9924, + [SMALL_STATE(138)] = 9960, + [SMALL_STATE(139)] = 9998, + [SMALL_STATE(140)] = 10038, + [SMALL_STATE(141)] = 10074, + [SMALL_STATE(142)] = 10114, + [SMALL_STATE(143)] = 10154, + [SMALL_STATE(144)] = 10194, + [SMALL_STATE(145)] = 10234, + [SMALL_STATE(146)] = 10272, + [SMALL_STATE(147)] = 10312, + [SMALL_STATE(148)] = 10352, + [SMALL_STATE(149)] = 10390, + [SMALL_STATE(150)] = 10430, + [SMALL_STATE(151)] = 10467, + [SMALL_STATE(152)] = 10500, + [SMALL_STATE(153)] = 10533, + [SMALL_STATE(154)] = 10566, + [SMALL_STATE(155)] = 10603, + [SMALL_STATE(156)] = 10636, + [SMALL_STATE(157)] = 10669, + [SMALL_STATE(158)] = 10736, + [SMALL_STATE(159)] = 10769, + [SMALL_STATE(160)] = 10802, + [SMALL_STATE(161)] = 10835, + [SMALL_STATE(162)] = 10868, + [SMALL_STATE(163)] = 10901, + [SMALL_STATE(164)] = 10934, + [SMALL_STATE(165)] = 10967, + [SMALL_STATE(166)] = 11000, + [SMALL_STATE(167)] = 11033, + [SMALL_STATE(168)] = 11070, + [SMALL_STATE(169)] = 11103, + [SMALL_STATE(170)] = 11170, + [SMALL_STATE(171)] = 11207, + [SMALL_STATE(172)] = 11274, + [SMALL_STATE(173)] = 11311, + [SMALL_STATE(174)] = 11344, + [SMALL_STATE(175)] = 11381, + [SMALL_STATE(176)] = 11418, + [SMALL_STATE(177)] = 11451, + [SMALL_STATE(178)] = 11488, + [SMALL_STATE(179)] = 11525, + [SMALL_STATE(180)] = 11558, + [SMALL_STATE(181)] = 11590, + [SMALL_STATE(182)] = 11622, + [SMALL_STATE(183)] = 11654, + [SMALL_STATE(184)] = 11686, + [SMALL_STATE(185)] = 11720, + [SMALL_STATE(186)] = 11752, + [SMALL_STATE(187)] = 11783, + [SMALL_STATE(188)] = 11814, + [SMALL_STATE(189)] = 11845, + [SMALL_STATE(190)] = 11876, + [SMALL_STATE(191)] = 11907, + [SMALL_STATE(192)] = 11938, + [SMALL_STATE(193)] = 11969, + [SMALL_STATE(194)] = 12000, + [SMALL_STATE(195)] = 12031, + [SMALL_STATE(196)] = 12062, + [SMALL_STATE(197)] = 12093, + [SMALL_STATE(198)] = 12124, + [SMALL_STATE(199)] = 12155, + [SMALL_STATE(200)] = 12186, + [SMALL_STATE(201)] = 12217, + [SMALL_STATE(202)] = 12248, + [SMALL_STATE(203)] = 12279, + [SMALL_STATE(204)] = 12310, + [SMALL_STATE(205)] = 12341, + [SMALL_STATE(206)] = 12372, + [SMALL_STATE(207)] = 12403, + [SMALL_STATE(208)] = 12434, + [SMALL_STATE(209)] = 12465, + [SMALL_STATE(210)] = 12496, + [SMALL_STATE(211)] = 12527, + [SMALL_STATE(212)] = 12589, + [SMALL_STATE(213)] = 12650, + [SMALL_STATE(214)] = 12705, + [SMALL_STATE(215)] = 12766, + [SMALL_STATE(216)] = 12827, + [SMALL_STATE(217)] = 12888, + [SMALL_STATE(218)] = 12943, + [SMALL_STATE(219)] = 12998, + [SMALL_STATE(220)] = 13053, + [SMALL_STATE(221)] = 13114, + [SMALL_STATE(222)] = 13169, + [SMALL_STATE(223)] = 13195, + [SMALL_STATE(224)] = 13221, [SMALL_STATE(225)] = 13249, - [SMALL_STATE(226)] = 13307, - [SMALL_STATE(227)] = 13333, - [SMALL_STATE(228)] = 13361, - [SMALL_STATE(229)] = 13413, - [SMALL_STATE(230)] = 13439, - [SMALL_STATE(231)] = 13485, - [SMALL_STATE(232)] = 13511, - [SMALL_STATE(233)] = 13537, - [SMALL_STATE(234)] = 13561, - [SMALL_STATE(235)] = 13582, - [SMALL_STATE(236)] = 13603, - [SMALL_STATE(237)] = 13624, - [SMALL_STATE(238)] = 13670, - [SMALL_STATE(239)] = 13716, - [SMALL_STATE(240)] = 13762, - [SMALL_STATE(241)] = 13808, - [SMALL_STATE(242)] = 13854, - [SMALL_STATE(243)] = 13900, - [SMALL_STATE(244)] = 13923, - [SMALL_STATE(245)] = 13946, - [SMALL_STATE(246)] = 13965, - [SMALL_STATE(247)] = 13982, - [SMALL_STATE(248)] = 13999, - [SMALL_STATE(249)] = 14032, - [SMALL_STATE(250)] = 14049, - [SMALL_STATE(251)] = 14084, - [SMALL_STATE(252)] = 14099, - [SMALL_STATE(253)] = 14114, - [SMALL_STATE(254)] = 14143, - [SMALL_STATE(255)] = 14159, - [SMALL_STATE(256)] = 14185, - [SMALL_STATE(257)] = 14211, - [SMALL_STATE(258)] = 14239, - [SMALL_STATE(259)] = 14265, - [SMALL_STATE(260)] = 14291, - [SMALL_STATE(261)] = 14317, - [SMALL_STATE(262)] = 14340, - [SMALL_STATE(263)] = 14363, - [SMALL_STATE(264)] = 14386, - [SMALL_STATE(265)] = 14409, - [SMALL_STATE(266)] = 14432, - [SMALL_STATE(267)] = 14455, - [SMALL_STATE(268)] = 14475, - [SMALL_STATE(269)] = 14497, - [SMALL_STATE(270)] = 14515, - [SMALL_STATE(271)] = 14533, - [SMALL_STATE(272)] = 14551, - [SMALL_STATE(273)] = 14571, - [SMALL_STATE(274)] = 14591, - [SMALL_STATE(275)] = 14613, - [SMALL_STATE(276)] = 14635, - [SMALL_STATE(277)] = 14654, - [SMALL_STATE(278)] = 14667, - [SMALL_STATE(279)] = 14686, - [SMALL_STATE(280)] = 14705, - [SMALL_STATE(281)] = 14724, - [SMALL_STATE(282)] = 14743, - [SMALL_STATE(283)] = 14760, - [SMALL_STATE(284)] = 14779, - [SMALL_STATE(285)] = 14796, - [SMALL_STATE(286)] = 14813, - [SMALL_STATE(287)] = 14827, - [SMALL_STATE(288)] = 14841, - [SMALL_STATE(289)] = 14857, - [SMALL_STATE(290)] = 14871, - [SMALL_STATE(291)] = 14887, - [SMALL_STATE(292)] = 14901, - [SMALL_STATE(293)] = 14915, - [SMALL_STATE(294)] = 14925, - [SMALL_STATE(295)] = 14941, - [SMALL_STATE(296)] = 14957, - [SMALL_STATE(297)] = 14969, - [SMALL_STATE(298)] = 14985, - [SMALL_STATE(299)] = 14997, - [SMALL_STATE(300)] = 15007, - [SMALL_STATE(301)] = 15019, - [SMALL_STATE(302)] = 15029, - [SMALL_STATE(303)] = 15043, - [SMALL_STATE(304)] = 15053, - [SMALL_STATE(305)] = 15067, - [SMALL_STATE(306)] = 15083, - [SMALL_STATE(307)] = 15099, - [SMALL_STATE(308)] = 15113, - [SMALL_STATE(309)] = 15127, - [SMALL_STATE(310)] = 15141, - [SMALL_STATE(311)] = 15155, - [SMALL_STATE(312)] = 15169, - [SMALL_STATE(313)] = 15183, - [SMALL_STATE(314)] = 15193, - [SMALL_STATE(315)] = 15209, - [SMALL_STATE(316)] = 15225, - [SMALL_STATE(317)] = 15241, - [SMALL_STATE(318)] = 15257, - [SMALL_STATE(319)] = 15267, - [SMALL_STATE(320)] = 15283, - [SMALL_STATE(321)] = 15293, - [SMALL_STATE(322)] = 15305, - [SMALL_STATE(323)] = 15321, - [SMALL_STATE(324)] = 15334, - [SMALL_STATE(325)] = 15347, - [SMALL_STATE(326)] = 15360, - [SMALL_STATE(327)] = 15373, - [SMALL_STATE(328)] = 15386, - [SMALL_STATE(329)] = 15399, - [SMALL_STATE(330)] = 15412, - [SMALL_STATE(331)] = 15425, - [SMALL_STATE(332)] = 15438, - [SMALL_STATE(333)] = 15447, - [SMALL_STATE(334)] = 15460, - [SMALL_STATE(335)] = 15473, - [SMALL_STATE(336)] = 15486, - [SMALL_STATE(337)] = 15495, - [SMALL_STATE(338)] = 15508, - [SMALL_STATE(339)] = 15521, - [SMALL_STATE(340)] = 15534, - [SMALL_STATE(341)] = 15547, - [SMALL_STATE(342)] = 15556, - [SMALL_STATE(343)] = 15569, - [SMALL_STATE(344)] = 15582, - [SMALL_STATE(345)] = 15595, - [SMALL_STATE(346)] = 15608, - [SMALL_STATE(347)] = 15621, - [SMALL_STATE(348)] = 15634, - [SMALL_STATE(349)] = 15647, - [SMALL_STATE(350)] = 15660, - [SMALL_STATE(351)] = 15673, - [SMALL_STATE(352)] = 15686, - [SMALL_STATE(353)] = 15699, - [SMALL_STATE(354)] = 15712, - [SMALL_STATE(355)] = 15725, - [SMALL_STATE(356)] = 15738, - [SMALL_STATE(357)] = 15751, - [SMALL_STATE(358)] = 15764, - [SMALL_STATE(359)] = 15772, - [SMALL_STATE(360)] = 15780, - [SMALL_STATE(361)] = 15790, - [SMALL_STATE(362)] = 15800, - [SMALL_STATE(363)] = 15810, - [SMALL_STATE(364)] = 15818, - [SMALL_STATE(365)] = 15826, - [SMALL_STATE(366)] = 15836, - [SMALL_STATE(367)] = 15846, - [SMALL_STATE(368)] = 15854, - [SMALL_STATE(369)] = 15862, - [SMALL_STATE(370)] = 15872, - [SMALL_STATE(371)] = 15882, - [SMALL_STATE(372)] = 15890, - [SMALL_STATE(373)] = 15900, - [SMALL_STATE(374)] = 15908, - [SMALL_STATE(375)] = 15918, - [SMALL_STATE(376)] = 15928, - [SMALL_STATE(377)] = 15936, - [SMALL_STATE(378)] = 15946, - [SMALL_STATE(379)] = 15956, - [SMALL_STATE(380)] = 15966, - [SMALL_STATE(381)] = 15976, - [SMALL_STATE(382)] = 15986, - [SMALL_STATE(383)] = 15994, - [SMALL_STATE(384)] = 16004, - [SMALL_STATE(385)] = 16014, - [SMALL_STATE(386)] = 16024, - [SMALL_STATE(387)] = 16034, - [SMALL_STATE(388)] = 16044, - [SMALL_STATE(389)] = 16054, - [SMALL_STATE(390)] = 16062, - [SMALL_STATE(391)] = 16072, - [SMALL_STATE(392)] = 16082, - [SMALL_STATE(393)] = 16090, - [SMALL_STATE(394)] = 16100, - [SMALL_STATE(395)] = 16108, - [SMALL_STATE(396)] = 16118, - [SMALL_STATE(397)] = 16128, - [SMALL_STATE(398)] = 16135, - [SMALL_STATE(399)] = 16142, - [SMALL_STATE(400)] = 16149, - [SMALL_STATE(401)] = 16156, - [SMALL_STATE(402)] = 16163, - [SMALL_STATE(403)] = 16170, - [SMALL_STATE(404)] = 16177, - [SMALL_STATE(405)] = 16184, - [SMALL_STATE(406)] = 16191, - [SMALL_STATE(407)] = 16198, - [SMALL_STATE(408)] = 16205, - [SMALL_STATE(409)] = 16212, - [SMALL_STATE(410)] = 16219, - [SMALL_STATE(411)] = 16226, - [SMALL_STATE(412)] = 16233, - [SMALL_STATE(413)] = 16240, - [SMALL_STATE(414)] = 16247, - [SMALL_STATE(415)] = 16254, - [SMALL_STATE(416)] = 16261, - [SMALL_STATE(417)] = 16268, - [SMALL_STATE(418)] = 16275, - [SMALL_STATE(419)] = 16282, - [SMALL_STATE(420)] = 16289, - [SMALL_STATE(421)] = 16296, - [SMALL_STATE(422)] = 16303, - [SMALL_STATE(423)] = 16310, - [SMALL_STATE(424)] = 16317, - [SMALL_STATE(425)] = 16324, - [SMALL_STATE(426)] = 16331, - [SMALL_STATE(427)] = 16338, - [SMALL_STATE(428)] = 16345, - [SMALL_STATE(429)] = 16352, - [SMALL_STATE(430)] = 16359, - [SMALL_STATE(431)] = 16366, - [SMALL_STATE(432)] = 16373, - [SMALL_STATE(433)] = 16380, - [SMALL_STATE(434)] = 16387, - [SMALL_STATE(435)] = 16394, - [SMALL_STATE(436)] = 16401, - [SMALL_STATE(437)] = 16408, - [SMALL_STATE(438)] = 16415, - [SMALL_STATE(439)] = 16422, - [SMALL_STATE(440)] = 16429, - [SMALL_STATE(441)] = 16436, - [SMALL_STATE(442)] = 16443, - [SMALL_STATE(443)] = 16450, - [SMALL_STATE(444)] = 16457, - [SMALL_STATE(445)] = 16464, - [SMALL_STATE(446)] = 16471, - [SMALL_STATE(447)] = 16478, - [SMALL_STATE(448)] = 16485, - [SMALL_STATE(449)] = 16492, - [SMALL_STATE(450)] = 16499, - [SMALL_STATE(451)] = 16506, - [SMALL_STATE(452)] = 16513, - [SMALL_STATE(453)] = 16520, - [SMALL_STATE(454)] = 16527, - [SMALL_STATE(455)] = 16534, - [SMALL_STATE(456)] = 16541, - [SMALL_STATE(457)] = 16548, - [SMALL_STATE(458)] = 16555, - [SMALL_STATE(459)] = 16562, - [SMALL_STATE(460)] = 16569, - [SMALL_STATE(461)] = 16576, - [SMALL_STATE(462)] = 16583, - [SMALL_STATE(463)] = 16590, - [SMALL_STATE(464)] = 16597, - [SMALL_STATE(465)] = 16604, - [SMALL_STATE(466)] = 16611, - [SMALL_STATE(467)] = 16618, - [SMALL_STATE(468)] = 16625, - [SMALL_STATE(469)] = 16632, - [SMALL_STATE(470)] = 16639, - [SMALL_STATE(471)] = 16646, - [SMALL_STATE(472)] = 16653, - [SMALL_STATE(473)] = 16660, - [SMALL_STATE(474)] = 16667, - [SMALL_STATE(475)] = 16674, + [SMALL_STATE(226)] = 13275, + [SMALL_STATE(227)] = 13301, + [SMALL_STATE(228)] = 13325, + [SMALL_STATE(229)] = 13371, + [SMALL_STATE(230)] = 13392, + [SMALL_STATE(231)] = 13413, + [SMALL_STATE(232)] = 13434, + [SMALL_STATE(233)] = 13480, + [SMALL_STATE(234)] = 13526, + [SMALL_STATE(235)] = 13572, + [SMALL_STATE(236)] = 13591, + [SMALL_STATE(237)] = 13614, + [SMALL_STATE(238)] = 13637, + [SMALL_STATE(239)] = 13654, + [SMALL_STATE(240)] = 13671, + [SMALL_STATE(241)] = 13704, + [SMALL_STATE(242)] = 13721, + [SMALL_STATE(243)] = 13756, + [SMALL_STATE(244)] = 13771, + [SMALL_STATE(245)] = 13786, + [SMALL_STATE(246)] = 13815, + [SMALL_STATE(247)] = 13841, + [SMALL_STATE(248)] = 13867, + [SMALL_STATE(249)] = 13893, + [SMALL_STATE(250)] = 13919, + [SMALL_STATE(251)] = 13947, + [SMALL_STATE(252)] = 13973, + [SMALL_STATE(253)] = 13989, + [SMALL_STATE(254)] = 14012, + [SMALL_STATE(255)] = 14035, + [SMALL_STATE(256)] = 14058, + [SMALL_STATE(257)] = 14081, + [SMALL_STATE(258)] = 14104, + [SMALL_STATE(259)] = 14127, + [SMALL_STATE(260)] = 14145, + [SMALL_STATE(261)] = 14165, + [SMALL_STATE(262)] = 14183, + [SMALL_STATE(263)] = 14205, + [SMALL_STATE(264)] = 14223, + [SMALL_STATE(265)] = 14245, + [SMALL_STATE(266)] = 14265, + [SMALL_STATE(267)] = 14285, + [SMALL_STATE(268)] = 14307, + [SMALL_STATE(269)] = 14324, + [SMALL_STATE(270)] = 14343, + [SMALL_STATE(271)] = 14360, + [SMALL_STATE(272)] = 14373, + [SMALL_STATE(273)] = 14392, + [SMALL_STATE(274)] = 14411, + [SMALL_STATE(275)] = 14430, + [SMALL_STATE(276)] = 14447, + [SMALL_STATE(277)] = 14466, + [SMALL_STATE(278)] = 14485, + [SMALL_STATE(279)] = 14497, + [SMALL_STATE(280)] = 14511, + [SMALL_STATE(281)] = 14525, + [SMALL_STATE(282)] = 14535, + [SMALL_STATE(283)] = 14551, + [SMALL_STATE(284)] = 14565, + [SMALL_STATE(285)] = 14577, + [SMALL_STATE(286)] = 14591, + [SMALL_STATE(287)] = 14607, + [SMALL_STATE(288)] = 14623, + [SMALL_STATE(289)] = 14637, + [SMALL_STATE(290)] = 14651, + [SMALL_STATE(291)] = 14663, + [SMALL_STATE(292)] = 14679, + [SMALL_STATE(293)] = 14689, + [SMALL_STATE(294)] = 14705, + [SMALL_STATE(295)] = 14715, + [SMALL_STATE(296)] = 14729, + [SMALL_STATE(297)] = 14743, + [SMALL_STATE(298)] = 14759, + [SMALL_STATE(299)] = 14773, + [SMALL_STATE(300)] = 14787, + [SMALL_STATE(301)] = 14803, + [SMALL_STATE(302)] = 14815, + [SMALL_STATE(303)] = 14829, + [SMALL_STATE(304)] = 14845, + [SMALL_STATE(305)] = 14861, + [SMALL_STATE(306)] = 14875, + [SMALL_STATE(307)] = 14889, + [SMALL_STATE(308)] = 14905, + [SMALL_STATE(309)] = 14921, + [SMALL_STATE(310)] = 14937, + [SMALL_STATE(311)] = 14953, + [SMALL_STATE(312)] = 14963, + [SMALL_STATE(313)] = 14973, + [SMALL_STATE(314)] = 14983, + [SMALL_STATE(315)] = 14993, + [SMALL_STATE(316)] = 15006, + [SMALL_STATE(317)] = 15019, + [SMALL_STATE(318)] = 15032, + [SMALL_STATE(319)] = 15045, + [SMALL_STATE(320)] = 15058, + [SMALL_STATE(321)] = 15067, + [SMALL_STATE(322)] = 15080, + [SMALL_STATE(323)] = 15093, + [SMALL_STATE(324)] = 15106, + [SMALL_STATE(325)] = 15119, + [SMALL_STATE(326)] = 15132, + [SMALL_STATE(327)] = 15145, + [SMALL_STATE(328)] = 15158, + [SMALL_STATE(329)] = 15171, + [SMALL_STATE(330)] = 15184, + [SMALL_STATE(331)] = 15193, + [SMALL_STATE(332)] = 15206, + [SMALL_STATE(333)] = 15219, + [SMALL_STATE(334)] = 15232, + [SMALL_STATE(335)] = 15245, + [SMALL_STATE(336)] = 15258, + [SMALL_STATE(337)] = 15271, + [SMALL_STATE(338)] = 15284, + [SMALL_STATE(339)] = 15297, + [SMALL_STATE(340)] = 15310, + [SMALL_STATE(341)] = 15323, + [SMALL_STATE(342)] = 15336, + [SMALL_STATE(343)] = 15349, + [SMALL_STATE(344)] = 15362, + [SMALL_STATE(345)] = 15375, + [SMALL_STATE(346)] = 15388, + [SMALL_STATE(347)] = 15401, + [SMALL_STATE(348)] = 15410, + [SMALL_STATE(349)] = 15423, + [SMALL_STATE(350)] = 15436, + [SMALL_STATE(351)] = 15446, + [SMALL_STATE(352)] = 15454, + [SMALL_STATE(353)] = 15464, + [SMALL_STATE(354)] = 15474, + [SMALL_STATE(355)] = 15484, + [SMALL_STATE(356)] = 15492, + [SMALL_STATE(357)] = 15500, + [SMALL_STATE(358)] = 15510, + [SMALL_STATE(359)] = 15520, + [SMALL_STATE(360)] = 15528, + [SMALL_STATE(361)] = 15538, + [SMALL_STATE(362)] = 15548, + [SMALL_STATE(363)] = 15558, + [SMALL_STATE(364)] = 15566, + [SMALL_STATE(365)] = 15576, + [SMALL_STATE(366)] = 15586, + [SMALL_STATE(367)] = 15594, + [SMALL_STATE(368)] = 15604, + [SMALL_STATE(369)] = 15614, + [SMALL_STATE(370)] = 15624, + [SMALL_STATE(371)] = 15634, + [SMALL_STATE(372)] = 15644, + [SMALL_STATE(373)] = 15654, + [SMALL_STATE(374)] = 15664, + [SMALL_STATE(375)] = 15674, + [SMALL_STATE(376)] = 15682, + [SMALL_STATE(377)] = 15690, + [SMALL_STATE(378)] = 15698, + [SMALL_STATE(379)] = 15708, + [SMALL_STATE(380)] = 15718, + [SMALL_STATE(381)] = 15728, + [SMALL_STATE(382)] = 15736, + [SMALL_STATE(383)] = 15746, + [SMALL_STATE(384)] = 15756, + [SMALL_STATE(385)] = 15764, + [SMALL_STATE(386)] = 15772, + [SMALL_STATE(387)] = 15782, + [SMALL_STATE(388)] = 15792, + [SMALL_STATE(389)] = 15800, + [SMALL_STATE(390)] = 15807, + [SMALL_STATE(391)] = 15814, + [SMALL_STATE(392)] = 15821, + [SMALL_STATE(393)] = 15828, + [SMALL_STATE(394)] = 15835, + [SMALL_STATE(395)] = 15842, + [SMALL_STATE(396)] = 15849, + [SMALL_STATE(397)] = 15856, + [SMALL_STATE(398)] = 15863, + [SMALL_STATE(399)] = 15870, + [SMALL_STATE(400)] = 15877, + [SMALL_STATE(401)] = 15884, + [SMALL_STATE(402)] = 15891, + [SMALL_STATE(403)] = 15898, + [SMALL_STATE(404)] = 15905, + [SMALL_STATE(405)] = 15912, + [SMALL_STATE(406)] = 15919, + [SMALL_STATE(407)] = 15926, + [SMALL_STATE(408)] = 15933, + [SMALL_STATE(409)] = 15940, + [SMALL_STATE(410)] = 15947, + [SMALL_STATE(411)] = 15954, + [SMALL_STATE(412)] = 15961, + [SMALL_STATE(413)] = 15968, + [SMALL_STATE(414)] = 15975, + [SMALL_STATE(415)] = 15982, + [SMALL_STATE(416)] = 15989, + [SMALL_STATE(417)] = 15996, + [SMALL_STATE(418)] = 16003, + [SMALL_STATE(419)] = 16010, + [SMALL_STATE(420)] = 16017, + [SMALL_STATE(421)] = 16024, + [SMALL_STATE(422)] = 16031, + [SMALL_STATE(423)] = 16038, + [SMALL_STATE(424)] = 16045, + [SMALL_STATE(425)] = 16052, + [SMALL_STATE(426)] = 16059, + [SMALL_STATE(427)] = 16066, + [SMALL_STATE(428)] = 16073, + [SMALL_STATE(429)] = 16080, + [SMALL_STATE(430)] = 16087, + [SMALL_STATE(431)] = 16094, + [SMALL_STATE(432)] = 16101, + [SMALL_STATE(433)] = 16108, + [SMALL_STATE(434)] = 16115, + [SMALL_STATE(435)] = 16122, + [SMALL_STATE(436)] = 16129, + [SMALL_STATE(437)] = 16136, + [SMALL_STATE(438)] = 16143, + [SMALL_STATE(439)] = 16150, + [SMALL_STATE(440)] = 16157, + [SMALL_STATE(441)] = 16164, + [SMALL_STATE(442)] = 16171, + [SMALL_STATE(443)] = 16178, + [SMALL_STATE(444)] = 16185, + [SMALL_STATE(445)] = 16192, + [SMALL_STATE(446)] = 16199, + [SMALL_STATE(447)] = 16206, + [SMALL_STATE(448)] = 16213, + [SMALL_STATE(449)] = 16220, + [SMALL_STATE(450)] = 16227, + [SMALL_STATE(451)] = 16234, + [SMALL_STATE(452)] = 16241, + [SMALL_STATE(453)] = 16248, + [SMALL_STATE(454)] = 16255, + [SMALL_STATE(455)] = 16262, + [SMALL_STATE(456)] = 16269, + [SMALL_STATE(457)] = 16276, + [SMALL_STATE(458)] = 16283, + [SMALL_STATE(459)] = 16290, + [SMALL_STATE(460)] = 16297, + [SMALL_STATE(461)] = 16304, + [SMALL_STATE(462)] = 16311, + [SMALL_STATE(463)] = 16318, + [SMALL_STATE(464)] = 16325, + [SMALL_STATE(465)] = 16332, + [SMALL_STATE(466)] = 16339, + [SMALL_STATE(467)] = 16346, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -18102,574 +17809,570 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(254), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(391), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(266), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(255), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), - [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), - [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), - [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(390), - [122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(447), - [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(322), - [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(321), - [131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(472), - [134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(471), - [137] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(470), - [140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(469), - [143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(468), - [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), - [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(315), - [151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(279), - [154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(281), - [157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(67), - [160] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(277), - [163] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(126), - [166] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(267), - [169] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(273), - [172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(272), - [175] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(65), - [178] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(446), - [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), - [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 1), - [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 1), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), - [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 2), - [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 2), - [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [129] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(360), + [132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(443), + [135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(293), + [138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(301), + [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(459), + [144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(458), + [147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(453), + [150] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(452), + [153] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(449), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), + [158] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(303), + [161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(269), + [164] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(276), + [167] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(68), + [170] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(271), + [173] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(126), + [176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(260), + [179] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(266), + [182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(265), + [185] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(65), + [188] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(467), + [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(278), + [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 2), + [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 2), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 1), + [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 1), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419), - [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), + [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(442), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), - [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(389), - [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(402), - [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417), - [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(203), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), - [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), - [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 1), - [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 1), - [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 2), - [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 2), - [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 1), - [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 1), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 1), - [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 1), + [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(261), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(445), + [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(363), + [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(455), + [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(451), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [247] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 2), + [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 2), + [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 1), + [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 1), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 1), + [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 1), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 1), + [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 1), [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 1), [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 1), - [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier_suffix, 2), - [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier_suffix, 2), - [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), - [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), - [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 1), - [287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 1), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_name, 1), - [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_name, 1), - [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_suffix, 2), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_suffix, 2), - [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_setter, 2), - [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_setter, 2), - [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 2), - [305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 2), - [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 1), - [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 1), - [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setter, 2), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setter, 2), - [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 14), - [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 3, .production_id = 14), - [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 2), - [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 2), - [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 3), - [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 3), - [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), - [329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3), - [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 2), - [333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 2), - [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), - [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), - [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3), - [341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3), - [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1), - [345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1), - [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), - [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 2), - [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2), - [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2), - [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), - [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), - [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 3), - [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 3), - [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), - [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 4), - [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 4), - [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 4), - [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 4), - [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 5), - [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 5), - [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 19), - [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 19), - [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 14), - [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 14), - [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4), - [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4), - [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 6), - [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 6), - [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 3), - [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 3), - [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 19), - [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 5, .production_id = 19), - [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_type, 4), - [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singleton_type, 4), - [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 2), - [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 2), - [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 3, .production_id = 15), - [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 3, .production_id = 15), - [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 2), - [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 2), - [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 3, .production_id = 15), - [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 3, .production_id = 15), - [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5), - [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5), - [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type, 2), - [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional_type, 2), - [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), - [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 1), + [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 1), + [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setter, 2), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setter, 2), + [285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier_suffix, 2), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier_suffix, 2), + [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_name, 1), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_name, 1), + [293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), + [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), + [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_suffix, 2), + [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_suffix, 2), + [301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_setter, 2), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_setter, 2), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 1), + [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 1), + [309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 2), + [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 2), + [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3), + [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3), + [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), + [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 2), + [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_type, 4), + [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singleton_type, 4), + [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 5), + [329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 5), + [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1), + [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1), + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 2), + [341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 2), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4), + [345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4), + [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 2), + [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 2), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 6), + [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 6), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2), + [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2), + [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type, 2), + [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional_type, 2), + [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 14), + [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 3, .production_id = 14), + [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 2), + [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 2), + [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), + [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3), + [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), + [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 2), + [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 2), + [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 19), + [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 19), + [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 4), + [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 4), + [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 3, .production_id = 15), + [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 3, .production_id = 15), + [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 3, .production_id = 15), + [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 3, .production_id = 15), + [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 3), + [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 3), + [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 3), + [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 3), + [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5), + [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5), + [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 3), + [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 3), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 14), + [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 14), + [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 4), + [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 4), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 19), + [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 5, .production_id = 19), + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), [443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribyte_type, 1), [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribyte_type, 1), [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), - [449] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(472), - [452] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(471), - [455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(470), - [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(469), - [461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(468), - [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1), - [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 4), - [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 5), - [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_decl, 3), - [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3), - [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 1), - [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 4), - [480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 4), - [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 6), - [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 9), - [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 1), - [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 7), - [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 3), - [494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 3), - [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 4), - [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 5), - [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 4), - [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 10), - [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 5), - [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 3), + [449] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(459), + [452] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(458), + [455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(453), + [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(452), + [461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(449), + [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_decl, 3), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 5), + [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1), + [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 4), + [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 1), + [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3), + [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 5), + [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 8), + [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 3), + [484] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 3), + [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_body, 3), + [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 5), + [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 4), + [492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 4), + [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 9), + [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 6), + [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 10), + [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 1), + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_body, 4), + [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 4), [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 3), - [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 8), - [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2), - [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4), - [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 3, .production_id = 3), - [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 2), - [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 2), - [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), - [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_alias_decl, 4, .production_id = 7), - [530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 3), - [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 8), - [538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 6, .production_id = 17), - [540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 6, .production_id = 16), - [542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 1), - [544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4, .production_id = 9), - [546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 2, .production_id = 2), - [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2), - [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), - [552] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(390), - [555] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(322), - [558] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(321), - [561] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(472), - [564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(471), - [567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(470), - [570] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(469), - [573] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(468), - [576] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(315), - [579] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(279), - [582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(281), - [585] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(467), - [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 3), - [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), - [592] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), SHIFT_REPEAT(228), - [595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 2), - [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 3), - [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 5, .production_id = 13), - [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 3), - [603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 12), - [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 3), - [607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 3, .production_id = 22), - [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 3, .production_id = 2), - [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5), - [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5, .production_id = 11), - [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 2), - [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4, .production_id = 5), - [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_alias_decl, 4, .production_id = 4), - [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4), - [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 4, .production_id = 22), - [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 2), - [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 3), - [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 2), - [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 3, .production_id = 22), - [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 4, .production_id = 24), - [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 3), - [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 3), - [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 1), - [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility_member, 2), - [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 3), + [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_body, 2), + [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 7), + [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 2), + [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 3), + [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4), + [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 5, .production_id = 13), + [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), + [524] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), SHIFT_REPEAT(221), + [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_alias_decl, 4, .production_id = 7), + [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 3), + [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 3), + [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 8), + [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4), + [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5), + [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5, .production_id = 11), + [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4, .production_id = 9), + [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 12), + [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4, .production_id = 5), + [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 3), + [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 3, .production_id = 3), + [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2), + [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 2), + [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), + [561] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(360), + [564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(293), + [567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(301), + [570] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(459), + [573] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(458), + [576] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(453), + [579] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(452), + [582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(449), + [585] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(303), + [588] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(269), + [591] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(276), + [594] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(434), + [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 2), + [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_alias_decl, 4, .production_id = 4), + [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 2), + [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 6, .production_id = 17), + [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 2), + [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 1), + [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 6, .production_id = 16), + [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2), + [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 1), + [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2, .production_id = 2), + [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 2), + [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 3, .production_id = 22), + [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 5), + [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 4), + [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_method_name, 3), + [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 3), + [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 3), + [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 6), + [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility_member, 2), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__member, 2, .production_id = 2), + [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 1), [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_type_binds, 2), - [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__member, 2, .production_id = 2), - [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 5), - [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 6), - [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_member, 3, .production_id = 10), - [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_method_name, 3), - [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 4), - [661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 4), - [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 3), - [665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 3), - [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 7), - [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), - [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [677] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(472), - [680] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(471), - [683] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(470), - [686] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(469), - [689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(468), - [692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), - [694] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(67), - [697] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(456), - [700] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(267), - [703] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(66), - [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), - [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), - [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), - [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), - [724] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), SHIFT_REPEAT(280), - [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_decl, 3), - [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), - [731] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(278), - [734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3), - [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), - [738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 2), - [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 1, .production_id = 1), - [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), - [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 3, .production_id = 6), - [746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 2), - [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__decl, 2, .production_id = 2), - [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 1), - [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 1), - [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), - [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 2, .production_id = 2), - [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), - [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 3), - [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 4), - [766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), - [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_name, 1), - [770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), - [772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1), - [776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), - [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), - [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), - [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [790] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), - [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 4, .production_id = 23), - [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), - [808] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility, 1), - [810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility, 1), - [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), - [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [816] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_type_single, 3, .production_id = 18), - [818] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 3, .production_id = 21), - [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), - [822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), - [824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), - [826] = {.entry = {.count = 1, .reusable = false}}, SHIFT(311), - [828] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 2), - [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), - [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), - [834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 3), - [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), - [838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [840] = {.entry = {.count = 1, .reusable = false}}, SHIFT(309), - [842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(310), - [844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 11), - [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), - [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [850] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 3), - [852] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 3), - [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 8), - [858] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 2), - [860] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 2), - [862] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), - [864] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), - [866] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), SHIFT_REPEAT(302), - [869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3), - [871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 1), - [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), - [877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(312), - [879] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), - [881] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(308), - [884] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), - [886] = {.entry = {.count = 1, .reusable = false}}, SHIFT(308), - [888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(302), - [890] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 3), + [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 7), + [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 3), + [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 3), + [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 4), + [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_member, 3, .production_id = 10), + [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [681] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(459), + [684] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(458), + [687] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(453), + [690] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(452), + [693] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(449), + [696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), + [698] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(68), + [701] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(448), + [704] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(260), + [707] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(66), + [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3), + [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [718] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 2), + [720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_decl, 3), + [722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), + [724] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(272), + [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), + [729] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), SHIFT_REPEAT(273), + [732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 1, .production_id = 1), + [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 3, .production_id = 6), + [738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 2), + [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__decl, 2, .production_id = 2), + [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 1), + [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 1), + [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 2, .production_id = 2), + [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [754] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 4), + [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 3), + [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_name, 1), + [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1), + [768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [782] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), + [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [800] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility, 1), + [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility, 1), + [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 3, .production_id = 21), + [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_type_single, 3, .production_id = 18), + [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 4, .production_id = 23), + [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(288), + [822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 1), + [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5), + [828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [830] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), + [832] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 3), + [834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 3), + [836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), + [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), + [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), + [844] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 2), + [846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 2), + [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [850] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 7), + [852] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), + [854] = {.entry = {.count = 1, .reusable = false}}, SHIFT(289), + [856] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), + [858] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), SHIFT_REPEAT(296), + [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [863] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), + [865] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(298), + [868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [870] = {.entry = {.count = 1, .reusable = false}}, SHIFT(285), + [872] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 1), + [874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 1), + [876] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283), + [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 2), + [882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 3), + [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 8), + [888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 11), + [890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3), [892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 9), - [894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5), - [896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 7), - [898] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 1), - [900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 1), - [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), - [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), - [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [912] = {.entry = {.count = 1, .reusable = false}}, SHIFT(453), - [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), - [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), - [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [922] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), SHIFT_REPEAT(33), - [925] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [929] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [933] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), SHIFT_REPEAT(370), - [936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), - [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variable, 1), - [940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 2), - [942] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 2), SHIFT(448), - [945] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), SHIFT_REPEAT(387), - [948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), - [950] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420), - [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), - [956] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 2), - [958] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 2), SHIFT(27), - [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), - [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_type_binding, 5), - [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), - [973] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), SHIFT(27), - [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), - [978] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), - [980] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), SHIFT_REPEAT(448), - [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(406), - [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), - [991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 1), - [993] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 1), SHIFT(27), - [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), - [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [1000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [1002] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), SHIFT_REPEAT(264), - [1005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), - [1007] = {.entry = {.count = 1, .reusable = false}}, SHIFT(401), - [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), - [1013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), - [1015] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), SHIFT(27), - [1018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 3), - [1020] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 3), SHIFT(448), - [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [1027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), - [1029] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), SHIFT_REPEAT(27), - [1032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2), - [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), - [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), - [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [1042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_bound, 2), - [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [1046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 2), - [1048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bound_type, 1), - [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), - [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), - [1054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 14), - [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), - [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [1062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rest_positional, 2), - [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [1066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), - [1068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), - [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), - [1072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [1074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 3), - [1076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), - [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [1080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [1082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [1084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [1086] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 1), - [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), - [1090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 4), - [1092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat_keyword, 2), - [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), - [1102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [1104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), - [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), - [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), - [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), - [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), + [894] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), SHIFT_REPEAT(362), + [897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), + [899] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), SHIFT_REPEAT(256), + [902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), + [904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 2), + [906] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 2), SHIFT(440), + [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [913] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), + [915] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), SHIFT(28), + [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), + [920] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), SHIFT_REPEAT(28), + [923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 2), + [929] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 2), SHIFT(28), + [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [936] = {.entry = {.count = 1, .reusable = false}}, SHIFT(450), + [938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), + [944] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), SHIFT(28), + [947] = {.entry = {.count = 1, .reusable = false}}, SHIFT(397), + [949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [953] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [957] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [959] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_type_binding, 5), + [961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 3), + [963] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 3), SHIFT(440), + [966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [968] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), SHIFT_REPEAT(47), + [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [989] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457), + [991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 1), + [999] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 1), SHIFT(28), + [1002] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), SHIFT_REPEAT(383), + [1005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), + [1007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [1011] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variable, 1), + [1013] = {.entry = {.count = 1, .reusable = false}}, SHIFT(398), + [1015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [1019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), + [1021] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), SHIFT_REPEAT(440), + [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [1030] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 4), + [1032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [1036] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2), + [1038] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 1), + [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [1042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [1046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [1048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [1062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [1066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 3), + [1068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rest_positional, 2), + [1070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 14), + [1072] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 2), + [1074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [1076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [1080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_bound, 2), + [1082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bound_type, 1), + [1084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [1086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [1102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), + [1104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_variance, 1), + [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [1114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keywords, 1), + [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [1118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), - [1132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), - [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [1138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_variance, 1), - [1140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keywords, 1), - [1144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [1150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 5, .production_id = 21), - [1152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 6), - [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), - [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), - [1160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 6, .production_id = 23), - [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [1168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 7), - [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), - [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), - [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), - [1180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), - [1186] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), - [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), - [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), - [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), - [1198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), - [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [1202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat_keyword, 2), + [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 5, .production_id = 21), + [1132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 6), + [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [1138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [1140] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 6, .production_id = 23), + [1144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [1148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 7), + [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [1152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), + [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), + [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), + [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [1180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [1186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), + [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), }; #ifdef __cplusplus diff --git a/test/corpus/annotations.txt b/test/corpus/annotations.txt index 191d7d1..94fd694 100644 --- a/test/corpus/annotations.txt +++ b/test/corpus/annotations.txt @@ -1,354 +1,360 @@ -================== +================================================================================ annotation with class decl -================== +================================================================================ %a{test} class Foo end ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (class_decl - (class_name - (constant)))) - -================== + (annotations + (annotation + (annotation_text))) + (class_decl + (class_name + (constant)))) + +================================================================================ annotation with module decl -================== +================================================================================ %a{test} module Foo end ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (module_decl - (module_name - (constant)))) - -================== + (annotations + (annotation + (annotation_text))) + (module_decl + (module_name + (constant)))) + +================================================================================ annotation with interface decl -================== +================================================================================ %a{test} interface _Foo end ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (interface_decl - (interface_name - (interface)))) - -================== + (annotations + (annotation + (annotation_text))) + (interface_decl + (interface_name + (interface)))) + +================================================================================ annotation with class alias decl -================== +================================================================================ %a{test} class Foo = Bar ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (class_alias_decl - (class_name - (constant)) - (class_name - (constant)))) - -================== + (annotations + (annotation + (annotation_text))) + (class_alias_decl + (class_name + (constant)) + (class_name + (constant)))) + +================================================================================ annotation with module alias decl -================== +================================================================================ %a{test} module Foo = Bar ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (module_alias_decl - (module_name - (constant)) - (module_name - (constant)))) - -================== + (annotations + (annotation + (annotation_text))) + (module_alias_decl + (module_name + (constant)) + (module_name + (constant)))) + +================================================================================ annotation with type alias decl -================== +================================================================================ %a{test} type foo = Bar ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (type_alias_decl - (alias_name - (identifier)) - (type - (class_type - (class_name - (constant)))))) + (annotations + (annotation + (annotation_text))) + (type_alias_decl + (alias_name + (identifier)) + (type + (class_type + (class_name + (constant)))))) -================== +================================================================================ annotation with const decl -================== +================================================================================ %a{test} Foo: String ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (const_decl - (const_name - (constant)) - (type - (class_type - (class_name - (constant)))))) + (annotations + (annotation + (annotation_text))) + (const_decl + (const_name + (constant)) + (type + (class_type + (class_name + (constant)))))) -================== +================================================================================ annotation with global decl -================== +================================================================================ %a{test} $foo: String ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (global_decl - (global_name) - (type - (class_type - (class_name - (constant)))))) - + (annotations + (annotation + (annotation_text))) + (global_decl + (global_name) + (type + (class_type + (class_name + (constant)))))) -================== +================================================================================ annotation with class members -================== +================================================================================ class Foo %a(test) def foo: () -> String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (annotations - (annotation - (annotation_text))) - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (annotations + (annotation + (annotation_text))) + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ annotation with module members -================== +================================================================================ module Foo %a(test) def foo: () -> String end ---- +-------------------------------------------------------------------------------- (program - (module_decl - (module_name - (constant)) - (members - (annotations - (annotation - (annotation_text))) - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (module_decl + (module_name + (constant)) + (members + (annotations + (annotation + (annotation_text))) + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ annotation with interface members -================== +================================================================================ interface _Foo %a(test) def foo: () -> String end ---- +-------------------------------------------------------------------------------- (program - (interface_decl - (interface_name - (interface)) - (interface_members - (interface_member - (annotations - (annotation - (annotation_text))) - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant))))))))))) - - -================== + (interface_decl + (interface_name + (interface)) + (interface_members + (interface_member + (annotations + (annotation + (annotation_text))) + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)))))))))))) + +================================================================================ annotation with method visibility -================== +================================================================================ class Foo %a(test) private def foo: () -> String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (annotations - (annotation - (annotation_text))) - (method_member - (visibility) - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (annotations + (annotation + (annotation_text))) + (method_member + (visibility) + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ annotation with method types -================== +================================================================================ class Foo def foo: [A] %a{test1} () -> Array[A] end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type_parameters - (type_variable - (constant))) - (annotations - (annotation - (annotation_text))) - (method_type - (parameters) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant))))))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_parameters + (type_variable + (constant))) + (annotations + (annotation + (annotation_text))) + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant)))))))))))))) + +================================================================================ annotation with method overloading -================== +================================================================================ class Foo def foo: [A] %a{test1} () -> Array[A] | %a{test2} (String) -> Integer end ---- +-------------------------------------------------------------------------------- + (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type_parameters - (type_variable - (constant))) - (annotations - (annotation - (annotation_text))) - (method_type - (parameters) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant)))))))) - (annotations - (annotation - (annotation_text))) - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type - (class_name - (constant)))))))))) + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_parameters + (type_variable + (constant))) + (annotations + (annotation + (annotation_text))) + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant))))))))) + (method_type + (annotations + (annotation + (annotation_text))) + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant))))))))))) diff --git a/test/corpus/decls.txt b/test/corpus/decls.txt index 7a2fdef..882fed4 100644 --- a/test/corpus/decls.txt +++ b/test/corpus/decls.txt @@ -380,8 +380,9 @@ end (identifier)) (method_types (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))))))) + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))))))) diff --git a/test/corpus/members.txt b/test/corpus/members.txt index 2fa6df6..a5a5e3c 100644 --- a/test/corpus/members.txt +++ b/test/corpus/members.txt @@ -1,235 +1,235 @@ -================== +================================================================================ ivar member -================== +================================================================================ class Foo @foo: String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (ivar_member - (ivar_name) - (type - (class_type - (class_name - (constant)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (ivar_member + (ivar_name) + (type + (class_type + (class_name + (constant)))))))) + +================================================================================ method member -================== +================================================================================ class Foo def foo: () -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ singleton method member -================== +================================================================================ class Foo def self.foo: () -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (self) - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (self) + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ attribute member -================== +================================================================================ class Foo attr_reader foo: String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (attribute_member - (attribyte_type) - (method_name - (identifier)) - (type - (class_type - (class_name - (constant)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (attribute_member + (attribyte_type) + (method_name + (identifier)) + (type + (class_type + (class_name + (constant)))))))) + +================================================================================ attribute member with ivar -================== +================================================================================ class Foo attr_writer name (@raw_name): String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (attribute_member - (attribyte_type) - (method_name - (identifier)) - (ivar_name) - (type - (class_type - (class_name - (constant)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (attribute_member + (attribyte_type) + (method_name + (identifier)) + (ivar_name) + (type + (class_type + (class_name + (constant)))))))) + +================================================================================ attribute member for singleton -================== +================================================================================ class Foo attr_writer self.name: String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (attribute_member - (attribyte_type) - (self) - (method_name - (identifier)) - (type - (class_type - (class_name - (constant)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (attribute_member + (attribyte_type) + (self) + (method_name + (identifier)) + (type + (class_type + (class_name + (constant)))))))) + +================================================================================ include member -================== +================================================================================ class Foo include Mod end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (include_member + (class_decl (class_name - (constant)))))) - + (constant)) + (members + (include_member + (class_name + (constant)))))) -================== +================================================================================ extend member -================== +================================================================================ class Foo extend Mod end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (extend_member + (class_decl (class_name - (constant)))))) - + (constant)) + (members + (extend_member + (class_name + (constant)))))) -================== +================================================================================ prepend member -================== +================================================================================ class Foo prepend Mod end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (prepend_member + (class_decl (class_name - (constant)))))) + (constant)) + (members + (prepend_member + (class_name + (constant)))))) -================== +================================================================================ alias member -================== +================================================================================ class Foo alias bar foo end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (alias_member - (method_name - (identifier)) - (method_name - (identifier)))))) - -================== + (class_decl + (class_name + (constant)) + (members + (alias_member + (method_name + (identifier)) + (method_name + (identifier)))))) + +================================================================================ visibility member -================== +================================================================================ class Foo private @@ -238,44 +238,44 @@ class Foo private attr_reader bar: String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (visibility_member - (visibility)) - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant))))))) - (method_member - (visibility) - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant))))))) - (attribute_member - (visibility) - (attribyte_type) - (method_name - (identifier)) - (type - (class_type - (class_name - (constant)))))))) - - + (class_decl + (class_name + (constant)) + (members + (visibility_member + (visibility)) + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)))))))) + (method_member + (visibility) + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)))))))) + (attribute_member + (visibility) + (attribyte_type) + (method_name + (identifier)) + (type + (class_type + (class_name + (constant)))))))) diff --git a/test/corpus/methods.txt b/test/corpus/methods.txt index e8c00aa..fde4d83 100644 --- a/test/corpus/methods.txt +++ b/test/corpus/methods.txt @@ -1,928 +1,945 @@ -================== +================================================================================ no args -================== +================================================================================ class Foo def foo: () -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ required args -================== +================================================================================ class Foo def foo: (String st, Integer) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ optional args -================== +================================================================================ class Foo def foo: (?Foo foo, ?Bar) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type + (class_decl (class_name - (constant)))))))))) + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ required args and optional args -================== +================================================================================ class Foo def foo: (String st, Integer it, Float fl, ?Foo foo, ?Bar) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier)))) - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type + (class_decl (class_name - (constant)))))))))) + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier)))) + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ optional args and trailing args -================== +================================================================================ class Foo def foo: (?Foo foo, ?Bar, String st, Integer int) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant)))))) - (trailing_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))))) - (type - (class_type + (class_decl (class_name - (constant)))))))))) - + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant)))))) + (trailing_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))))) + (type + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ keyword args -================== +================================================================================ class Foo def foo: (key: String, bar: Hash[Symbol, Integer]) -> Integer end ---- - +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (keywords - (required_keywords - (keyword + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (required_keywords - (keyword - (identifier)) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant)))) + (method_types + (method_type + (method_type_body + (parameters + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant)))) + (type + (class_type + (class_name + (constant)))))))))))) (type - (class_type - (class_name - (constant)))))))))))) - (type - (class_type - (class_name - (constant)))))))))) + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ required args and keyword args -================== +================================================================================ class Foo def foo: (String st, alias_type al, key1: String, ?key2: String?, **Hash) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (alias_type - (alias_name - (identifier)))) - (var_name - (identifier)))) - (keywords - (required_keywords - (keyword + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (optional_keywords - (keyword - (identifier)) - (type - (optional_type - (type - (class_type - (class_name - (constant)))))) - (keywords - (splat_keyword - (parameter + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (alias_type + (alias_name + (identifier)))) + (var_name + (identifier)))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (optional_keywords + (keyword + (identifier)) + (type + (optional_type + (type + (class_type + (class_name + (constant)))))) + (keywords + (splat_keyword + (parameter + (type + (class_type + (class_name + (constant)))))))))))) (type - (class_type - (class_name - (constant)))))))))))) - (type - (class_type - (class_name - (constant)))))))))) + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ optional args and keyword args -================== +================================================================================ class Foo def foo: (?String st, ?alias_type al, key1: String, ?key2: String?, **Hash) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (alias_type - (alias_name - (identifier)))) - (var_name - (identifier)))) - (keywords - (required_keywords - (keyword + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (optional_keywords - (keyword - (identifier)) - (type - (optional_type - (type - (class_type - (class_name - (constant)))))) - (keywords - (splat_keyword - (parameter + (method_types + (method_type + (method_type_body + (parameters + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (alias_type + (alias_name + (identifier)))) + (var_name + (identifier)))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (optional_keywords + (keyword + (identifier)) + (type + (optional_type + (type + (class_type + (class_name + (constant)))))) + (keywords + (splat_keyword + (parameter + (type + (class_type + (class_name + (constant)))))))))))) (type - (class_type - (class_name - (constant)))))))))))) - (type - (class_type - (class_name - (constant)))))))))) + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ optional args and trailing args and keyword args -================== +================================================================================ class Foo def foo: (?String st, Integer, key1: String, ?key2: String?, **Hash) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier)))) - (trailing_positionals - (parameter - (type - (class_type - (class_name - (constant)))))) - (keywords - (required_keywords - (keyword + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (optional_keywords - (keyword - (identifier)) - (type - (optional_type - (type - (class_type - (class_name - (constant)))))) - (keywords - (splat_keyword - (parameter + (method_types + (method_type + (method_type_body + (parameters + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier)))) + (trailing_positionals + (parameter + (type + (class_type + (class_name + (constant)))))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (optional_keywords + (keyword + (identifier)) + (type + (optional_type + (type + (class_type + (class_name + (constant)))))) + (keywords + (splat_keyword + (parameter + (type + (class_type + (class_name + (constant)))))))))))) (type - (class_type - (class_name - (constant)))))))))))) - (type - (class_type - (class_name - (constant)))))))))) + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ block -================== +================================================================================ class Foo def foo: () { (Integer) -> void} -> void end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (block - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (builtin_type))) - (type - (builtin_type)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (block + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (builtin_type))) + (type + (builtin_type))))))))) + +================================================================================ literal type args -================== +================================================================================ class Foo def foo: ("foo", 123, :sym) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (string_literal - (double_quote_string_body)))) - (parameter - (type - (integer_literal))) - (parameter - (type - (symbol_literal))))) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (string_literal + (double_quote_string_body)))) + (parameter + (type + (integer_literal))) + (parameter + (type + (symbol_literal))))) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ block and self type binding -================== +================================================================================ class Foo def foo: () { (Integer) [self: String] -> void} -> void end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (block - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (self_type_binding - (self) - (type - (class_type - (class_name - (constant))))) - (type - (builtin_type))) - (type - (builtin_type)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (block + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (self_type_binding + (self) + (type + (class_type + (class_name + (constant))))) + (type + (builtin_type))) + (type + (builtin_type))))))))) + +================================================================================ complex args -================== +================================================================================ class Foo def foo: (String st, ?Integer, ?{a: TypeA, b: TypeB}, *Array[String | Integer] rest, key1: String, key2: String, ?key3: String?, **Hash opts) {(String st) -> void} -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier)))) - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant))))) - (parameter - (type - (record_type - (record_key) - (type - (class_type - (class_name - (constant)))) - (record_key) - (type - (class_type - (class_name - (constant)))))))) - (rest_positional - (parameter - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (union_type - (type - (class_type - (class_name - (constant)))) - (type - (class_type - (class_name - (constant))))))))) - (var_name - (identifier)))) - (keywords - (required_keywords - (keyword + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (required_keywords - (keyword - (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (optional_keywords - (keyword - (identifier)) - (type - (optional_type - (type - (class_type - (class_name - (constant)))))) - (keywords - (splat_keyword - (parameter + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier)))) + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant))))) + (parameter + (type + (record_type + (record_key) + (type + (class_type + (class_name + (constant)))) + (record_key) + (type + (class_type + (class_name + (constant)))))))) + (rest_positional + (parameter + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (union_type + (type + (class_type + (class_name + (constant)))) + (type + (class_type + (class_name + (constant))))))))) + (var_name + (identifier)))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (optional_keywords + (keyword + (identifier)) + (type + (optional_type + (type + (class_type + (class_name + (constant)))))) + (keywords + (splat_keyword + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier)))))))))))) + (block + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))))) (type - (class_type + (builtin_type))) + (type + (class_type (class_name - (constant)))) - (var_name - (identifier)))))))))))) - (block - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))))) - (type - (builtin_type))) - (type - (class_type - (class_name - (constant)))))))))) + (constant))))))))))) -================== +================================================================================ constant name method -================== +================================================================================ class Foo def Bar: () -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (constant)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (constant)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ ? end method -================== +================================================================================ class Foo def foo?: () -> bool end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier_suffix - (identifier))) - (method_types - (method_type - (parameters) - (type - (builtin_type)))))))) - - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier_suffix + (identifier))) + (method_types + (method_type + (method_type_body + (parameters) + (type + (builtin_type))))))))) + +================================================================================ operator method -================== +================================================================================ class Foo def +: (Integer) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (operator)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (operator)) + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ setter method -================== +================================================================================ class Foo def foo=: (Integer) -> void end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (setter - (identifier))) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (builtin_type)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (setter + (identifier))) + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (builtin_type))))))))) + +================================================================================ multibyte method name -================== +================================================================================ class Foo def ใƒ†ใ‚นใƒˆ: () -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ has method type parameters -================== +================================================================================ class Foo def foo: [A] () -> Array[A] end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type_parameters - (type_variable - (constant))) - (method_type - (parameters) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant))))))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_parameters + (type_variable + (constant))) + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant)))))))))))))) + +================================================================================ method type overload -================== +================================================================================ class Foo def foo: [A] () -> Array[A] | [B] (B) -> Array[B] end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type_parameters - (type_variable - (constant))) - (method_type - (parameters) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant)))))))) - (method_type_parameters - (type_variable - (constant))) - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant))))))))))))) + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_parameters + (type_variable + (constant))) + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant))))))))) + (method_type + (method_type_parameters + (type_variable + (constant))) + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant))))))))))))))