diff --git a/grammar.js b/grammar.js index 2c4e99b..c9c4f3a 100644 --- a/grammar.js +++ b/grammar.js @@ -14,6 +14,7 @@ module.exports = grammar({ inline: $ => [ $._no_parantheses_type, $._parantheses_type, + $._nestable_decls, ], conflicts: $ => [ @@ -154,15 +155,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 +229,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), @@ -252,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), @@ -309,15 +330,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( @@ -332,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), $.method_type), "|"), + sep1($.method_type, "|"), "..." ), diff --git a/src/grammar.json b/src/grammar.json index e8117f7..29402a0 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" + } + ] } ] }, @@ -1751,7 +1905,7 @@ } ] }, - "method_type": { + "method_type_body": { "type": "SEQ", "members": [ { @@ -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" + } + } + ] } ] }, @@ -2903,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": [ @@ -2910,25 +3114,8 @@ "type": "SEQ", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "method_type_parameters" - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "SYMBOL", - "name": "method_type" - } - ] + "type": "SYMBOL", + "name": "method_type" }, { "type": "REPEAT", @@ -2940,25 +3127,8 @@ "value": "|" }, { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "method_type_parameters" - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "SYMBOL", - "name": "method_type" - } - ] + "type": "SYMBOL", + "name": "method_type" } ] } @@ -3755,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 b3ddaab..72fb51b 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 @@ -762,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, @@ -807,10 +868,6 @@ { "type": "method_type", "named": true - }, - { - "type": "method_type_parameters", - "named": true } ] } @@ -1156,6 +1213,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "annotations", + "named": true + }, { "type": "class_alias_decl", "named": true @@ -1706,6 +1767,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 +1947,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..9d7ba92 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 468 #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 24 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_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, + 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,8 +363,8 @@ 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", [sym_superclass] = "superclass", [sym_module_decl] = "module_decl", @@ -360,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", @@ -377,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", @@ -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,8 +577,8 @@ 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, [sym_superclass] = sym_superclass, [sym_module_decl] = sym_module_decl, @@ -561,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, @@ -578,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, @@ -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,11 +1190,11 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym__decl] = { - .visible = false, + [sym_annotation] = { + .visible = true, .named = true, }, - [sym__nestable_decls] = { + [sym__decl] = { .visible = false, .named = true, }, @@ -1191,7 +1270,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_method_type] = { + [sym_method_type_body] = { .visible = true, .named = true, }, @@ -1259,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, @@ -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,50 +1568,56 @@ 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, }, }; @@ -1533,6 +1630,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,11 +1709,11 @@ 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, @@ -1621,9 +1721,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [75] = 75, [76] = 76, [77] = 76, - [78] = 78, - [79] = 79, - [80] = 79, + [78] = 74, + [79] = 74, + [80] = 80, [81] = 81, [82] = 82, [83] = 83, @@ -1698,7 +1798,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [152] = 152, [153] = 153, [154] = 154, - [155] = 86, + [155] = 155, [156] = 156, [157] = 157, [158] = 158, @@ -1709,8 +1809,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [163] = 163, [164] = 164, [165] = 165, - [166] = 85, - [167] = 167, + [166] = 166, + [167] = 124, [168] = 168, [169] = 169, [170] = 170, @@ -1718,40 +1818,40 @@ 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, [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, + [195] = 195, [196] = 196, [197] = 197, [198] = 198, - [199] = 60, - [200] = 200, - [201] = 201, - [202] = 202, - [203] = 203, - [204] = 86, - [205] = 205, + [199] = 199, + [200] = 89, + [201] = 86, + [202] = 88, + [203] = 87, + [204] = 204, + [205] = 90, [206] = 206, - [207] = 207, - [208] = 85, + [207] = 91, + [208] = 208, [209] = 209, [210] = 210, [211] = 211, @@ -1779,8 +1879,8 @@ 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, @@ -1802,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, @@ -1888,7 +1988,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, @@ -1901,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, @@ -1968,7 +2068,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 +2082,35 @@ 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] = 271, + [449] = 449, + [450] = 450, + [451] = 451, + [452] = 452, + [453] = 453, + [454] = 454, + [455] = 455, + [456] = 456, + [457] = 457, + [458] = 458, + [459] = 459, + [460] = 460, + [461] = 461, + [462] = 462, + [463] = 463, + [464] = 464, + [465] = 442, + [466] = 442, + [467] = 467, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1991,954 +2118,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(8); + 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(11); 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(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 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 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(60) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(103); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(66); + if (lookahead != 0 && + lookahead > ';' && + lookahead != '`' && + lookahead != '}' && + lookahead != '~') ADVANCE(174); + END_STATE(); + 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(8); 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(11); 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(85); 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(88); 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,371 +3779,371 @@ 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}, + [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 = 61}, + [11] = {.lex_state = 60}, + [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 = 61}, + [86] = {.lex_state = 12}, + [87] = {.lex_state = 12}, + [88] = {.lex_state = 12}, + [89] = {.lex_state = 12}, + [90] = {.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}, + [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 = 61}, + [129] = {.lex_state = 60}, + [130] = {.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 = 61}, + [139] = {.lex_state = 61}, + [140] = {.lex_state = 61}, + [141] = {.lex_state = 61}, + [142] = {.lex_state = 61}, + [143] = {.lex_state = 61}, + [144] = {.lex_state = 60}, + [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 = 60}, + [153] = {.lex_state = 60}, + [154] = {.lex_state = 60}, + [155] = {.lex_state = 60}, + [156] = {.lex_state = 60}, + [157] = {.lex_state = 60}, + [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 = 63}, + [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 = 63}, + [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 = 61}, + [225] = {.lex_state = 60}, + [226] = {.lex_state = 60}, + [227] = {.lex_state = 60}, + [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 = 63}, + [237] = {.lex_state = 63}, + [238] = {.lex_state = 60}, + [239] = {.lex_state = 60}, [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}, + [241] = {.lex_state = 60}, + [242] = {.lex_state = 60}, + [243] = {.lex_state = 60}, + [244] = {.lex_state = 60}, + [245] = {.lex_state = 60}, + [246] = {.lex_state = 60}, + [247] = {.lex_state = 60}, + [248] = {.lex_state = 60}, + [249] = {.lex_state = 60}, + [250] = {.lex_state = 60}, + [251] = {.lex_state = 60}, + [252] = {.lex_state = 16}, + [253] = {.lex_state = 61}, [254] = {.lex_state = 0}, - [255] = {.lex_state = 56}, + [255] = {.lex_state = 0}, [256] = {.lex_state = 0}, - [257] = {.lex_state = 56}, - [258] = {.lex_state = 56}, - [259] = {.lex_state = 0}, + [257] = {.lex_state = 0}, + [258] = {.lex_state = 0}, + [259] = {.lex_state = 16}, [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}, + [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 = 61}, + [268] = {.lex_state = 61}, + [269] = {.lex_state = 0}, + [270] = {.lex_state = 0}, + [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}, + [273] = {.lex_state = 0}, + [274] = {.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 = 20}, + [286] = {.lex_state = 61}, + [287] = {.lex_state = 60}, + [288] = {.lex_state = 15}, + [289] = {.lex_state = 20}, + [290] = {.lex_state = 61}, + [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 = 0}, - [305] = {.lex_state = 0}, - [306] = {.lex_state = 0}, + [304] = {.lex_state = 61}, + [305] = {.lex_state = 60}, + [306] = {.lex_state = 60}, [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}, - [314] = {.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 = 60}, [315] = {.lex_state = 0}, - [316] = {.lex_state = 14}, + [316] = {.lex_state = 0}, [317] = {.lex_state = 0}, [318] = {.lex_state = 0}, [319] = {.lex_state = 0}, - [320] = {.lex_state = 17}, - [321] = {.lex_state = 17}, + [320] = {.lex_state = 12}, + [321] = {.lex_state = 0}, [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 = 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 = 17}, + [332] = {.lex_state = 60}, [333] = {.lex_state = 0}, [334] = {.lex_state = 0}, [335] = {.lex_state = 0}, - [336] = {.lex_state = 0}, + [336] = {.lex_state = 60}, [337] = {.lex_state = 0}, [338] = {.lex_state = 0}, [339] = {.lex_state = 0}, [340] = {.lex_state = 0}, - [341] = {.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 = 17}, - [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 = 0}, - [353] = {.lex_state = 0}, + [353] = {.lex_state = 60}, [354] = {.lex_state = 0}, [355] = {.lex_state = 0}, [356] = {.lex_state = 0}, [357] = {.lex_state = 0}, [358] = {.lex_state = 0}, [359] = {.lex_state = 0}, - [360] = {.lex_state = 17}, + [360] = {.lex_state = 0}, [361] = {.lex_state = 0}, [362] = {.lex_state = 0}, - [363] = {.lex_state = 0}, - [364] = {.lex_state = 21}, - [365] = {.lex_state = 56}, + [363] = {.lex_state = 18}, + [364] = {.lex_state = 0}, + [365] = {.lex_state = 0}, [366] = {.lex_state = 0}, [367] = {.lex_state = 0}, [368] = {.lex_state = 0}, @@ -3822,74 +4151,101 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [370] = {.lex_state = 0}, [371] = {.lex_state = 0}, [372] = {.lex_state = 0}, - [373] = {.lex_state = 14}, - [374] = {.lex_state = 14}, + [373] = {.lex_state = 0}, + [374] = {.lex_state = 0}, [375] = {.lex_state = 0}, - [376] = {.lex_state = 14}, - [377] = {.lex_state = 17}, - [378] = {.lex_state = 0}, + [376] = {.lex_state = 0}, + [377] = {.lex_state = 0}, + [378] = {.lex_state = 60}, [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 = 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 = 14}, - [390] = {.lex_state = 17}, - [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 = 0}, - [396] = {.lex_state = 14}, - [397] = {.lex_state = 17}, + [395] = {.lex_state = 60}, + [396] = {.lex_state = 0}, + [397] = {.lex_state = 0}, [398] = {.lex_state = 0}, - [399] = {.lex_state = 14}, - [400] = {.lex_state = 0}, + [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}, + [404] = {.lex_state = 60}, + [405] = {.lex_state = 12}, + [406] = {.lex_state = 0}, + [407] = {.lex_state = 60}, [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}, + [409] = {.lex_state = 12}, + [410] = {.lex_state = 0}, + [411] = {.lex_state = 0}, + [412] = {.lex_state = 0}, + [413] = {.lex_state = 12}, + [414] = {.lex_state = 12}, [415] = {.lex_state = 0}, [416] = {.lex_state = 0}, - [417] = {.lex_state = 17}, - [418] = {.lex_state = 0}, - [419] = {.lex_state = 14}, - [420] = {.lex_state = 0}, - [421] = {.lex_state = 17}, - [422] = {.lex_state = 0}, + [417] = {.lex_state = 0}, + [418] = {.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 = 14}, - [427] = {.lex_state = 14}, - [428] = {.lex_state = 14}, - [429] = {.lex_state = 0}, + [426] = {.lex_state = 0}, + [427] = {.lex_state = 60}, + [428] = {.lex_state = 60}, + [429] = {.lex_state = 12}, [430] = {.lex_state = 0}, - [431] = {.lex_state = 14}, + [431] = {.lex_state = 0}, [432] = {.lex_state = 0}, [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 = 12}, + [435] = {.lex_state = 0}, + [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 = 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 = 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 = 0}, + [465] = {.lex_state = 0}, + [466] = {.lex_state = 0}, + [467] = {.lex_state = 12}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -3931,6 +4287,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 +4318,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 +4336,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(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), [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 +4377,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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(239), 1, + STATE(84), 1, + sym_class_name, + STATE(253), 1, sym_type, - STATE(305), 1, - sym_parameter, - STATE(318), 1, + STATE(329), 1, sym_namespace, - STATE(339), 1, + STATE(343), 1, + sym_parameter, + STATE(350), 1, + sym_rest_positional, + STATE(365), 1, sym_required_positionals, - STATE(340), 1, + STATE(367), 1, sym_optional_positionals, - STATE(342), 1, - sym_rest_positional, - STATE(428), 1, + STATE(414), 1, sym_var_name, - STATE(430), 1, + STATE(417), 1, sym_splat_keyword, - STATE(432), 1, + STATE(421), 1, sym_keywords, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4092,7 +4455,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4112,71 +4475,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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(239), 1, + STATE(84), 1, + sym_class_name, + STATE(253), 1, sym_type, - STATE(318), 1, - sym_namespace, - STATE(330), 1, + STATE(319), 1, sym_parameter, - STATE(344), 1, - sym_rest_positional, - STATE(348), 1, + STATE(329), 1, + sym_namespace, + STATE(372), 1, sym_trailing_positionals, - STATE(428), 1, + STATE(374), 1, + sym_rest_positional, + STATE(414), 1, sym_var_name, - STATE(430), 1, + STATE(417), 1, sym_splat_keyword, - STATE(433), 1, + STATE(424), 1, sym_keywords, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4186,7 +4549,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4206,71 +4569,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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(239), 1, + STATE(84), 1, + sym_class_name, + STATE(253), 1, sym_type, - STATE(318), 1, - sym_namespace, - STATE(330), 1, + STATE(319), 1, sym_parameter, - STATE(357), 1, - sym_trailing_positionals, - STATE(359), 1, + STATE(329), 1, + sym_namespace, + STATE(369), 1, sym_rest_positional, - STATE(401), 1, - sym_keywords, - STATE(428), 1, + STATE(373), 1, + sym_trailing_positionals, + STATE(414), 1, sym_var_name, - STATE(430), 1, + STATE(417), 1, sym_splat_keyword, - ACTIONS(41), 2, + STATE(433), 1, + sym_keywords, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4280,7 +4643,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4300,67 +4663,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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(239), 1, + STATE(84), 1, + sym_class_name, + STATE(253), 1, sym_type, - STATE(318), 1, - sym_namespace, - STATE(330), 1, + STATE(319), 1, sym_parameter, - STATE(348), 1, + STATE(329), 1, + sym_namespace, + STATE(370), 1, sym_trailing_positionals, - STATE(428), 1, + STATE(414), 1, sym_var_name, - STATE(430), 1, + STATE(417), 1, sym_splat_keyword, - STATE(433), 1, + STATE(424), 1, sym_keywords, - ACTIONS(41), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4370,7 +4733,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4390,67 +4753,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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(239), 1, + STATE(84), 1, + sym_class_name, + STATE(253), 1, sym_type, - STATE(318), 1, - sym_namespace, - STATE(330), 1, + STATE(319), 1, sym_parameter, - STATE(351), 1, + STATE(329), 1, + sym_namespace, + STATE(373), 1, sym_trailing_positionals, - STATE(418), 1, - sym_keywords, - STATE(428), 1, + STATE(414), 1, sym_var_name, - STATE(430), 1, + STATE(417), 1, sym_splat_keyword, - ACTIONS(41), 2, + STATE(433), 1, + sym_keywords, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4460,7 +4823,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4480,67 +4843,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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(239), 1, + STATE(84), 1, + sym_class_name, + STATE(253), 1, sym_type, - STATE(318), 1, - sym_namespace, - STATE(330), 1, + STATE(319), 1, sym_parameter, - STATE(356), 1, + STATE(329), 1, + sym_namespace, + STATE(361), 1, sym_trailing_positionals, - STATE(401), 1, - sym_keywords, - STATE(428), 1, + STATE(414), 1, sym_var_name, - STATE(430), 1, + STATE(417), 1, sym_splat_keyword, - ACTIONS(41), 2, + STATE(441), 1, + sym_keywords, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(429), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - ACTIONS(29), 9, + ACTIONS(39), 9, sym_self, anon_sym_instance, anon_sym_class, @@ -4550,7 +4913,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4565,84 +4928,97 @@ 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(10), 1, + sym_module_type_parameters, + STATE(13), 1, + aux_sym_class_decl_repeat1, + STATE(20), 1, + sym_module_self_type_binds, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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(195), 16, + 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, + [887] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -4652,57 +5028,154 @@ 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, + 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(103), 1, anon_sym_end, - ACTIONS(75), 1, + ACTIONS(105), 1, + anon_sym_LT, + ACTIONS(107), 1, anon_sym_EQ2, + STATE(11), 1, + sym_module_type_parameters, + STATE(12), 1, + aux_sym_class_decl_repeat1, + STATE(21), 1, + sym_superclass, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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(195), 16, + 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, + [1012] = 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, + anon_sym_module, + ACTIONS(27), 1, + 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(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, - sym_module_type_parameters, - STATE(52), 1, + ACTIONS(109), 1, + anon_sym_end, + STATE(15), 1, sym_module_self_type_binds, - STATE(65), 1, + STATE(16), 1, aux_sym_class_decl_repeat1, - STATE(74), 1, + STATE(67), 1, sym_attribyte_type, - STATE(247), 1, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, sym_visibility, - STATE(373), 1, + STATE(418), 1, sym_const_name, - STATE(395), 1, + STATE(430), 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, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -4719,132 +5192,303 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [971] = 26, + [1128] = 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, - 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, - sym_namespace, - STATE(341), 1, - sym_parameter, - 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, - [1072] = 26, + 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(105), 1, + anon_sym_LT, + ACTIONS(111), 1, + anon_sym_end, + STATE(18), 1, + sym_superclass, + STATE(19), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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(195), 16, + 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, + [1244] = 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(113), 1, + anon_sym_end, + STATE(23), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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(195), 16, + 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, + [1354] = 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(115), 1, + anon_sym_end, + STATE(23), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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(195), 16, + 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, + [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(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, - sym_identifier, - STATE(88), 1, + STATE(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(239), 1, + STATE(84), 1, + sym_class_name, + STATE(253), 1, sym_type, - STATE(318), 1, - sym_namespace, - STATE(381), 1, + STATE(317), 1, sym_parameter, - ACTIONS(41), 2, + STATE(329), 1, + sym_namespace, + STATE(422), 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, @@ -4854,7 +5498,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4869,382 +5513,327 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [1173] = 26, + [1568] = 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(117), 1, + anon_sym_end, + STATE(22), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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(195), 16, + 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, + [1678] = 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(119), 1, + anon_sym_end, + STATE(23), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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(195), 16, + 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, + [1788] = 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, - 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, - [1476] = 26, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(121), 1, + anon_sym_end, + STATE(23), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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(195), 16, + 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, + [1898] = 30, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(25), 1, + ACTIONS(7), 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(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, - sym_namespace, - STATE(362), 1, - sym_parameter, - ACTIONS(41), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(29), 9, - sym_self, - anon_sym_instance, + ACTIONS(9), 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, - [1577] = 26, - ACTIONS(3), 1, - sym_comment, 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(123), 1, + anon_sym_end, + STATE(17), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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(195), 16, + 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, + [2008] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5254,57 +5843,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(125), 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(23), 1, aux_sym_class_decl_repeat1, - STATE(74), 1, + STATE(67), 1, sym_attribyte_type, - STATE(247), 1, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, sym_visibility, - STATE(373), 1, + STATE(418), 1, sym_const_name, - STATE(395), 1, + STATE(430), 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, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5321,201 +5913,377 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1783] = 25, + [2118] = 30, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, + 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(278), 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(109), 1, + anon_sym_end, + STATE(16), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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, - [1881] = 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(195), 16, + 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, + [2228] = 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(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(111), 1, + anon_sym_end, + STATE(19), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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(195), 16, + 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, + [2338] = 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, + 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(127), 1, + anon_sym_end, + STATE(23), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 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(195), 16, + 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, + [2448] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(129), 1, + sym_constant, + ACTIONS(132), 1, + sym_self, + ACTIONS(135), 1, + anon_sym_class, + ACTIONS(138), 1, + sym__scope, + ACTIONS(141), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(144), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(147), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(150), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(153), 1, + anon_sym_PERCENTa_LT, + ACTIONS(156), 1, + anon_sym_end, + ACTIONS(158), 1, + anon_sym_module, + ACTIONS(161), 1, + anon_sym_interface, + ACTIONS(164), 1, + anon_sym_type, + ACTIONS(167), 1, + anon_sym_def, + ACTIONS(176), 1, + anon_sym_include, + ACTIONS(179), 1, + anon_sym_extend, + ACTIONS(182), 1, + anon_sym_prepend, + ACTIONS(185), 1, + anon_sym_alias, + STATE(23), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, + sym_attribyte_type, + STATE(129), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(263), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(430), 1, + sym_namespace, + ACTIONS(170), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(188), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(173), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(195), 16, + 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, + [2558] = 26, + 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(93), 1, + ACTIONS(191), 1, sym_identifier, - STATE(88), 1, + ACTIONS(193), 1, + anon_sym_RBRACK, + STATE(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(141), 1, + STATE(84), 1, + sym_class_name, + STATE(262), 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, @@ -5525,7 +6293,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5540,55 +6308,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2077] = 25, + [2659] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(140), 1, + STATE(84), 1, + sym_class_name, + STATE(253), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + STATE(423), 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, @@ -5598,7 +6368,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5613,55 +6383,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2175] = 25, + [2760] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(132), 1, + STATE(84), 1, + sym_class_name, + STATE(253), 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, @@ -5671,7 +6443,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5686,55 +6458,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2273] = 25, + [2861] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(112), 1, + STATE(84), 1, + sym_class_name, + STATE(268), 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 +6518,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5759,55 +6533,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2371] = 25, + [2962] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(255), 1, + STATE(84), 1, + sym_class_name, + STATE(253), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + STATE(366), 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 +6593,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5832,55 +6608,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2469] = 25, + [3063] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(127), 1, + STATE(84), 1, + sym_class_name, + STATE(253), 1, sym_type, - STATE(318), 1, + STATE(329), 1, sym_namespace, - ACTIONS(41), 2, + STATE(375), 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 +6668,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5905,55 +6683,57 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2567] = 25, + [3164] = 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(197), 1, + anon_sym_RBRACK, + STATE(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(258), 1, + STATE(84), 1, + sym_class_name, + STATE(268), 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, @@ -5963,7 +6743,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -5978,55 +6758,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2665] = 25, + [3265] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(271), 1, + STATE(84), 1, + sym_class_name, + STATE(102), 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, @@ -6036,7 +6816,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6051,55 +6831,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2763] = 25, + [3363] = 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(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, + STATE(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(308), 1, + STATE(84), 1, + sym_class_name, + STATE(115), 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 +6889,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(290), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6124,55 +6904,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2861] = 25, + [3461] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(126), 1, + STATE(84), 1, + sym_class_name, + 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, @@ -6182,7 +6962,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6197,55 +6977,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2959] = 25, + [3559] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(213), 1, + STATE(84), 1, + sym_class_name, + STATE(291), 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 +7035,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6270,55 +7050,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3057] = 25, + [3657] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(138), 1, + STATE(84), 1, + sym_class_name, + 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, @@ -6328,7 +7108,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6343,55 +7123,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3155] = 25, + [3755] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(128), 1, + STATE(84), 1, + sym_class_name, + STATE(118), 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, @@ -6401,7 +7181,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6416,55 +7196,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3253] = 25, + [3853] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(125), 1, + STATE(84), 1, + sym_class_name, + STATE(297), 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 +7254,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6489,55 +7269,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3351] = 25, + [3951] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(137), 1, + STATE(84), 1, + sym_class_name, + 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, @@ -6547,7 +7327,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6562,55 +7342,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3449] = 25, + [4049] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(241), 1, + STATE(84), 1, + sym_class_name, + 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, @@ -6620,7 +7400,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6635,55 +7415,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3547] = 25, + [4147] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(251), 1, + STATE(84), 1, + sym_class_name, + STATE(286), 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 +7473,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6708,55 +7488,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3645] = 25, + [4245] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(113), 1, + STATE(84), 1, + sym_class_name, + STATE(97), 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 +7546,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6781,55 +7561,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3743] = 25, + [4343] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(143), 1, + STATE(84), 1, + sym_class_name, + STATE(224), 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 +7619,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6854,55 +7634,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3841] = 25, + [4441] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(277), 1, + STATE(84), 1, + sym_class_name, + STATE(304), 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 +7692,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6927,55 +7707,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3939] = 25, + [4539] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(275), 1, + STATE(84), 1, + sym_class_name, + STATE(128), 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 +7765,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7000,55 +7780,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4037] = 25, + [4637] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(144), 1, + STATE(84), 1, + sym_class_name, + STATE(277), 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 +7838,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7073,55 +7853,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4135] = 25, + [4735] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(257), 1, + STATE(84), 1, + sym_class_name, + STATE(275), 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 +7911,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7146,55 +7926,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4233] = 25, + [4833] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(122), 1, + STATE(84), 1, + sym_class_name, + STATE(268), 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 +7984,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7219,55 +7999,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4331] = 25, + [4931] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(124), 1, + STATE(84), 1, + sym_class_name, + 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, @@ -7277,7 +8057,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7292,55 +8072,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4429] = 25, + [5029] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(123), 1, + STATE(84), 1, + sym_class_name, + 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, @@ -7350,7 +8130,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7365,55 +8145,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4527] = 25, + [5127] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(136), 1, + STATE(84), 1, + sym_class_name, + STATE(122), 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 +8203,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7438,55 +8218,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4625] = 25, + [5225] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(129), 1, + STATE(84), 1, + sym_class_name, + STATE(142), 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 +8276,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7511,55 +8291,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4723] = 25, + [5323] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, + STATE(84), 1, + sym_class_name, STATE(135), 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 +8349,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7584,55 +8364,55 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4821] = 25, + [5421] = 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(81), 1, sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(92), 1, + STATE(83), 1, sym_alias_name, - STATE(134), 1, + STATE(84), 1, + sym_class_name, + STATE(148), 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 +8422,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(114), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7657,794 +8437,783 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4919] = 25, + [5519] = 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(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, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + STATE(81), 1, + sym_interface_name, + STATE(83), 1, + sym_alias_name, + STATE(84), 1, + sym_class_name, + STATE(267), 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(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, + [5617] = 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(81), 1, + sym_interface_name, + STATE(83), 1, + sym_alias_name, + STATE(84), 1, + sym_class_name, + STATE(146), 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(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, + [5715] = 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(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, + 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(81), 1, + sym_interface_name, + STATE(83), 1, + sym_alias_name, + STATE(84), 1, + sym_class_name, + STATE(132), 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(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, + [5813] = 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(81), 1, + sym_interface_name, + STATE(83), 1, + sym_alias_name, + STATE(84), 1, + sym_class_name, + STATE(116), 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(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, + [5911] = 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(81), 1, + sym_interface_name, + STATE(83), 1, + sym_alias_name, + STATE(84), 1, + sym_class_name, + STATE(139), 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(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, + [6009] = 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(81), 1, + sym_interface_name, + STATE(83), 1, + sym_alias_name, + STATE(84), 1, + sym_class_name, + STATE(141), 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(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, + [6107] = 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(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(81), 1, + sym_interface_name, + STATE(83), 1, + sym_alias_name, + STATE(84), 1, + sym_class_name, + STATE(138), 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(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, + [6205] = 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(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(81), 1, + sym_interface_name, + STATE(83), 1, + sym_alias_name, + STATE(84), 1, + sym_class_name, + STATE(143), 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(3), 1, - sym_comment, - ACTIONS(164), 20, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, 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, - 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, - [5521] = 23, + 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, + [6303] = 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(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, + anon_sym_CARET, + ACTIONS(191), 1, + sym_identifier, + 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(328), 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, - [5611] = 23, + ACTIONS(199), 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(278), 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, + [6401] = 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(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, - 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(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, + sym_identifier, + [6452] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(174), 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(176), 22, + ACTIONS(213), 1, + sym__scope, + ACTIONS(209), 20, + ts_builtin_sym_end, sym_constant, + anon_sym_RPAREN, 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, - [5841] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, + 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(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, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + [6503] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(180), 20, + ACTIONS(215), 1, + sym_identifier, + ACTIONS(217), 1, + sym_constant, + ACTIONS(219), 1, 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, + ACTIONS(225), 1, + aux_sym_method_name_token1, + STATE(77), 1, + sym_method_name, + STATE(358), 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, @@ -8452,15 +9221,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 +9240,32 @@ 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, + [6565] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(184), 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(352), 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, @@ -8499,15 +9273,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 +9292,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, - [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, + [6627] = 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, - 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, + ACTIONS(231), 1, sym_self, - anon_sym_LPAREN, + STATE(325), 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, @@ -8680,15 +9323,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(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, @@ -8703,23 +9342,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, - [6261] = 3, + [6686] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(196), 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(439), 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, @@ -8727,15 +9373,11 @@ 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(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, @@ -8750,100 +9392,80 @@ 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, - [6311] = 23, + [6745] = 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(235), 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, + STATE(454), 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, + [6804] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(202), 1, + ACTIONS(225), 1, + aux_sym_method_name_token1, + ACTIONS(227), 1, sym_identifier, - ACTIONS(204), 1, + ACTIONS(229), 1, sym_constant, - ACTIONS(206), 1, + ACTIONS(237), 1, sym_self, - ACTIONS(212), 1, - aux_sym_method_name_token1, - STATE(77), 1, + STATE(327), 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 +9473,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 +9492,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6463] = 10, + [6863] = 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(239), 1, + sym_identifier, + STATE(405), 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 +9521,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 +9540,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6525] = 9, + [6919] = 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(239), 1, + sym_identifier, + STATE(348), 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 +9569,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 +9588,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6584] = 9, + [6975] = 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(220), 1, - sym_self, - STATE(384), 1, + ACTIONS(239), 1, + sym_identifier, + STATE(409), 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, @@ -9003,7 +9617,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, @@ -9022,30 +9636,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6643] = 9, + [7031] = 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(222), 1, - sym_self, - STATE(327), 1, + ACTIONS(239), 1, + sym_identifier, + STATE(188), 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, @@ -9053,7 +9665,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, @@ -9072,30 +9684,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6702] = 9, + [7087] = 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(239), 1, + sym_identifier, + STATE(341), 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, @@ -9103,7 +9713,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 +9732,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6761] = 8, + [7143] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, - aux_sym_method_name_token1, - ACTIONS(216), 1, - sym_constant, - ACTIONS(226), 1, + ACTIONS(241), 1, sym_identifier, - STATE(328), 1, + ACTIONS(243), 1, + sym_constant, + ACTIONS(249), 1, + aux_sym_method_name_token1, + STATE(210), 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(247), 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, @@ -9151,7 +9761,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + ACTIONS(245), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9170,28 +9780,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6817] = 8, + [7199] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, + ACTIONS(249), 1, aux_sym_method_name_token1, - ACTIONS(216), 1, - sym_constant, - ACTIONS(226), 1, + ACTIONS(251), 1, sym_identifier, - STATE(192), 1, + ACTIONS(253), 1, + sym_constant, + STATE(210), 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(247), 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, @@ -9199,7 +9809,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + ACTIONS(245), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9218,28 +9828,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6873] = 8, + [7255] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(228), 1, + ACTIONS(249), 1, + aux_sym_method_name_token1, + ACTIONS(251), 1, sym_identifier, - ACTIONS(230), 1, + ACTIONS(253), 1, sym_constant, - ACTIONS(236), 1, - aux_sym_method_name_token1, - STATE(192), 1, + STATE(188), 1, sym_method_name, - STATE(199), 5, + STATE(202), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(234), 11, + ACTIONS(247), 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, @@ -9247,7 +9857,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(232), 18, + ACTIONS(245), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9266,28 +9876,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6929] = 8, + [7311] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, - aux_sym_method_name_token1, - ACTIONS(216), 1, - sym_constant, - ACTIONS(226), 1, + ACTIONS(241), 1, sym_identifier, - STATE(412), 1, + ACTIONS(243), 1, + sym_constant, + ACTIONS(249), 1, + aux_sym_method_name_token1, + STATE(188), 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(247), 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, @@ -9295,95 +9905,292 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(208), 18, + ACTIONS(245), 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, + [7367] = 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, + [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, + 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), 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, + [7461] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(267), 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(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, + 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, + [7506] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(101), 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, + [7555] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(99), 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_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, - [6985] = 8, + 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, + [7604] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(228), 1, + 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(230), 1, + ACTIONS(277), 19, + ts_builtin_sym_end, 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, - 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, - [7041] = 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, + [7648] = 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(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, @@ -9391,11 +10198,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, @@ -9410,28 +10221,17 @@ 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, + [7692] = 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(419), 1, - sym_method_name, - STATE(60), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(210), 11, + ACTIONS(285), 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, @@ -9439,11 +10239,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(287), 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, @@ -9458,28 +10262,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7153] = 8, + aux_sym_method_name_token1, + [7736] = 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(289), 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 +10280,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(291), 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,102 +10303,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7209] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(242), 1, - sym__scope, - ACTIONS(238), 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, - anon_sym_LT, - anon_sym_EQ2, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(240), 20, - sym_self, - anon_sym_class, - anon_sym_COLON, - anon_sym_use, - anon_sym_as, - 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, - [7255] = 4, + aux_sym_method_name_token1, + [7780] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(248), 1, - sym__scope, - ACTIONS(244), 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, - anon_sym_LT, - anon_sym_EQ2, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(246), 20, + ACTIONS(293), 14, sym_self, - anon_sym_class, - anon_sym_COLON, - anon_sym_use, - anon_sym_as, - 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, - [7301] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(250), 1, - anon_sym_QMARK, - ACTIONS(252), 1, - anon_sym_EQ, - ACTIONS(174), 11, + 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, @@ -9609,12 +10321,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(176), 21, + sym_identifier, + ACTIONS(295), 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, @@ -9630,19 +10345,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - sym_identifier, - [7347] = 5, + [7824] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(254), 1, - anon_sym_QMARK, - ACTIONS(256), 1, - anon_sym_EQ, - ACTIONS(174), 11, + ACTIONS(297), 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, @@ -9650,12 +10362,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(176), 21, + sym_identifier, + ACTIONS(299), 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, @@ -9671,16 +10386,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - sym_identifier, - [7393] = 3, + [7868] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(258), 13, + ACTIONS(301), 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, @@ -9689,12 +10404,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, sym_identifier, - ACTIONS(260), 20, + ACTIONS(303), 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, @@ -9710,28 +10427,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [7434] = 5, + [7912] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(105), 1, - sym_type_arguments, - ACTIONS(262), 13, + ACTIONS(309), 2, + anon_sym_QMARK, + anon_sym_EQ, + ACTIONS(305), 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(264), 17, + ACTIONS(307), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9749,26 +10469,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7478] = 3, + [7958] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(268), 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(270), 17, + ACTIONS(313), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9786,28 +10490,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7518] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(106), 1, - sym_type_arguments, - ACTIONS(272), 13, + ACTIONS(311), 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, - ACTIONS(274), 17, + [8002] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(317), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9825,26 +10531,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7562] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(276), 15, + ACTIONS(315), 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(278), 17, + [8045] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(321), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9862,14 +10571,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(319), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -9880,10 +10582,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, + [8088] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(325), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9901,25 +10611,50 @@ 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(323), 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, + [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(286), 17, + ACTIONS(329), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9937,25 +10672,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7685] = 3, + [8178] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(288), 14, - 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, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(290), 17, + ACTIONS(337), 17, sym_self, anon_sym_class, anon_sym_end, @@ -9973,26 +10693,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7724] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(296), 2, - anon_sym_QMARK, - anon_sym_EQ, - ACTIONS(292), 12, + 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, - ACTIONS(294), 17, + [8221] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(341), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10010,10 +10733,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7765] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(298), 13, + ACTIONS(339), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10024,10 +10744,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(300), 17, + [8264] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(345), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10045,10 +10773,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7803] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(302), 13, + ACTIONS(343), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10059,10 +10784,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(304), 17, + [8307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(349), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10080,10 +10813,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(347), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10094,10 +10824,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, + [8350] = 5, + ACTIONS(3), 1, + sym_comment, + 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(308), 17, + ACTIONS(353), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10115,24 +10874,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7879] = 3, + [8397] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(310), 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(312), 17, + ACTIONS(357), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10150,10 +10895,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(355), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10164,10 +10906,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(294), 17, + [8440] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10185,10 +10935,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7955] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(314), 13, + ACTIONS(359), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10199,10 +10946,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(316), 17, + [8483] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(365), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10220,10 +10975,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [7993] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(318), 13, + ACTIONS(363), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10234,10 +10986,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(320), 17, + [8526] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(369), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10255,10 +11015,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(367), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10269,10 +11026,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(324), 17, + [8569] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(307), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10290,10 +11055,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8069] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(326), 13, + ACTIONS(305), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10304,10 +11066,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(328), 17, + [8612] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(373), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10325,10 +11095,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8107] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(330), 13, + ACTIONS(371), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10339,10 +11106,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(332), 17, + [8655] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(377), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10360,10 +11135,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(375), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10374,10 +11146,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, + [8698] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(381), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10395,10 +11175,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(379), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10409,10 +11186,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(340), 17, + [8741] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10430,10 +11215,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8221] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(342), 13, + ACTIONS(383), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10444,10 +11226,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(344), 17, + [8784] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(389), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10465,10 +11255,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8259] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(346), 13, + ACTIONS(387), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10479,10 +11266,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(348), 17, + [8827] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(393), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10500,10 +11295,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8297] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(350), 13, + ACTIONS(391), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10514,10 +11306,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(352), 17, + [8870] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(397), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10535,24 +11335,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8335] = 3, + ACTIONS(395), 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, + [8913] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(354), 13, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(399), 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(356), 17, + ACTIONS(401), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10570,14 +11395,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8373] = 5, + [8958] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(358), 11, + ACTIONS(403), 16, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10586,10 +11411,15 @@ 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(360), 17, + ACTIONS(405), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10607,26 +11437,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8415] = 5, + [9005] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(366), 11, - 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, + ACTIONS(409), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10644,10 +11458,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8457] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(370), 13, + ACTIONS(407), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10658,10 +11469,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, + [9048] = 5, + ACTIONS(3), 1, + sym_comment, + 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(372), 17, + ACTIONS(413), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10679,24 +11519,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8495] = 3, + [9095] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(374), 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(376), 17, + ACTIONS(417), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10714,10 +11540,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8533] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(378), 13, + ACTIONS(415), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10728,10 +11551,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(380), 17, + [9138] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(421), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10749,10 +11580,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8571] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(382), 13, + ACTIONS(419), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10763,10 +11591,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(384), 17, + [9181] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(425), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10784,10 +11620,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8609] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(386), 13, + ACTIONS(423), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10798,10 +11631,60 @@ 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, + [9224] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(427), 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(388), 17, + ACTIONS(429), 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, + [9271] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(433), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10819,10 +11702,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8647] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(390), 13, + ACTIONS(431), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10833,16 +11713,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(392), 17, + [9314] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(435), 1, + anon_sym_QMARK, + ACTIONS(437), 1, + anon_sym_EQ, + ACTIONS(289), 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(291), 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, + [9360] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(439), 1, + anon_sym_QMARK, + ACTIONS(441), 1, + anon_sym_EQ, + ACTIONS(289), 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(291), 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, + [9406] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(443), 13, + sym_self, + 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(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, + [9447] = 9, + ACTIONS(3), 1, + sym_comment, + 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(133), 1, + sym_annotation, + ACTIONS(447), 24, + sym_constant, 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, @@ -10853,31 +11881,33 @@ 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, + [9498] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(394), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, + ACTIONS(331), 1, anon_sym_AMP, + ACTIONS(333), 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(466), 1, + anon_sym_PIPE, + ACTIONS(464), 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, @@ -10888,31 +11918,87 @@ 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, + [9540] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(398), 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, + 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, + 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(67), 1, + sym_attribyte_type, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(196), 1, + sym_attribute_member, + STATE(197), 1, + sym_visibility_member, + STATE(263), 1, + sym_visibility, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, sym_ivar_name, sym_cvar_name, - ACTIONS(400), 17, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(194), 6, + sym_ivar_member, + sym_method_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [9616] = 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(468), 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, @@ -10923,33 +12009,86 @@ 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, + [9658] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_constant, + 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, + 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(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(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(402), 11, + ACTIONS(466), 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(404), 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, @@ -10960,33 +12099,62 @@ 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, + [9774] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(406), 11, - ts_builtin_sym_end, + ACTIONS(474), 29, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, + sym_self, + anon_sym_LPAREN, + anon_sym_class, + 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, + 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, - ACTIONS(408), 17, + [9809] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(476), 29, + sym_constant, 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, @@ -10997,29 +12165,27 @@ 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, + [9844] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(410), 11, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, + ACTIONS(466), 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(412), 17, + ACTIONS(478), 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, @@ -11034,28 +12200,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, + [9884] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(364), 1, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(414), 12, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, + ACTIONS(466), 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(480), 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 +12235,29 @@ 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, + [9924] = 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(418), 22, - ts_builtin_sym_end, + ACTIONS(484), 1, + anon_sym_COLON, + ACTIONS(482), 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, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11103,26 +12270,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [8964] = 5, + [9960] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(422), 22, - ts_builtin_sym_end, + ACTIONS(486), 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 +12304,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9001] = 5, + [9998] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(424), 22, - ts_builtin_sym_end, + ACTIONS(488), 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,22 +12339,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9038] = 5, + [10038] = 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(426), 20, + ACTIONS(492), 1, + anon_sym_COLON, + ACTIONS(490), 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, @@ -11197,20 +12372,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9073] = 3, + [10074] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(430), 1, - anon_sym_COLON, - ACTIONS(428), 22, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(494), 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_LT, anon_sym_module, - anon_sym_EQ2, anon_sym_interface, anon_sym_type, anon_sym_def, @@ -11225,20 +12407,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9104] = 3, + [10114] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(434), 1, - anon_sym_COLON, - ACTIONS(432), 22, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + 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_LT, anon_sym_module, - anon_sym_EQ2, anon_sym_interface, anon_sym_type, anon_sym_def, @@ -11253,20 +12442,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9135] = 5, + [10154] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(436), 20, + 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, @@ -11283,20 +12477,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9170] = 5, + [10194] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, + ACTIONS(263), 1, anon_sym_LBRACK, - ACTIONS(440), 1, + ACTIONS(502), 1, anon_sym_COMMA, - STATE(176), 1, + STATE(184), 1, sym_type_arguments, - ACTIONS(438), 20, + ACTIONS(500), 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 +12512,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9205] = 5, + [10234] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(442), 20, + ACTIONS(504), 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, @@ -11343,19 +12546,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9240] = 4, + [10272] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(444), 21, + 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, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11372,20 +12581,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9273] = 5, + [10312] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(446), 20, + 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, @@ -11402,19 +12616,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9308] = 4, + [10352] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(448), 21, + ACTIONS(510), 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, @@ -11431,20 +12650,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9341] = 5, + [10390] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(450), 20, + ACTIONS(512), 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,62 +12685,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9376] = 14, + [10430] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(199), 1, + sym_type_arguments, + ACTIONS(514), 25, 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, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_end, 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(219), 2, - sym_use_directive, - aux_sym_program_repeat1, - STATE(200), 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, - [9429] = 4, + 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, + [10467] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(454), 21, + ACTIONS(516), 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, @@ -11529,24 +12749,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9462] = 5, + [10500] = 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(518), 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 +12780,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9497] = 5, + [10533] = 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(520), 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,20 +12811,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9532] = 5, + [10566] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(524), 1, anon_sym_PIPE, - ACTIONS(460), 20, + STATE(154), 1, + aux_sym_method_types_repeat1, + 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, @@ -11619,24 +12844,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9567] = 5, + [10603] = 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(462), 20, + ACTIONS(527), 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, @@ -11649,15 +12875,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9602] = 2, + [10636] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(464), 22, + ACTIONS(529), 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,15 +12906,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9630] = 2, + [10669] = 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(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(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, + [10736] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(466), 22, + ACTIONS(531), 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, @@ -11701,15 +12985,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9658] = 2, + [10769] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(468), 22, + ACTIONS(533), 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, @@ -11727,15 +13016,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9686] = 2, + [10802] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(470), 22, + ACTIONS(535), 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, @@ -11753,22 +13047,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9714] = 4, + [10835] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(474), 1, - anon_sym_PIPE, - STATE(157), 1, - aux_sym_method_types_repeat1, - ACTIONS(472), 20, + ACTIONS(537), 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, @@ -11781,15 +13078,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9746] = 2, + [10868] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(476), 22, + ACTIONS(539), 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,15 +13109,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9774] = 2, + [10901] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(478), 22, + ACTIONS(541), 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, @@ -11833,15 +13140,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9802] = 2, + [10934] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(480), 22, + ACTIONS(543), 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, @@ -11859,15 +13171,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9830] = 2, + [10967] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(482), 22, + ACTIONS(545), 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 +13202,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9858] = 2, + [11000] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(484), 22, + ACTIONS(547), 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,18 +13233,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9886] = 4, + [11033] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(486), 1, + ACTIONS(549), 1, anon_sym_QMARK, - ACTIONS(488), 1, + ACTIONS(551), 1, anon_sym_EQ, - ACTIONS(176), 20, + ACTIONS(291), 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, @@ -11939,15 +13266,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9918] = 2, + [11070] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(490), 22, + ACTIONS(553), 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 +13297,71 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9946] = 4, + [11103] = 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(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(474), 1, - anon_sym_PIPE, - STATE(172), 1, - aux_sym_method_types_repeat1, - ACTIONS(492), 20, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(189), 1, + sym_type_arguments, + ACTIONS(557), 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 +13378,71 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9978] = 4, + [11207] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(474), 1, - anon_sym_PIPE, - STATE(173), 1, - aux_sym_method_types_repeat1, - ACTIONS(492), 20, + ACTIONS(559), 1, + ts_builtin_sym_end, + ACTIONS(561), 1, + sym_constant, + 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, + ACTIONS(585), 1, + anon_sym_module, + ACTIONS(588), 1, + anon_sym_interface, + ACTIONS(591), 1, + anon_sym_type, + ACTIONS(594), 1, + sym_global_name, + 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(263), 1, + anon_sym_LBRACK, + STATE(208), 1, + sym_type_arguments, + ACTIONS(597), 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,15 +13459,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10010] = 2, + [11311] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(494), 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, @@ -12047,18 +13490,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10038] = 4, + [11344] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, + ACTIONS(263), 1, anon_sym_LBRACK, - STATE(194), 1, + STATE(206), 1, sym_type_arguments, - ACTIONS(496), 20, + ACTIONS(601), 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, @@ -12075,20 +13523,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10070] = 2, + [11381] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(498), 22, - 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, 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, @@ -12101,15 +13556,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10098] = 2, + [11418] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(500), 22, + ACTIONS(607), 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, @@ -12127,18 +13587,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10126] = 4, + [11451] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(177), 1, - sym_type_arguments, - ACTIONS(502), 20, + ACTIONS(611), 1, + anon_sym_PIPE, + STATE(154), 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, @@ -12155,20 +13620,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10158] = 2, + [11488] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(504), 22, - 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, 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, @@ -12181,15 +13653,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10186] = 2, + [11525] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(506), 22, + ACTIONS(615), 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 +13684,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10214] = 4, + [11558] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(508), 1, - anon_sym_QMARK, - ACTIONS(510), 1, - anon_sym_EQ, - ACTIONS(176), 20, + ACTIONS(617), 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, @@ -12235,20 +13714,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10246] = 2, + [11590] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(512), 22, - ts_builtin_sym_end, + ACTIONS(619), 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, @@ -12261,20 +13744,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10274] = 2, + [11622] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(514), 22, - ts_builtin_sym_end, + ACTIONS(621), 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 +13774,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10302] = 4, + [11654] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(190), 1, - sym_type_arguments, - ACTIONS(516), 20, + ACTIONS(522), 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 +13804,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10334] = 4, + [11686] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(266), 1, - anon_sym_LBRACK, - STATE(193), 1, - sym_type_arguments, - ACTIONS(518), 20, + ACTIONS(625), 1, + anon_sym_COMMA, + 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, @@ -12343,44 +13835,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10366] = 2, + [11720] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(520), 22, - ts_builtin_sym_end, + ACTIONS(627), 26, sym_constant, sym_self, anon_sym_class, - sym__scope, - 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, - [10394] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(524), 1, anon_sym_PIPE, - STATE(172), 1, - aux_sym_method_types_repeat1, - ACTIONS(522), 20, - 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, @@ -12397,18 +13865,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10426] = 4, + [11752] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(474), 1, - anon_sym_PIPE, - STATE(172), 1, - aux_sym_method_types_repeat1, - ACTIONS(527), 20, + 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, @@ -12425,15 +13894,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10458] = 2, + [11783] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(529), 21, + ACTIONS(631), 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 +13923,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10485] = 2, + [11814] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(522), 21, + ACTIONS(633), 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 +13952,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10512] = 3, + [11845] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(533), 1, - anon_sym_COMMA, - ACTIONS(531), 20, + ACTIONS(635), 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 +13981,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10541] = 2, + [11876] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(535), 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, @@ -12525,14 +14010,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10567] = 2, + [11907] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(472), 20, + ACTIONS(613), 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 +14039,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, + [11938] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(537), 20, + ACTIONS(639), 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 +14068,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10665] = 2, + [11969] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(194), 20, + ACTIONS(641), 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 +14097,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10691] = 2, + [12000] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(539), 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, @@ -12655,14 +14126,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10717] = 2, + [12031] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(198), 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, @@ -12679,14 +14155,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10743] = 2, + [12062] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(541), 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, @@ -12703,14 +14184,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10769] = 2, + [12093] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(166), 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, @@ -12727,14 +14213,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10795] = 2, + [12124] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(543), 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, @@ -12751,14 +14242,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10821] = 2, + [12155] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(545), 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, @@ -12775,14 +14271,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10847] = 2, + [12186] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(547), 20, + ACTIONS(295), 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 +14300,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10873] = 2, + [12217] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(186), 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, @@ -12823,14 +14329,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10899] = 2, + [12248] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(549), 20, + ACTIONS(291), 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 +14358,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, + [12279] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(574), 20, + ACTIONS(287), 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 +14387,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10997] = 2, + [12310] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(576), 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, @@ -12929,14 +14416,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11023] = 2, + [12341] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(578), 20, + ACTIONS(299), 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 +14445,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11049] = 2, + [12372] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(182), 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, @@ -12977,14 +14474,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11075] = 2, + [12403] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(580), 20, + ACTIONS(303), 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 +14503,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11101] = 2, + [12434] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(582), 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, @@ -13025,14 +14532,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11127] = 2, + [12465] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(584), 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, @@ -13049,14 +14561,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11153] = 2, + [12496] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(176), 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, @@ -13073,7 +14590,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11179] = 12, + [12527] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -13083,645 +14600,1057 @@ 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(133), 1, + sym_annotation, + STATE(418), 1, sym_const_name, - STATE(395), 1, + STATE(430), 1, sym_namespace, - STATE(191), 10, - sym__decl, + STATE(235), 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, - ACTIONS(3), 1, - sym_comment, - ACTIONS(69), 1, - anon_sym_LBRACK, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(590), 1, - anon_sym_end, - ACTIONS(594), 1, - anon_sym_alias, - STATE(205), 1, - aux_sym_interface_decl_repeat1, - STATE(207), 1, - sym_module_type_parameters, - 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, - [11291] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(77), 1, - anon_sym_def, - ACTIONS(83), 1, - anon_sym_include, - ACTIONS(594), 1, - anon_sym_alias, - ACTIONS(596), 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, - [11325] = 5, - 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, - anon_sym_end, - anon_sym_def, - anon_sym_LPAREN_RPAREN, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, - [11349] = 10, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + [12589] = 19, 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(79), 1, + anon_sym_LBRACK, + ACTIONS(87), 1, anon_sym_def, - ACTIONS(83), 1, + ACTIONS(93), 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(3), 1, - sym_comment, - ACTIONS(602), 1, + ACTIONS(661), 1, anon_sym_end, - ACTIONS(604), 1, - anon_sym_def, - ACTIONS(610), 1, - anon_sym_include, - ACTIONS(613), 1, + ACTIONS(665), 1, anon_sym_alias, - STATE(206), 1, + STATE(133), 1, + sym_annotation, + STATE(213), 1, + sym_module_type_parameters, + STATE(218), 1, aux_sym_interface_decl_repeat1, - STATE(242), 1, + STATE(228), 1, + aux_sym__decl_repeat1, + STATE(238), 1, sym_interface_member, - STATE(424), 1, + STATE(435), 1, sym_visibility, - ACTIONS(607), 2, + ACTIONS(663), 2, anon_sym_public, anon_sym_private, - STATE(249), 3, + STATE(239), 3, sym_method_member, sym_include_member, sym_alias_member, - [11417] = 10, + [12650] = 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(665), 1, anon_sym_alias, - ACTIONS(616), 1, + ACTIONS(667), 1, anon_sym_end, - STATE(203), 1, + STATE(133), 1, + sym_annotation, + STATE(219), 1, aux_sym_interface_decl_repeat1, - STATE(242), 1, + STATE(228), 1, + aux_sym__decl_repeat1, + STATE(238), 1, sym_interface_member, - STATE(424), 1, + STATE(435), 1, sym_visibility, - ACTIONS(592), 2, + ACTIONS(663), 2, anon_sym_public, anon_sym_private, - STATE(249), 3, + STATE(239), 3, sym_method_member, sym_include_member, sym_alias_member, - [11451] = 5, + [12705] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(174), 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(669), 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(3), 1, - sym_comment, - ACTIONS(622), 1, - anon_sym_COMMA, - STATE(220), 1, - aux_sym_use_directive_repeat1, - ACTIONS(620), 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, - [11496] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(626), 1, - anon_sym_COMMA, - STATE(210), 1, - aux_sym_use_directive_repeat1, - ACTIONS(624), 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, - [11517] = 12, + 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(204), 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, + [12766] = 20, 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(669), 1, anon_sym_LPAREN, - ACTIONS(631), 1, + ACTIONS(671), 1, anon_sym_LBRACK, - ACTIONS(633), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(635), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(637), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - ACTIONS(639), 1, + ACTIONS(679), 1, anon_sym_DOT_DOT_DOT, - STATE(149), 1, + STATE(133), 1, + sym_annotation, + STATE(178), 1, sym_method_type, - STATE(201), 1, + STATE(181), 1, + sym_method_type_body, + STATE(186), 1, sym_method_types, - STATE(234), 1, + STATE(232), 1, sym_method_type_parameters, - STATE(273), 1, + STATE(234), 1, + aux_sym__decl_repeat1, + STATE(287), 1, sym_parameters, - STATE(405), 1, + STATE(404), 1, sym_block, - [11554] = 12, + [12827] = 20, 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(669), 1, anon_sym_LPAREN, - ACTIONS(631), 1, + ACTIONS(671), 1, anon_sym_LBRACK, - ACTIONS(633), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(635), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(637), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - ACTIONS(639), 1, + ACTIONS(679), 1, anon_sym_DOT_DOT_DOT, - STATE(149), 1, + STATE(133), 1, + sym_annotation, + STATE(178), 1, sym_method_type, - STATE(187), 1, + STATE(181), 1, + sym_method_type_body, + STATE(209), 1, sym_method_types, - STATE(234), 1, + STATE(232), 1, sym_method_type_parameters, - STATE(273), 1, + STATE(234), 1, + aux_sym__decl_repeat1, + STATE(287), 1, sym_parameters, - STATE(405), 1, + STATE(404), 1, sym_block, - [11591] = 5, + [12888] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 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(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(704), 1, + anon_sym_include, + ACTIONS(707), 1, + anon_sym_alias, + STATE(133), 1, + sym_annotation, + STATE(217), 1, + aux_sym_interface_decl_repeat1, + STATE(228), 1, + aux_sym__decl_repeat1, + STATE(238), 1, + sym_interface_member, + STATE(435), 1, + sym_visibility, + ACTIONS(701), 2, + anon_sym_public, + anon_sym_private, + STATE(239), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [12943] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(645), 1, - anon_sym_as, - ACTIONS(643), 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, - [11633] = 11, + 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, + ACTIONS(710), 1, + anon_sym_end, + STATE(133), 1, + sym_annotation, + STATE(217), 1, + aux_sym_interface_decl_repeat1, + STATE(228), 1, + aux_sym__decl_repeat1, + 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(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(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, + ACTIONS(712), 1, + anon_sym_end, + STATE(133), 1, + sym_annotation, + STATE(217), 1, + aux_sym_interface_decl_repeat1, + STATE(228), 1, + aux_sym__decl_repeat1, + 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(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(669), 1, anon_sym_LPAREN, - ACTIONS(631), 1, + ACTIONS(671), 1, anon_sym_LBRACK, - ACTIONS(633), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(635), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(637), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - ACTIONS(639), 1, + ACTIONS(679), 1, anon_sym_DOT_DOT_DOT, - STATE(149), 1, + STATE(133), 1, + sym_annotation, + STATE(178), 1, sym_method_type, - STATE(196), 1, + STATE(181), 1, + sym_method_type_body, + STATE(192), 1, sym_method_types, - STATE(234), 1, + STATE(232), 1, sym_method_type_parameters, - STATE(273), 1, + STATE(234), 1, + aux_sym__decl_repeat1, + STATE(287), 1, sym_parameters, - STATE(405), 1, + STATE(404), 1, sym_block, - [11705] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(25), 1, - sym_constant, - ACTIONS(649), 1, - sym_interface, - ACTIONS(651), 1, - anon_sym_singleton, - STATE(88), 1, - sym_interface_name, - STATE(90), 1, - sym_class_name, - STATE(353), 1, - sym_bound_type, - STATE(372), 1, - sym_namespace, - STATE(350), 3, - sym_class_type, - sym_interface_type, - sym_singleton_type, - [11738] = 12, + [13114] = 18, 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(669), 1, anon_sym_LPAREN, - ACTIONS(631), 1, + ACTIONS(671), 1, anon_sym_LBRACK, - ACTIONS(633), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(635), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(637), 1, + ACTIONS(677), 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, + STATE(133), 1, + sym_annotation, + STATE(181), 1, + sym_method_type_body, + STATE(183), 1, + sym_method_type, + STATE(232), 1, sym_method_type_parameters, - STATE(273), 1, + STATE(234), 1, + aux_sym__decl_repeat1, + STATE(287), 1, sym_parameters, - STATE(405), 1, + STATE(404), 1, sym_block, - [11775] = 4, + [13169] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(716), 1, + anon_sym_COMMA, + STATE(226), 1, + aux_sym_use_directive_repeat1, + ACTIONS(714), 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, + [13195] = 4, + ACTIONS(3), 1, + sym_comment, + 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, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13221] = 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(720), 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, + [13249] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(655), 1, + ACTIONS(724), 1, anon_sym_use, - STATE(219), 2, + STATE(225), 2, sym_use_directive, aux_sym_program_repeat1, - ACTIONS(653), 8, + ACTIONS(722), 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, - [11796] = 4, + [13275] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(622), 1, + ACTIONS(729), 1, anon_sym_COMMA, - STATE(210), 1, + STATE(226), 1, aux_sym_use_directive_repeat1, - ACTIONS(658), 9, + ACTIONS(727), 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, + [13301] = 3, + ACTIONS(3), 1, + sym_comment, + 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, + 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, - [11817] = 2, + [13325] = 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(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(624), 10, + ACTIONS(736), 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, - [11833] = 2, + [13392] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(660), 10, + ACTIONS(727), 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, - [11849] = 2, + [13413] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(662), 10, + ACTIONS(738), 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, - [11865] = 10, + [13434] = 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(669), 1, anon_sym_LPAREN, - ACTIONS(631), 1, - anon_sym_LBRACK, - ACTIONS(633), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(635), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(637), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - STATE(175), 1, - sym_method_type, + STATE(133), 1, + sym_annotation, + STATE(180), 1, + sym_method_type_body, STATE(233), 1, - sym_method_type_parameters, - STATE(273), 1, + aux_sym__decl_repeat1, + STATE(287), 1, sym_parameters, - STATE(405), 1, + STATE(404), 1, sym_block, - [11896] = 9, + [13480] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 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(669), 1, + anon_sym_LPAREN, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(675), 1, + anon_sym_DASH_GT, + ACTIONS(677), 1, + anon_sym_QMARK2, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(185), 1, + sym_method_type_body, + STATE(287), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [13526] = 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(669), 1, + anon_sym_LPAREN, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(675), 1, + anon_sym_DASH_GT, + ACTIONS(677), 1, + anon_sym_QMARK2, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(182), 1, + sym_method_type_body, + STATE(287), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [13572] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(740), 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, + [13591] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(549), 1, + anon_sym_QMARK, + ACTIONS(551), 1, + anon_sym_EQ, + ACTIONS(291), 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, + [13614] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(603), 1, + anon_sym_QMARK, + ACTIONS(605), 1, + anon_sym_EQ, + ACTIONS(291), 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, + [13637] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(742), 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, + [13654] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(744), 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, + [13671] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + ACTIONS(746), 1, + sym_interface, + ACTIONS(748), 1, + anon_sym_singleton, + STATE(81), 1, + sym_interface_name, + STATE(84), 1, + sym_class_name, + STATE(357), 1, + sym_namespace, + STATE(385), 1, + sym_bound_type, + STATE(388), 3, + sym_class_type, + sym_interface_type, + sym_singleton_type, + [13704] = 2, + ACTIONS(3), 1, + sym_comment, + 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, + [13721] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(69), 1, + anon_sym_STAR, + ACTIONS(71), 1, + anon_sym_QMARK2, + ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(65), 1, + ACTIONS(752), 1, + sym_identifier, + STATE(368), 1, + sym_optional_positionals, + STATE(369), 1, + sym_rest_positional, + STATE(414), 1, + sym_var_name, + STATE(417), 1, + sym_splat_keyword, + STATE(433), 1, + sym_keywords, + STATE(415), 2, + sym_required_keywords, + sym_optional_keywords, + [13756] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(754), 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, + [13771] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(756), 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, + [13786] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(73), 1, + anon_sym_STAR_STAR, + ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(647), 1, + ACTIONS(752), 1, sym_identifier, - ACTIONS(664), 1, + ACTIONS(758), 1, anon_sym_RPAREN, - STATE(418), 1, - sym_keywords, - STATE(428), 1, + STATE(414), 1, sym_var_name, - STATE(430), 1, + STATE(417), 1, sym_splat_keyword, - STATE(429), 2, + STATE(441), 1, + sym_keywords, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [11925] = 8, + [13815] = 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(752), 1, sym_identifier, - STATE(423), 1, - sym_keywords, - STATE(428), 1, + STATE(414), 1, sym_var_name, - STATE(430), 1, + STATE(417), 1, sym_splat_keyword, - STATE(429), 2, + STATE(446), 1, + sym_keywords, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [11951] = 8, + [13841] = 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(752), 1, sym_identifier, - STATE(409), 1, - sym_keywords, - STATE(428), 1, + STATE(414), 1, sym_var_name, - STATE(430), 1, + STATE(417), 1, sym_splat_keyword, - STATE(429), 2, + STATE(432), 1, + sym_keywords, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [11977] = 8, + [13867] = 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(752), 1, sym_identifier, - STATE(401), 1, - sym_keywords, - STATE(428), 1, + STATE(414), 1, sym_var_name, - STATE(430), 1, + STATE(417), 1, sym_splat_keyword, - STATE(429), 2, + STATE(424), 1, + sym_keywords, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [12003] = 8, + [13893] = 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(752), 1, sym_identifier, - STATE(403), 1, - sym_keywords, - STATE(428), 1, + STATE(414), 1, sym_var_name, - STATE(430), 1, + STATE(417), 1, sym_splat_keyword, - STATE(429), 2, + STATE(441), 1, + sym_keywords, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [12029] = 9, + [13919] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(633), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(637), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - ACTIONS(666), 1, + ACTIONS(760), 1, anon_sym_LBRACK, - ACTIONS(668), 1, + ACTIONS(762), 1, anon_sym_DASH_GT, - STATE(248), 1, + STATE(264), 1, sym_parameters, - STATE(274), 1, + STATE(300), 1, sym_self_type_binding, - STATE(390), 1, + STATE(462), 1, sym_block, - [12057] = 3, + [13947] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(670), 1, + ACTIONS(73), 1, + anon_sym_STAR_STAR, + ACTIONS(75), 1, + anon_sym_QMARK2, + ACTIONS(752), 1, + sym_identifier, + STATE(414), 1, + sym_var_name, + STATE(417), 1, + sym_splat_keyword, + STATE(426), 1, + sym_keywords, + STATE(415), 2, + sym_required_keywords, + sym_optional_keywords, + [13973] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(764), 1, anon_sym_COLON, - ACTIONS(268), 7, + ACTIONS(265), 7, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, @@ -13729,1688 +15658,1681 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_COMMA, sym_identifier, - [12073] = 8, + [13989] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, - anon_sym_STAR_STAR, - ACTIONS(65), 1, - anon_sym_QMARK2, - ACTIONS(647), 1, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(752), 1, sym_identifier, - STATE(418), 1, - sym_keywords, - STATE(428), 1, + STATE(359), 1, sym_var_name, - STATE(430), 1, - sym_splat_keyword, - STATE(429), 2, - sym_required_keywords, - sym_optional_keywords, - [12099] = 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, - anon_sym_QMARK2, - STATE(174), 1, - sym_method_type, - STATE(273), 1, - sym_parameters, - STATE(405), 1, - sym_block, - [12124] = 8, + ACTIONS(766), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [14012] = 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(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + ACTIONS(746), 1, + sym_interface, + STATE(190), 1, + sym_module_self_types, + STATE(357), 1, + sym_namespace, + STATE(144), 2, + sym_class_name, + sym_interface_name, + [14035] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(649), 1, + ACTIONS(746), 1, sym_interface, - STATE(197), 1, + STATE(198), 1, sym_module_self_types, - STATE(372), 1, + STATE(357), 1, sym_namespace, - STATE(133), 2, + STATE(144), 2, sym_class_name, sym_interface_name, - [12172] = 7, + [14058] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, + ACTIONS(768), 1, sym_constant, - ACTIONS(674), 1, + ACTIONS(770), 1, sym_generics_unchecked, - STATE(285), 1, + STATE(280), 1, sym_type_variable, - STATE(312), 1, - sym_module_type_parameter, - STATE(363), 1, + STATE(364), 1, sym_generics_variance, - ACTIONS(676), 2, + STATE(384), 1, + sym_module_type_parameter, + ACTIONS(772), 2, anon_sym_out, anon_sym_in, - [12195] = 7, + [14081] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, + ACTIONS(768), 1, sym_constant, - ACTIONS(674), 1, + ACTIONS(770), 1, sym_generics_unchecked, - STATE(285), 1, + STATE(280), 1, sym_type_variable, - STATE(354), 1, + STATE(346), 1, sym_module_type_parameter, - STATE(363), 1, + STATE(364), 1, sym_generics_variance, - ACTIONS(676), 2, + ACTIONS(772), 2, anon_sym_out, anon_sym_in, - [12218] = 7, + [14104] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(649), 1, + ACTIONS(746), 1, sym_interface, - STATE(198), 1, + STATE(187), 1, sym_module_self_types, - STATE(372), 1, + STATE(357), 1, sym_namespace, - STATE(133), 2, + STATE(144), 2, sym_class_name, sym_interface_name, - [12241] = 7, + [14127] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(289), 1, + anon_sym_LPAREN, + ACTIONS(435), 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(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(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(649), 1, + ACTIONS(746), 1, sym_interface, - STATE(186), 1, - sym_module_self_types, - STATE(372), 1, + STATE(357), 1, sym_namespace, - STATE(133), 2, + STATE(172), 2, sym_class_name, sym_interface_name, - [12287] = 7, + [14165] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(289), 1, + anon_sym_LPAREN, + ACTIONS(439), 1, + anon_sym_QMARK, + ACTIONS(776), 1, + anon_sym_EQ, + ACTIONS(291), 3, + sym_self, + anon_sym_COLON, + anon_sym_LPAREN_RPAREN, + [14183] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(680), 1, + ACTIONS(778), 1, anon_sym_COMMA, - ACTIONS(682), 1, + ACTIONS(780), 1, anon_sym_RBRACK, - STATE(315), 1, + STATE(334), 1, aux_sym_tuple_type_repeat1, - [12309] = 2, - ACTIONS(3), 1, + [14205] = 5, + ACTIONS(782), 1, sym_comment, - ACTIONS(684), 6, - anon_sym_end, + ACTIONS(784), 1, anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, - [12321] = 6, + ACTIONS(786), 1, + aux_sym_visibility_member_token1, + STATE(70), 1, + sym_attribyte_type, + ACTIONS(788), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + [14223] = 7, 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(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(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(649), 1, + ACTIONS(746), 1, sym_interface, - STATE(372), 1, + STATE(357), 1, sym_namespace, - STATE(163), 2, + STATE(150), 2, sym_class_name, sym_interface_name, - [12361] = 6, + [14265] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - ACTIONS(649), 1, + ACTIONS(746), 1, sym_interface, - STATE(372), 1, + STATE(357), 1, sym_namespace, - STATE(160), 2, + STATE(170), 2, sym_class_name, sym_interface_name, - [12381] = 7, + [14285] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(686), 1, + ACTIONS(792), 1, anon_sym_COMMA, - ACTIONS(688), 1, + ACTIONS(794), 1, anon_sym_RBRACK, - STATE(322), 1, + STATE(337), 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, - ACTIONS(3), 1, - sym_comment, - ACTIONS(633), 1, - anon_sym_LBRACE, - ACTIONS(637), 1, - anon_sym_QMARK2, - ACTIONS(666), 1, - anon_sym_LBRACK, - ACTIONS(698), 1, - anon_sym_DASH_GT, - STATE(263), 1, - sym_self_type_binding, - STATE(421), 1, - sym_block, - [12443] = 2, - 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, - sym_comment, - ACTIONS(704), 1, - aux_sym_visibility_member_token1, - ACTIONS(702), 4, - anon_sym_def, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - [12468] = 5, + [14307] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(706), 2, + ACTIONS(796), 2, anon_sym_COMMA, anon_sym_RBRACK, - [12485] = 6, + [14324] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(746), 1, + sym_interface, + ACTIONS(798), 1, sym_constant, - STATE(214), 1, - sym_class_name, - STATE(221), 1, - sym_use_clause, - STATE(365), 1, + STATE(212), 1, + sym_interface_name, + STATE(386), 1, sym_namespace, - [12504] = 6, + [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(800), 4, + anon_sym_def, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + [14373] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - STATE(209), 1, + STATE(223), 1, sym_use_clause, - STATE(214), 1, + STATE(227), 1, sym_class_name, - STATE(365), 1, + STATE(382), 1, sym_namespace, - [12523] = 6, + [14392] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(708), 1, - sym_identifier, - ACTIONS(710), 1, + ACTIONS(35), 1, sym_constant, - STATE(332), 1, - sym_alias_name, - STATE(334), 1, + STATE(227), 1, + sym_class_name, + STATE(230), 1, + sym_use_clause, + STATE(382), 1, sym_namespace, - [12542] = 5, + [14411] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(804), 1, + anon_sym_RPAREN, + ACTIONS(806), 1, + anon_sym_COMMA, + [14430] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(712), 2, + ACTIONS(808), 2, anon_sym_COMMA, anon_sym_RBRACE, - [12559] = 6, + [14447] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(649), 1, - sym_interface, - ACTIONS(710), 1, + ACTIONS(798), 1, sym_constant, - STATE(202), 1, - sym_interface_name, - STATE(352), 1, + ACTIONS(810), 1, + sym_identifier, + STATE(336), 1, + sym_alias_name, + STATE(380), 1, sym_namespace, - [12578] = 6, + [14466] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(714), 1, + ACTIONS(812), 1, anon_sym_RPAREN, - ACTIONS(716), 1, + ACTIONS(814), 1, anon_sym_COMMA, - [12597] = 6, + [14485] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(816), 1, + anon_sym_RPAREN, + ACTIONS(379), 3, + anon_sym_PIPE, anon_sym_AMP, - ACTIONS(364), 1, anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(718), 1, - anon_sym_RPAREN, - ACTIONS(720), 1, + [14497] = 4, + ACTIONS(782), 1, + sym_comment, + ACTIONS(818), 1, + anon_sym_DQUOTE, + STATE(288), 1, + aux_sym_string_literal_repeat1, + ACTIONS(820), 2, + sym_double_quote_string_body, + sym_escape_sequence, + [14511] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(824), 1, + anon_sym_LT, + STATE(355), 1, + sym_generics_bound, + ACTIONS(822), 2, anon_sym_COMMA, - [12616] = 5, + anon_sym_RBRACK, + [14525] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, - sym_constant, - STATE(279), 1, - sym_type_variable, - STATE(369), 1, - sym_generics_variance, - ACTIONS(676), 2, - anon_sym_out, - anon_sym_in, - [12633] = 5, + ACTIONS(826), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [14535] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - STATE(170), 1, + STATE(173), 1, sym_class_name, - STATE(379), 1, + STATE(410), 1, sym_namespace, - [12649] = 4, - ACTIONS(690), 1, + [14551] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(722), 1, + ACTIONS(828), 1, anon_sym_DQUOTE, - STATE(297), 1, + STATE(298), 1, aux_sym_string_literal_repeat1, - ACTIONS(724), 2, + ACTIONS(830), 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, + [14565] = 3, 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, + ACTIONS(832), 2, + sym_interface, + sym_identifier, + ACTIONS(834), 2, + sym_constant, + anon_sym_STAR, + [14577] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(730), 1, + ACTIONS(828), 1, anon_sym_SQUOTE, - STATE(280), 1, + STATE(296), 1, aux_sym_string_literal_repeat2, - ACTIONS(732), 2, + ACTIONS(836), 2, sym_single_quote_string_body, sym_escape_sequence, - [12703] = 2, + [14591] = 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(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(738), 1, - anon_sym_LT, - STATE(361), 1, - sym_generics_bound, - ACTIONS(736), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [12727] = 4, - ACTIONS(690), 1, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(840), 1, + anon_sym_DASH_GT, + STATE(460), 1, + sym_block, + [14623] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(740), 1, + ACTIONS(842), 1, anon_sym_DQUOTE, - STATE(269), 1, + STATE(298), 1, aux_sym_string_literal_repeat1, - ACTIONS(742), 2, + ACTIONS(830), 2, sym_double_quote_string_body, sym_escape_sequence, - [12741] = 4, - ACTIONS(690), 1, + [14637] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(740), 1, + ACTIONS(842), 1, anon_sym_SQUOTE, - STATE(280), 1, + STATE(296), 1, aux_sym_string_literal_repeat2, - ACTIONS(732), 2, + ACTIONS(836), 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, + [14651] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(749), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [12779] = 5, + ACTIONS(844), 2, + sym_interface, + sym_identifier, + ACTIONS(846), 2, + sym_constant, + anon_sym_STAR, + [14663] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(751), 1, + ACTIONS(848), 1, anon_sym_RBRACE, - [12795] = 5, + [14679] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(850), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [14689] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - STATE(156), 1, + STATE(9), 1, sym_class_name, - STATE(379), 1, + STATE(410), 1, sym_namespace, - [12811] = 5, + [14705] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(633), 1, + ACTIONS(852), 4, + anon_sym_LBRACK, anon_sym_LBRACE, - ACTIONS(637), 1, - anon_sym_QMARK2, - ACTIONS(753), 1, anon_sym_DASH_GT, - STATE(410), 1, - sym_block, - [12827] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(633), 1, - anon_sym_LBRACE, - ACTIONS(637), 1, anon_sym_QMARK2, - ACTIONS(698), 1, - anon_sym_DASH_GT, - STATE(421), 1, - sym_block, - [12843] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(362), 1, - anon_sym_AMP, - ACTIONS(364), 1, - anon_sym_QMARK, - ACTIONS(420), 1, - anon_sym_PIPE, - ACTIONS(755), 1, - anon_sym_RBRACK, - [12859] = 2, - ACTIONS(3), 1, + [14715] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(757), 4, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [12869] = 5, - ACTIONS(3), 1, + ACTIONS(818), 1, + anon_sym_SQUOTE, + STATE(289), 1, + aux_sym_string_literal_repeat2, + ACTIONS(854), 2, + sym_single_quote_string_body, + sym_escape_sequence, + [14729] = 4, + ACTIONS(782), 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(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(362), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(761), 1, - anon_sym_RBRACE, - [12901] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(738), 1, - anon_sym_LT, - STATE(349), 1, - sym_generics_bound, - ACTIONS(763), 2, - anon_sym_COMMA, + ACTIONS(861), 1, anon_sym_RBRACK, - [12915] = 4, - ACTIONS(690), 1, + [14759] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(765), 1, - anon_sym_SQUOTE, - STATE(280), 1, - aux_sym_string_literal_repeat2, - ACTIONS(767), 2, - sym_single_quote_string_body, + ACTIONS(863), 1, + anon_sym_DQUOTE, + STATE(298), 1, + aux_sym_string_literal_repeat1, + ACTIONS(865), 2, + sym_double_quote_string_body, sym_escape_sequence, - [12929] = 4, - ACTIONS(690), 1, + [14773] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(722), 1, + ACTIONS(868), 1, anon_sym_SQUOTE, - STATE(264), 1, + STATE(285), 1, aux_sym_string_literal_repeat2, - ACTIONS(770), 2, + ACTIONS(870), 2, sym_single_quote_string_body, sym_escape_sequence, - [12943] = 3, + [14787] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(772), 2, + 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(872), 2, sym_interface, sym_identifier, - ACTIONS(774), 2, + ACTIONS(874), 2, sym_constant, anon_sym_STAR, - [12955] = 2, - ACTIONS(3), 1, + [14815] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(776), 4, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [12965] = 5, + ACTIONS(868), 1, + anon_sym_DQUOTE, + STATE(283), 1, + aux_sym_string_literal_repeat1, + ACTIONS(876), 2, + sym_double_quote_string_body, + sym_escape_sequence, + [14829] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - STATE(17), 1, + STATE(8), 1, sym_class_name, - STATE(379), 1, + STATE(410), 1, sym_namespace, - [12981] = 4, + [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(738), 1, + ACTIONS(824), 1, anon_sym_LT, - STATE(367), 1, + STATE(351), 1, sym_generics_bound, - ACTIONS(778), 2, + ACTIONS(880), 2, anon_sym_COMMA, anon_sym_RBRACK, - [12995] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(780), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [13005] = 2, + [14875] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(782), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [13015] = 5, + 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(25), 1, + ACTIONS(35), 1, sym_constant, - STATE(145), 1, + STATE(174), 1, sym_class_name, - STATE(379), 1, + STATE(410), 1, sym_namespace, - [13031] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(784), 2, - sym_interface, - sym_identifier, - ACTIONS(786), 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, + [14905] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(25), 1, + ACTIONS(35), 1, sym_constant, - STATE(379), 1, + STATE(410), 1, sym_namespace, - STATE(391), 1, + STATE(444), 1, sym_class_name, - [13085] = 3, + [14921] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 2, - sym_interface, - sym_identifier, - ACTIONS(796), 2, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, sym_constant, - anon_sym_STAR, - [13097] = 4, - ACTIONS(690), 1, + STATE(155), 1, + sym_class_name, + STATE(410), 1, + sym_namespace, + [14937] = 5, + 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(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(800), 4, + ACTIONS(886), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [13121] = 5, - 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, + [14963] = 2, + 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(888), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [14973] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(802), 4, + ACTIONS(890), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [13161] = 2, + [14983] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(670), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - [13170] = 4, + ACTIONS(892), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [14993] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(804), 1, - anon_sym_RPAREN, - ACTIONS(806), 1, + ACTIONS(894), 1, anon_sym_COMMA, - STATE(331), 1, - aux_sym_required_positionals_repeat1, - [13183] = 4, + ACTIONS(897), 1, + anon_sym_RBRACE, + STATE(315), 1, + aux_sym_record_type_repeat1, + [15006] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(809), 1, + ACTIONS(899), 1, anon_sym_COMMA, - ACTIONS(812), 1, + ACTIONS(902), 1, anon_sym_RBRACK, - STATE(301), 1, + STATE(316), 1, aux_sym_module_type_parameters_repeat1, - [13196] = 4, + [15019] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(814), 1, + ACTIONS(904), 1, anon_sym_RPAREN, - ACTIONS(816), 1, + ACTIONS(906), 1, anon_sym_COMMA, - STATE(302), 1, + STATE(331), 1, aux_sym_optional_positionals_repeat1, - [13209] = 4, + [15032] = 4, + ACTIONS(3), 1, + sym_comment, + 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(819), 1, + ACTIONS(913), 1, anon_sym_RPAREN, - ACTIONS(821), 1, + ACTIONS(915), 1, anon_sym_COMMA, - STATE(333), 1, - aux_sym_optional_positionals_repeat1, - [13222] = 4, + STATE(326), 1, + aux_sym_required_positionals_repeat1, + [15058] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(824), 1, + ACTIONS(764), 3, + anon_sym_RPAREN, anon_sym_COMMA, - ACTIONS(827), 1, - anon_sym_RBRACE, - STATE(304), 1, - aux_sym_record_type_repeat1, - [13235] = 4, + anon_sym_COLON, + [15067] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(829), 1, + ACTIONS(918), 1, anon_sym_RPAREN, - ACTIONS(831), 1, + ACTIONS(920), 1, anon_sym_COMMA, - STATE(300), 1, + STATE(321), 1, aux_sym_required_positionals_repeat1, - [13248] = 4, + [15080] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(834), 1, + ACTIONS(923), 1, sym_identifier, - ACTIONS(836), 1, + ACTIONS(925), 1, anon_sym_RBRACE, - STATE(371), 1, + STATE(377), 1, sym__record_type_single, - [13261] = 4, + [15093] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(838), 1, + ACTIONS(927), 1, anon_sym_RPAREN, - ACTIONS(840), 1, + ACTIONS(929), 1, anon_sym_COMMA, - STATE(331), 1, + STATE(321), 1, + aux_sym_required_positionals_repeat1, + [15106] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(932), 1, + anon_sym_COMMA, + ACTIONS(934), 1, + anon_sym_RBRACE, + STATE(315), 1, + aux_sym_record_type_repeat1, + [15119] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(936), 1, + anon_sym_LPAREN, + ACTIONS(938), 1, + anon_sym_COLON, + ACTIONS(940), 1, + anon_sym_LPAREN_RPAREN, + [15132] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(942), 1, + anon_sym_RPAREN, + ACTIONS(944), 1, + anon_sym_COMMA, + STATE(321), 1, aux_sym_required_positionals_repeat1, - [13274] = 4, + [15145] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, + ACTIONS(947), 1, + anon_sym_LPAREN, + ACTIONS(949), 1, + anon_sym_COLON, + ACTIONS(951), 1, + anon_sym_LPAREN_RPAREN, + [15158] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(364), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(420), 1, + ACTIONS(466), 1, anon_sym_PIPE, - [13287] = 4, + [15171] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(953), 1, + sym_identifier, + ACTIONS(955), 1, + sym_constant, + ACTIONS(957), 1, + sym_interface, + [15184] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(959), 3, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [15193] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(961), 1, + anon_sym_RPAREN, + ACTIONS(963), 1, + anon_sym_COMMA, + STATE(349), 1, + aux_sym_optional_positionals_repeat1, + [15206] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(666), 1, + ACTIONS(760), 1, anon_sym_LBRACK, - ACTIONS(843), 1, + ACTIONS(966), 1, anon_sym_DASH_GT, - STATE(417), 1, + STATE(420), 1, sym_self_type_binding, - [13300] = 4, + [15219] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(845), 1, + ACTIONS(796), 1, + anon_sym_RBRACK, + ACTIONS(968), 1, anon_sym_COMMA, - ACTIONS(847), 1, - anon_sym_RBRACE, - STATE(304), 1, - aux_sym_record_type_repeat1, - [13313] = 4, + STATE(333), 1, + aux_sym_tuple_type_repeat1, + [15232] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(849), 1, - anon_sym_COMMA, - ACTIONS(851), 1, + ACTIONS(195), 1, anon_sym_RBRACK, - STATE(301), 1, - aux_sym_module_type_parameters_repeat1, - [13326] = 4, + ACTIONS(971), 1, + anon_sym_COMMA, + STATE(333), 1, + aux_sym_tuple_type_repeat1, + [15245] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(849), 1, + ACTIONS(973), 1, anon_sym_COMMA, - ACTIONS(853), 1, + ACTIONS(975), 1, anon_sym_RBRACK, - STATE(311), 1, + STATE(316), 1, aux_sym_module_type_parameters_repeat1, - [13339] = 4, + [15258] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(855), 1, - anon_sym_COMMA, - ACTIONS(857), 1, - anon_sym_RBRACE, - STATE(310), 1, - aux_sym_record_type_repeat1, - [13352] = 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(706), 1, - anon_sym_RBRACK, - ACTIONS(859), 1, + ACTIONS(792), 1, anon_sym_COMMA, - STATE(314), 1, + ACTIONS(979), 1, + anon_sym_RBRACK, + STATE(333), 1, aux_sym_tuple_type_repeat1, - [13365] = 4, + [15284] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(923), 1, + sym_identifier, + ACTIONS(981), 1, + anon_sym_RBRACE, + STATE(318), 1, + sym__record_type_single, + [15297] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(923), 1, + sym_identifier, + ACTIONS(983), 1, + anon_sym_RBRACE, + STATE(377), 1, + sym__record_type_single, + [15310] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(680), 1, + ACTIONS(985), 1, anon_sym_COMMA, - ACTIONS(862), 1, + ACTIONS(987), 1, anon_sym_RBRACK, - STATE(314), 1, - aux_sym_tuple_type_repeat1, - [13378] = 4, + STATE(342), 1, + aux_sym_method_type_parameters_repeat1, + [15323] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(864), 1, + ACTIONS(989), 1, anon_sym_LPAREN, - ACTIONS(866), 1, + ACTIONS(991), 1, anon_sym_COLON, - ACTIONS(868), 1, + ACTIONS(993), 1, anon_sym_LPAREN_RPAREN, - [13391] = 4, + [15336] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(870), 1, + ACTIONS(985), 1, anon_sym_COMMA, - ACTIONS(872), 1, + ACTIONS(995), 1, anon_sym_RBRACK, - STATE(329), 1, + STATE(344), 1, aux_sym_method_type_parameters_repeat1, - [13404] = 4, + [15349] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(874), 1, - sym_identifier, - ACTIONS(876), 1, - sym_constant, - ACTIONS(878), 1, - sym_interface, - [13417] = 4, + ACTIONS(997), 1, + anon_sym_RPAREN, + ACTIONS(999), 1, + anon_sym_COMMA, + STATE(323), 1, + aux_sym_required_positionals_repeat1, + [15362] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(870), 1, + ACTIONS(1002), 1, anon_sym_COMMA, - ACTIONS(880), 1, + ACTIONS(1005), 1, anon_sym_RBRACK, - STATE(317), 1, + STATE(344), 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, + [15375] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(666), 1, + ACTIONS(760), 1, anon_sym_LBRACK, - ACTIONS(884), 1, + ACTIONS(1007), 1, anon_sym_DASH_GT, - STATE(377), 1, + STATE(436), 1, sym_self_type_binding, - [13452] = 4, + [15388] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(99), 1, - anon_sym_RBRACK, - ACTIONS(886), 1, + ACTIONS(973), 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, - anon_sym_RBRACE, - STATE(313), 1, - sym__record_type_single, - [13478] = 2, + ACTIONS(1009), 1, + anon_sym_RBRACK, + STATE(335), 1, + aux_sym_module_type_parameters_repeat1, + [15401] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(890), 3, + ACTIONS(1011), 3, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_LT, - [13487] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(834), 1, - sym_identifier, - ACTIONS(892), 1, - anon_sym_RBRACE, - STATE(371), 1, - sym__record_type_single, - [13500] = 4, + [15410] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(894), 1, + ACTIONS(1013), 1, anon_sym_LPAREN, - ACTIONS(896), 1, + ACTIONS(1015), 1, anon_sym_COLON, - ACTIONS(898), 1, + ACTIONS(1017), 1, anon_sym_LPAREN_RPAREN, - [13513] = 4, + [15423] = 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(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(906), 1, - anon_sym_LPAREN, - ACTIONS(908), 1, - anon_sym_COLON, - ACTIONS(910), 1, - anon_sym_LPAREN_RPAREN, - [13539] = 4, + ACTIONS(1024), 1, + anon_sym_RPAREN, + ACTIONS(1026), 1, + anon_sym_COMMA, + [15446] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(912), 1, + ACTIONS(882), 2, anon_sym_COMMA, - ACTIONS(915), 1, anon_sym_RBRACK, - STATE(329), 1, - aux_sym_method_type_parameters_repeat1, - [13552] = 4, + [15454] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(917), 1, - anon_sym_RPAREN, - ACTIONS(919), 1, - anon_sym_COMMA, - STATE(307), 1, - aux_sym_required_positionals_repeat1, - [13565] = 4, + ACTIONS(1028), 1, + sym_self, + STATE(210), 1, + sym_singleton_method_name, + [15464] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(922), 1, - anon_sym_RPAREN, - ACTIONS(924), 1, - anon_sym_COMMA, - STATE(331), 1, - aux_sym_required_positionals_repeat1, - [13578] = 4, + ACTIONS(669), 1, + anon_sym_LPAREN, + STATE(345), 1, + sym_parameters, + [15474] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(69), 1, - anon_sym_LBRACK, - ACTIONS(927), 1, - anon_sym_EQ2, - STATE(438), 1, - sym_module_type_parameters, - [13591] = 4, + ACTIONS(768), 1, + sym_constant, + STATE(306), 1, + sym_type_variable, + [15484] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(929), 1, - anon_sym_RPAREN, - ACTIONS(931), 1, + ACTIONS(880), 2, anon_sym_COMMA, - STATE(302), 1, - aux_sym_optional_positionals_repeat1, - [13604] = 3, + anon_sym_RBRACK, + [15492] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(934), 1, - sym_identifier, - ACTIONS(936), 1, + ACTIONS(1030), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [15500] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(955), 1, sym_constant, - [13614] = 2, + ACTIONS(1032), 1, + sym_interface, + [15510] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1034), 1, + sym_self, + STATE(210), 1, + sym_singleton_method_name, + [15520] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(938), 2, + ACTIONS(1036), 2, anon_sym_RPAREN, anon_sym_COMMA, - [13622] = 3, + [15528] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(248), 1, + ACTIONS(213), 1, sym__scope, - ACTIONS(940), 1, + ACTIONS(1038), 1, anon_sym_COLON, - [13632] = 3, + [15538] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1040), 1, + anon_sym_RPAREN, + ACTIONS(1042), 1, + anon_sym_COMMA, + [15548] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(834), 1, + ACTIONS(923), 1, sym_identifier, - STATE(371), 1, + STATE(377), 1, sym__record_type_single, - [13642] = 3, + [15558] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(942), 1, - sym_self, - STATE(192), 1, - sym_singleton_method_name, - [13652] = 3, + ACTIONS(1044), 2, + anon_sym_DOT, + anon_sym_QMARK_DOT, + [15566] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(944), 1, - anon_sym_RPAREN, - ACTIONS(946), 1, - anon_sym_COMMA, - [13662] = 3, + ACTIONS(768), 1, + sym_constant, + STATE(305), 1, + sym_type_variable, + [15576] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(944), 1, + ACTIONS(1024), 1, anon_sym_RPAREN, - ACTIONS(948), 1, + ACTIONS(1046), 1, anon_sym_COMMA, - [13672] = 2, + [15586] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(922), 2, + ACTIONS(918), 2, anon_sym_RPAREN, anon_sym_COMMA, - [13680] = 3, + [15594] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(944), 1, + ACTIONS(1024), 1, anon_sym_RPAREN, - ACTIONS(950), 1, + ACTIONS(1048), 1, anon_sym_COMMA, - [13690] = 3, + [15604] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(952), 1, + ACTIONS(1050), 1, anon_sym_RPAREN, - ACTIONS(954), 1, + ACTIONS(1052), 1, anon_sym_COMMA, - [13700] = 3, + [15614] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(952), 1, + ACTIONS(1050), 1, anon_sym_RPAREN, - ACTIONS(956), 1, + ACTIONS(1054), 1, anon_sym_COMMA, - [13710] = 3, + [15624] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(958), 1, - sym_self, - STATE(192), 1, - sym_singleton_method_name, - [13720] = 3, + ACTIONS(1056), 1, + anon_sym_RPAREN, + ACTIONS(1058), 1, + anon_sym_COMMA, + [15634] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(647), 1, + ACTIONS(752), 1, sym_identifier, - STATE(382), 1, + STATE(422), 1, sym_var_name, - [13730] = 3, + [15644] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, - anon_sym_LPAREN, - STATE(309), 1, - sym_parameters, - [13740] = 3, + ACTIONS(1056), 1, + anon_sym_RPAREN, + ACTIONS(1060), 1, + anon_sym_COMMA, + [15654] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(952), 1, + ACTIONS(1050), 1, anon_sym_RPAREN, - ACTIONS(960), 1, + ACTIONS(1062), 1, anon_sym_COMMA, - [13750] = 2, + [15664] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 2, + ACTIONS(1056), 1, + anon_sym_RPAREN, + ACTIONS(1064), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [13758] = 2, + [15674] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(962), 2, + ACTIONS(1066), 2, + anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_RBRACK, - [13766] = 3, + [15682] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(964), 1, + ACTIONS(1068), 2, anon_sym_RPAREN, - ACTIONS(966), 1, anon_sym_COMMA, - [13776] = 3, + [15690] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(936), 1, - sym_constant, - ACTIONS(968), 1, - sym_interface, - [13786] = 2, + ACTIONS(1070), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [15698] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(970), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [13794] = 2, + ACTIONS(669), 1, + anon_sym_LPAREN, + STATE(332), 1, + sym_parameters, + [15708] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(812), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [13802] = 3, + ACTIONS(207), 1, + sym__scope, + ACTIONS(1072), 1, + anon_sym_COLON, + [15718] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, + ACTIONS(1074), 1, + sym_identifier, + ACTIONS(1076), 1, sym_constant, - STATE(319), 1, - sym_type_variable, - [13812] = 3, + [15728] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(972), 1, - anon_sym_RPAREN, - ACTIONS(974), 1, + ACTIONS(1005), 2, anon_sym_COMMA, - [13822] = 3, + anon_sym_RBRACK, + [15736] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(972), 1, - anon_sym_RPAREN, - ACTIONS(976), 1, - anon_sym_COMMA, - [13832] = 3, + ACTIONS(955), 1, + sym_constant, + ACTIONS(1078), 1, + anon_sym_STAR, + [15746] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, + ACTIONS(768), 1, sym_constant, - STATE(370), 1, + STATE(381), 1, sym_type_variable, - [13842] = 3, + [15756] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(972), 1, - anon_sym_RPAREN, - ACTIONS(978), 1, + ACTIONS(902), 2, anon_sym_COMMA, - [13852] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(629), 1, - anon_sym_LPAREN, - STATE(321), 1, - sym_parameters, - [13862] = 2, + anon_sym_RBRACK, + [15764] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(980), 2, + ACTIONS(1080), 2, anon_sym_COMMA, anon_sym_RBRACK, - [13870] = 2, + [15772] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(982), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [13878] = 3, + ACTIONS(1032), 1, + sym_interface, + ACTIONS(1076), 1, + sym_constant, + [15782] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, + ACTIONS(768), 1, sym_constant, - STATE(279), 1, + STATE(340), 1, sym_type_variable, - [13888] = 2, + [15792] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(984), 2, - anon_sym_DOT, - anon_sym_QMARK_DOT, - [13896] = 3, + ACTIONS(1082), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [15800] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, - sym_constant, - ACTIONS(986), 1, - anon_sym_STAR, - [13906] = 3, + ACTIONS(884), 1, + anon_sym_DASH_GT, + [15807] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(242), 1, - sym__scope, - ACTIONS(988), 1, + ACTIONS(1084), 1, anon_sym_COLON, - [13916] = 2, + [15814] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(763), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [13924] = 2, + ACTIONS(1086), 1, + anon_sym_LPAREN, + [15821] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(990), 2, + ACTIONS(993), 1, anon_sym_RPAREN, - anon_sym_COMMA, - [13932] = 3, + [15828] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 1, - sym_constant, - STATE(266), 1, - sym_type_variable, - [13942] = 2, + ACTIONS(991), 1, + anon_sym_COLON, + [15835] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(915), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [13950] = 2, + ACTIONS(213), 1, + sym__scope, + [15842] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(992), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [13958] = 3, + ACTIONS(1088), 1, + anon_sym_GT, + [15849] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, - sym_constant, - ACTIONS(968), 1, - sym_interface, - [13968] = 2, + ACTIONS(1088), 1, + anon_sym_PIPE, + [15856] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(994), 1, - anon_sym_COLON, - [13975] = 2, + ACTIONS(1090), 1, + sym_ivar_name, + [15863] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(996), 1, - anon_sym_COLON, - [13982] = 2, + ACTIONS(1092), 1, + sym_ivar_name, + [15870] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(998), 1, - sym_ivar_name, - [13989] = 2, + ACTIONS(1088), 1, + anon_sym_RBRACK, + [15877] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1000), 1, + ACTIONS(1094), 1, anon_sym_COLON, - [13996] = 2, + [15884] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(843), 1, - anon_sym_DASH_GT, - [14003] = 2, + ACTIONS(1088), 1, + anon_sym_RPAREN, + [15891] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1002), 1, + ACTIONS(1096), 1, anon_sym_RPAREN, - [14010] = 2, + [15898] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, - sym_constant, - [14017] = 2, + ACTIONS(1088), 1, + anon_sym_RBRACE, + [15905] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1004), 1, - anon_sym_COLON, - [14024] = 2, + ACTIONS(840), 1, + anon_sym_DASH_GT, + [15912] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1006), 1, - anon_sym_RPAREN, - [14031] = 2, + ACTIONS(1098), 1, + anon_sym_COLON, + [15919] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1008), 1, - anon_sym_COLON, - [14038] = 2, + ACTIONS(1100), 1, + sym_ivar_name, + [15926] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1010), 1, - anon_sym_COLON, - [14045] = 2, + ACTIONS(1102), 1, + anon_sym_DASH_GT, + [15933] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1012), 1, - anon_sym_COLON, - [14052] = 2, + ACTIONS(1104), 1, + sym_constant, + [15940] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1014), 1, - anon_sym_DASH_GT, - [14059] = 2, + ACTIONS(1106), 1, + anon_sym_COLON, + [15947] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1016), 1, + ACTIONS(955), 1, sym_constant, - [14066] = 2, + [15954] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1018), 1, - anon_sym_DOT, - [14073] = 2, + ACTIONS(1108), 1, + sym_constant, + [15961] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(898), 1, - anon_sym_RPAREN, - [14080] = 2, + ACTIONS(207), 1, + sym__scope, + [15968] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(896), 1, + ACTIONS(1110), 1, anon_sym_COLON, - [14087] = 2, + [15975] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(698), 1, - anon_sym_DASH_GT, - [14094] = 2, + ACTIONS(1112), 1, + anon_sym_COLON, + [15982] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1020), 1, + ACTIONS(1114), 1, anon_sym_RPAREN, - [14101] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1022), 1, - sym_ivar_name, - [14108] = 2, + [15989] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1024), 1, + ACTIONS(1116), 1, anon_sym_RPAREN, - [14115] = 2, + [15996] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1026), 1, - anon_sym_LBRACE, - [14122] = 2, + ACTIONS(1114), 1, + anon_sym_RPAREN, + [16003] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1028), 1, - sym_constant, - [14129] = 2, + ACTIONS(1118), 1, + anon_sym_COLON, + [16010] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1030), 1, + ACTIONS(1120), 1, anon_sym_COLON, - [14136] = 2, + [16017] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1032), 1, - anon_sym_QMARK2, - [14143] = 2, + ACTIONS(1122), 1, + anon_sym_DASH_GT, + [16024] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1034), 1, - anon_sym_DOT, - [14150] = 2, + ACTIONS(1024), 1, + anon_sym_RPAREN, + [16031] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(902), 1, + ACTIONS(1124), 1, anon_sym_COLON, - [14157] = 2, + [16038] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1036), 1, - sym_ivar_name, - [14164] = 2, + ACTIONS(1126), 1, + anon_sym_RPAREN, + [16045] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(972), 1, + ACTIONS(1056), 1, anon_sym_RPAREN, - [14171] = 2, + [16052] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1038), 1, - sym_constant, - [14178] = 2, + ACTIONS(1128), 1, + sym_self, + [16059] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1040), 1, + ACTIONS(1130), 1, anon_sym_RPAREN, - [14185] = 2, + [16066] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1042), 1, + ACTIONS(1132), 1, anon_sym_DASH_GT, - [14192] = 2, + [16073] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(753), 1, - anon_sym_DASH_GT, - [14199] = 2, + ACTIONS(1134), 1, + anon_sym_EQ2, + [16080] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1044), 1, - anon_sym_DASH_GT, - [14206] = 2, + ACTIONS(1136), 1, + anon_sym_COLON, + [16087] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1046), 1, - sym_self, - [14213] = 2, + ACTIONS(1138), 1, + sym_constant, + [16094] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1048), 1, + ACTIONS(1140), 1, ts_builtin_sym_end, - [14220] = 2, + [16101] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1050), 1, + ACTIONS(1142), 1, anon_sym_RPAREN, - [14227] = 2, + [16108] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1052), 1, - anon_sym_DASH_GT, - [14234] = 2, + ACTIONS(1050), 1, + anon_sym_RPAREN, + [16115] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1054), 1, + ACTIONS(1144), 1, anon_sym_COLON, - [14241] = 2, + [16122] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, - anon_sym_COLON, - [14248] = 2, + ACTIONS(1146), 1, + anon_sym_def, + [16129] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(242), 1, - sym__scope, - [14255] = 2, + ACTIONS(966), 1, + anon_sym_DASH_GT, + [16136] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1058), 1, + ACTIONS(1148), 1, anon_sym_DASH_GT, - [14262] = 2, + [16143] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1060), 1, - sym_ivar_name, - [14269] = 2, + ACTIONS(1150), 1, + anon_sym_DASH_GT, + [16150] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1062), 1, - anon_sym_DOT, - [14276] = 2, + ACTIONS(1152), 1, + anon_sym_COLON, + [16157] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1064), 1, - anon_sym_DASH_GT, - [14283] = 2, + ACTIONS(1154), 1, + anon_sym_QMARK2, + [16164] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(964), 1, + ACTIONS(1040), 1, anon_sym_RPAREN, - [14290] = 2, + [16171] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, - anon_sym_COLON, - [14297] = 2, + ACTIONS(1156), 1, + anon_sym_DOT, + [16178] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_RPAREN, - [14304] = 2, + ACTIONS(1158), 1, + anon_sym_DOT, + [16185] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(728), 1, - anon_sym_DASH_GT, - [14311] = 2, + ACTIONS(1160), 1, + anon_sym_RPAREN, + [16192] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1068), 1, + ACTIONS(1162), 1, anon_sym_DOT, - [14318] = 2, + [16199] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1070), 1, + ACTIONS(1164), 1, anon_sym_RPAREN, - [14325] = 2, + [16206] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1072), 1, - anon_sym_def, - [14332] = 2, + ACTIONS(949), 1, + anon_sym_COLON, + [16213] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(704), 1, + ACTIONS(802), 1, anon_sym_def, - [14339] = 2, - ACTIONS(3), 1, + [16220] = 2, + ACTIONS(782), 1, sym_comment, - ACTIONS(1074), 1, - anon_sym_COLON, - [14346] = 2, + ACTIONS(1166), 1, + sym__annotation_text_without_angle_bracket, + [16227] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 1, - anon_sym_COLON, - [14353] = 2, + ACTIONS(1168), 1, + sym_ivar_name, + [16234] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1078), 1, - anon_sym_COLON, - [14360] = 2, - ACTIONS(3), 1, + ACTIONS(1170), 1, + anon_sym_DOT, + [16241] = 2, + ACTIONS(782), 1, sym_comment, - ACTIONS(1080), 1, - anon_sym_RPAREN, - [14367] = 2, - ACTIONS(3), 1, + ACTIONS(1172), 1, + sym__annotation_text_without_bar, + [16248] = 2, + ACTIONS(782), 1, sym_comment, - ACTIONS(1080), 1, - anon_sym_RPAREN, - [14374] = 2, + ACTIONS(1174), 1, + sym__annotation_text_without_bracket, + [16255] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1082), 1, + ACTIONS(1176), 1, anon_sym_COLON, - [14381] = 2, + [16262] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(944), 1, - anon_sym_RPAREN, - [14388] = 2, + ACTIONS(1178), 1, + anon_sym_DOT, + [16269] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(952), 1, - anon_sym_RPAREN, - [14395] = 2, + ACTIONS(1015), 1, + anon_sym_COLON, + [16276] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1084), 1, + ACTIONS(1180), 1, sym_ivar_name, - [14402] = 2, + [16283] = 2, + ACTIONS(782), 1, + sym_comment, + ACTIONS(1182), 1, + sym__annotation_text_without_parenthesis, + [16290] = 2, + ACTIONS(782), 1, + sym_comment, + ACTIONS(1184), 1, + sym__annotation_text_without_brace, + [16297] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1186), 1, + anon_sym_DASH_GT, + [16304] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(908), 1, + ACTIONS(1188), 1, anon_sym_COLON, - [14409] = 2, + [16311] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(248), 1, - sym__scope, - [14416] = 2, + ACTIONS(790), 1, + anon_sym_DASH_GT, + [16318] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1086), 1, - anon_sym_DOT, - [14423] = 2, + ACTIONS(1190), 1, + anon_sym_LBRACE, + [16325] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1088), 1, - anon_sym_EQ2, - [14430] = 2, + ACTIONS(1017), 1, + anon_sym_RPAREN, + [16332] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1090), 1, + ACTIONS(1192), 1, anon_sym_DOT, - [14437] = 2, + [16339] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1092), 1, - anon_sym_LPAREN, + ACTIONS(1194), 1, + anon_sym_DOT, + [16346] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1196), 1, + anon_sym_COLON, }; static const uint32_t ts_small_parse_table_map[] = { @@ -15421,438 +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)] = 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)] = 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)] = 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[] = { @@ -15860,528 +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(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), + [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(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(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(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(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(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 = 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(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_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(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), + [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_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 = 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(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 new file mode 100644 index 0000000..94fd694 --- /dev/null +++ b/test/corpus/annotations.txt @@ -0,0 +1,360 @@ +================================================================================ +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 + (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 + (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 + (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 + (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 + (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 + (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))))))))))))))