From 4962c560e0cf361a8e2da3b07825fc6ca6c1634a Mon Sep 17 00:00:00 2001 From: joker1007 Date: Tue, 5 Dec 2023 00:35:40 +0900 Subject: [PATCH] fix!: fix method_types tree structure --- grammar.js | 7 +- src/grammar.json | 104 +- src/node-types.json | 31 +- src/parser.c | 8511 +++++++++++++++++------------------ test/corpus/annotations.txt | 510 +-- test/corpus/decls.txt | 11 +- test/corpus/members.txt | 368 +- test/corpus/methods.txt | 1509 ++++--- 8 files changed, 5386 insertions(+), 5665 deletions(-) diff --git a/grammar.js b/grammar.js index b26a590..c9c4f3a 100644 --- a/grammar.js +++ b/grammar.js @@ -14,6 +14,7 @@ module.exports = grammar({ inline: $ => [ $._no_parantheses_type, $._parantheses_type, + $._nestable_decls, ], conflicts: $ => [ @@ -272,7 +273,7 @@ module.exports = grammar({ generics_variance: $ => choice("out", "in"), - method_type: $ => seq(optional($.parameters), optional($.block), "->", $.type), + method_type_body: $ => seq(optional($.parameters), optional($.block), "->", $.type), proc: $ => seq("^", optional($.parameters), optional($.self_type_binding), optional($.block), "->", $.type), @@ -355,8 +356,10 @@ module.exports = grammar({ seq("def", $.self, "?.", $.method_name, ":", $.method_types), ), + method_type: $ => seq(optional($.method_type_parameters), alias(repeat($.annotation), $.annotations), $.method_type_body), + method_types: $ => choice( - sep1(seq(optional($.method_type_parameters), alias(repeat($.annotation), $.annotations), $.method_type), "|"), + sep1($.method_type, "|"), "..." ), diff --git a/src/grammar.json b/src/grammar.json index ec694c0..29402a0 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1905,7 +1905,7 @@ } ] }, - "method_type": { + "method_type_body": { "type": "SEQ", "members": [ { @@ -3074,6 +3074,39 @@ } ] }, + "method_type": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "method_type_parameters" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "ALIAS", + "content": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "annotation" + } + }, + "named": true, + "value": "annotations" + }, + { + "type": "SYMBOL", + "name": "method_type_body" + } + ] + }, "method_types": { "type": "CHOICE", "members": [ @@ -3081,37 +3114,8 @@ "type": "SEQ", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "method_type_parameters" - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "ALIAS", - "content": { - "type": "REPEAT", - "content": { - "type": "SYMBOL", - "name": "annotation" - } - }, - "named": true, - "value": "annotations" - }, - { - "type": "SYMBOL", - "name": "method_type" - } - ] + "type": "SYMBOL", + "name": "method_type" }, { "type": "REPEAT", @@ -3123,37 +3127,8 @@ "value": "|" }, { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "method_type_parameters" - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "ALIAS", - "content": { - "type": "REPEAT", - "content": { - "type": "SYMBOL", - "name": "annotation" - } - }, - "named": true, - "value": "annotations" - }, - { - "type": "SYMBOL", - "name": "method_type" - } - ] + "type": "SYMBOL", + "name": "method_type" } ] } @@ -3950,7 +3925,8 @@ "externals": [], "inline": [ "_no_parantheses_type", - "_parantheses_type" + "_parantheses_type", + "_nestable_decls" ], "supertypes": [] } diff --git a/src/node-types.json b/src/node-types.json index 8655d8a..72fb51b 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -800,6 +800,29 @@ "type": "method_type", "named": true, "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "annotations", + "named": true + }, + { + "type": "method_type_body", + "named": true + }, + { + "type": "method_type_parameters", + "named": true + } + ] + } + }, + { + "type": "method_type_body", + "named": true, + "fields": {}, "children": { "multiple": true, "required": true, @@ -842,17 +865,9 @@ "multiple": true, "required": false, "types": [ - { - "type": "annotations", - "named": true - }, { "type": "method_type", "named": true - }, - { - "type": "method_type_parameters", - "named": true } ] } diff --git a/src/parser.c b/src/parser.c index 807c163..9d7ba92 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,7 +6,7 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 476 +#define STATE_COUNT 468 #define LARGE_STATE_COUNT 2 #define SYMBOL_COUNT 203 #define ALIAS_COUNT 8 @@ -14,7 +14,7 @@ #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 6 #define MAX_ALIAS_SEQUENCE_LENGTH 11 -#define PRODUCTION_ID_COUNT 25 +#define PRODUCTION_ID_COUNT 24 enum { sym_identifier = 1, @@ -151,42 +151,42 @@ enum { sym_use_clause = 132, sym_annotation = 133, sym__decl = 134, - sym__nestable_decls = 135, - sym_class_decl = 136, - sym_superclass = 137, - sym_module_decl = 138, - sym_module_self_type_binds = 139, - sym_class_alias_decl = 140, - sym_module_alias_decl = 141, - sym_module_self_types = 142, - sym_interface_decl = 143, - sym_interface_member = 144, - sym_type_alias_decl = 145, - sym_const_decl = 146, - sym_const_name = 147, - sym_global_decl = 148, - sym_module_type_parameters = 149, - sym_module_type_parameter = 150, - sym_generics_bound = 151, - sym_bound_type = 152, - sym_generics_variance = 153, - sym_method_type = 154, - sym_parameters = 155, - sym_parameter = 156, - sym_required_positionals = 157, - sym_optional_positionals = 158, - sym_rest_positional = 159, - sym_trailing_positionals = 160, - sym_keywords = 161, - sym_splat_keyword = 162, - sym_required_keywords = 163, - sym_optional_keywords = 164, - sym_var_name = 165, - sym_self_type_binding = 166, - sym_block = 167, - sym__member = 168, - sym_ivar_member = 169, - sym_method_member = 170, + sym_class_decl = 135, + sym_superclass = 136, + sym_module_decl = 137, + sym_module_self_type_binds = 138, + sym_class_alias_decl = 139, + sym_module_alias_decl = 140, + sym_module_self_types = 141, + sym_interface_decl = 142, + sym_interface_member = 143, + sym_type_alias_decl = 144, + sym_const_decl = 145, + sym_const_name = 146, + sym_global_decl = 147, + sym_module_type_parameters = 148, + sym_module_type_parameter = 149, + sym_generics_bound = 150, + sym_bound_type = 151, + sym_generics_variance = 152, + sym_method_type_body = 153, + sym_parameters = 154, + sym_parameter = 155, + sym_required_positionals = 156, + sym_optional_positionals = 157, + sym_rest_positional = 158, + sym_trailing_positionals = 159, + sym_keywords = 160, + sym_splat_keyword = 161, + sym_required_keywords = 162, + sym_optional_keywords = 163, + sym_var_name = 164, + sym_self_type_binding = 165, + sym_block = 166, + sym__member = 167, + sym_ivar_member = 168, + sym_method_member = 169, + sym_method_type = 170, sym_method_types = 171, sym_method_type_parameters = 172, sym_attribute_member = 173, @@ -365,7 +365,6 @@ static const char * const ts_symbol_names[] = { [sym_use_clause] = "use_clause", [sym_annotation] = "annotation", [sym__decl] = "_decl", - [sym__nestable_decls] = "_nestable_decls", [sym_class_decl] = "class_decl", [sym_superclass] = "superclass", [sym_module_decl] = "module_decl", @@ -384,7 +383,7 @@ static const char * const ts_symbol_names[] = { [sym_generics_bound] = "generics_bound", [sym_bound_type] = "bound_type", [sym_generics_variance] = "generics_variance", - [sym_method_type] = "method_type", + [sym_method_type_body] = "method_type_body", [sym_parameters] = "parameters", [sym_parameter] = "parameter", [sym_required_positionals] = "required_positionals", @@ -401,6 +400,7 @@ static const char * const ts_symbol_names[] = { [sym__member] = "_member", [sym_ivar_member] = "ivar_member", [sym_method_member] = "method_member", + [sym_method_type] = "method_type", [sym_method_types] = "method_types", [sym_method_type_parameters] = "method_type_parameters", [sym_attribute_member] = "attribute_member", @@ -579,7 +579,6 @@ static const TSSymbol ts_symbol_map[] = { [sym_use_clause] = sym_use_clause, [sym_annotation] = sym_annotation, [sym__decl] = sym__decl, - [sym__nestable_decls] = sym__nestable_decls, [sym_class_decl] = sym_class_decl, [sym_superclass] = sym_superclass, [sym_module_decl] = sym_module_decl, @@ -598,7 +597,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_generics_bound] = sym_generics_bound, [sym_bound_type] = sym_bound_type, [sym_generics_variance] = sym_generics_variance, - [sym_method_type] = sym_method_type, + [sym_method_type_body] = sym_method_type_body, [sym_parameters] = sym_parameters, [sym_parameter] = sym_parameter, [sym_required_positionals] = sym_required_positionals, @@ -615,6 +614,7 @@ static const TSSymbol ts_symbol_map[] = { [sym__member] = sym__member, [sym_ivar_member] = sym_ivar_member, [sym_method_member] = sym_method_member, + [sym_method_type] = sym_method_type, [sym_method_types] = sym_method_types, [sym_method_type_parameters] = sym_method_type_parameters, [sym_attribute_member] = sym_attribute_member, @@ -1198,10 +1198,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, - [sym__nestable_decls] = { - .visible = false, - .named = true, - }, [sym_class_decl] = { .visible = true, .named = true, @@ -1274,7 +1270,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_method_type] = { + [sym_method_type_body] = { .visible = true, .named = true, }, @@ -1342,6 +1338,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_method_type] = { + .visible = true, + .named = true, + }, [sym_method_types] = { .visible = true, .named = true, @@ -1620,9 +1620,6 @@ static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE [23] = { [1] = alias_sym_keyword, }, - [24] = { - [2] = alias_sym_annotations, - }, }; static const uint16_t ts_non_terminal_alias_map[] = { @@ -1718,14 +1715,14 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [69] = 69, [70] = 70, [71] = 71, - [72] = 71, - [73] = 71, + [72] = 72, + [73] = 73, [74] = 74, [75] = 75, [76] = 76, [77] = 76, - [78] = 78, - [79] = 79, + [78] = 74, + [79] = 74, [80] = 80, [81] = 81, [82] = 82, @@ -1798,12 +1795,12 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [149] = 149, [150] = 150, [151] = 151, - [152] = 125, + [152] = 152, [153] = 153, [154] = 154, [155] = 155, [156] = 156, - [157] = 124, + [157] = 157, [158] = 158, [159] = 159, [160] = 160, @@ -1813,7 +1810,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [164] = 164, [165] = 165, [166] = 166, - [167] = 167, + [167] = 124, [168] = 168, [169] = 169, [170] = 170, @@ -1821,7 +1818,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [172] = 172, [173] = 173, [174] = 174, - [175] = 175, + [175] = 125, [176] = 176, [177] = 177, [178] = 178, @@ -1840,20 +1837,20 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [191] = 191, [192] = 192, [193] = 193, - [194] = 93, - [195] = 85, - [196] = 90, + [194] = 194, + [195] = 195, + [196] = 196, [197] = 197, [198] = 198, - [199] = 89, - [200] = 200, - [201] = 201, + [199] = 199, + [200] = 89, + [201] = 86, [202] = 88, - [203] = 86, + [203] = 87, [204] = 204, - [205] = 205, + [205] = 90, [206] = 206, - [207] = 207, + [207] = 91, [208] = 208, [209] = 209, [210] = 210, @@ -1882,15 +1879,15 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [233] = 233, [234] = 234, [235] = 235, - [236] = 236, - [237] = 237, + [236] = 124, + [237] = 125, [238] = 238, [239] = 239, [240] = 240, [241] = 241, [242] = 242, - [243] = 124, - [244] = 125, + [243] = 243, + [244] = 244, [245] = 245, [246] = 246, [247] = 247, @@ -1905,9 +1902,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [256] = 256, [257] = 257, [258] = 258, - [259] = 259, + [259] = 124, [260] = 260, - [261] = 261, + [261] = 125, [262] = 262, [263] = 263, [264] = 264, @@ -1915,8 +1912,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [266] = 266, [267] = 267, [268] = 268, - [269] = 125, - [270] = 124, + [269] = 269, + [270] = 270, [271] = 271, [272] = 272, [273] = 273, @@ -2004,7 +2001,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [355] = 355, [356] = 356, [357] = 357, - [358] = 358, + [358] = 352, [359] = 359, [360] = 360, [361] = 361, @@ -2037,7 +2034,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [388] = 388, [389] = 389, [390] = 390, - [391] = 360, + [391] = 391, [392] = 392, [393] = 393, [394] = 394, @@ -2094,7 +2091,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [445] = 445, [446] = 446, [447] = 447, - [448] = 448, + [448] = 271, [449] = 449, [450] = 450, [451] = 451, @@ -2102,7 +2099,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [453] = 453, [454] = 454, [455] = 455, - [456] = 277, + [456] = 456, [457] = 457, [458] = 458, [459] = 459, @@ -2111,17 +2108,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [462] = 462, [463] = 463, [464] = 464, - [465] = 465, - [466] = 466, + [465] = 442, + [466] = 442, [467] = 467, - [468] = 468, - [469] = 469, - [470] = 470, - [471] = 471, - [472] = 472, - [473] = 419, - [474] = 419, - [475] = 475, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -2316,7 +2305,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 15: if (lookahead == '"') ADVANCE(82); if (lookahead == '#') ADVANCE(84); - if (lookahead == '\\') ADVANCE(11); + if (lookahead == '\\') ADVANCE(8); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -2388,7 +2377,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 20: if (lookahead == '#') ADVANCE(87); if (lookahead == '\'') ADVANCE(83); - if (lookahead == '\\') ADVANCE(8); + if (lookahead == '\\') ADVANCE(11); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -2839,7 +2828,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 85: ACCEPT_TOKEN(sym_double_quote_string_body); if (lookahead == '#') ADVANCE(84); - if (lookahead == '\\') ADVANCE(11); + if (lookahead == '\\') ADVANCE(8); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -2863,7 +2852,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 88: ACCEPT_TOKEN(sym_single_quote_string_body); if (lookahead == '#') ADVANCE(87); - if (lookahead == '\\') ADVANCE(8); + if (lookahead == '\\') ADVANCE(11); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -2945,7 +2934,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(88); + lookahead == ' ') ADVANCE(85); END_STATE(); case 106: ACCEPT_TOKEN(sym_escape_sequence); @@ -2953,7 +2942,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(85); + lookahead == ' ') ADVANCE(88); END_STATE(); case 107: ACCEPT_TOKEN(sym_escape_sequence); @@ -3799,8 +3788,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [7] = {.lex_state = 60}, [8] = {.lex_state = 61}, [9] = {.lex_state = 60}, - [10] = {.lex_state = 60}, - [11] = {.lex_state = 61}, + [10] = {.lex_state = 61}, + [11] = {.lex_state = 60}, [12] = {.lex_state = 60}, [13] = {.lex_state = 60}, [14] = {.lex_state = 60}, @@ -3874,15 +3863,15 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [82] = {.lex_state = 61}, [83] = {.lex_state = 61}, [84] = {.lex_state = 61}, - [85] = {.lex_state = 12}, + [85] = {.lex_state = 61}, [86] = {.lex_state = 12}, - [87] = {.lex_state = 63}, + [87] = {.lex_state = 12}, [88] = {.lex_state = 12}, [89] = {.lex_state = 12}, [90] = {.lex_state = 12}, - [91] = {.lex_state = 61}, - [92] = {.lex_state = 61}, - [93] = {.lex_state = 12}, + [91] = {.lex_state = 12}, + [92] = {.lex_state = 63}, + [93] = {.lex_state = 61}, [94] = {.lex_state = 61}, [95] = {.lex_state = 61}, [96] = {.lex_state = 61}, @@ -3917,23 +3906,23 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [125] = {.lex_state = 12}, [126] = {.lex_state = 12}, [127] = {.lex_state = 60}, - [128] = {.lex_state = 60}, + [128] = {.lex_state = 61}, [129] = {.lex_state = 60}, [130] = {.lex_state = 61}, - [131] = {.lex_state = 61}, + [131] = {.lex_state = 60}, [132] = {.lex_state = 61}, [133] = {.lex_state = 60}, [134] = {.lex_state = 60}, [135] = {.lex_state = 61}, [136] = {.lex_state = 61}, [137] = {.lex_state = 61}, - [138] = {.lex_state = 60}, + [138] = {.lex_state = 61}, [139] = {.lex_state = 61}, [140] = {.lex_state = 61}, [141] = {.lex_state = 61}, [142] = {.lex_state = 61}, [143] = {.lex_state = 61}, - [144] = {.lex_state = 61}, + [144] = {.lex_state = 60}, [145] = {.lex_state = 61}, [146] = {.lex_state = 61}, [147] = {.lex_state = 61}, @@ -3941,12 +3930,12 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [149] = {.lex_state = 61}, [150] = {.lex_state = 60}, [151] = {.lex_state = 60}, - [152] = {.lex_state = 63}, + [152] = {.lex_state = 60}, [153] = {.lex_state = 60}, [154] = {.lex_state = 60}, [155] = {.lex_state = 60}, [156] = {.lex_state = 60}, - [157] = {.lex_state = 63}, + [157] = {.lex_state = 60}, [158] = {.lex_state = 60}, [159] = {.lex_state = 60}, [160] = {.lex_state = 60}, @@ -3956,7 +3945,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [164] = {.lex_state = 60}, [165] = {.lex_state = 60}, [166] = {.lex_state = 60}, - [167] = {.lex_state = 60}, + [167] = {.lex_state = 63}, [168] = {.lex_state = 60}, [169] = {.lex_state = 60}, [170] = {.lex_state = 60}, @@ -3964,7 +3953,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [172] = {.lex_state = 60}, [173] = {.lex_state = 60}, [174] = {.lex_state = 60}, - [175] = {.lex_state = 60}, + [175] = {.lex_state = 63}, [176] = {.lex_state = 60}, [177] = {.lex_state = 60}, [178] = {.lex_state = 60}, @@ -4013,10 +4002,10 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [221] = {.lex_state = 60}, [222] = {.lex_state = 60}, [223] = {.lex_state = 60}, - [224] = {.lex_state = 60}, + [224] = {.lex_state = 61}, [225] = {.lex_state = 60}, [226] = {.lex_state = 60}, - [227] = {.lex_state = 61}, + [227] = {.lex_state = 60}, [228] = {.lex_state = 60}, [229] = {.lex_state = 60}, [230] = {.lex_state = 60}, @@ -4025,134 +4014,134 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [233] = {.lex_state = 60}, [234] = {.lex_state = 60}, [235] = {.lex_state = 60}, - [236] = {.lex_state = 60}, - [237] = {.lex_state = 60}, + [236] = {.lex_state = 63}, + [237] = {.lex_state = 63}, [238] = {.lex_state = 60}, [239] = {.lex_state = 60}, - [240] = {.lex_state = 60}, + [240] = {.lex_state = 0}, [241] = {.lex_state = 60}, [242] = {.lex_state = 60}, - [243] = {.lex_state = 63}, - [244] = {.lex_state = 63}, + [243] = {.lex_state = 60}, + [244] = {.lex_state = 60}, [245] = {.lex_state = 60}, [246] = {.lex_state = 60}, [247] = {.lex_state = 60}, - [248] = {.lex_state = 0}, + [248] = {.lex_state = 60}, [249] = {.lex_state = 60}, [250] = {.lex_state = 60}, [251] = {.lex_state = 60}, - [252] = {.lex_state = 60}, - [253] = {.lex_state = 60}, - [254] = {.lex_state = 16}, - [255] = {.lex_state = 60}, - [256] = {.lex_state = 60}, - [257] = {.lex_state = 60}, - [258] = {.lex_state = 60}, - [259] = {.lex_state = 60}, - [260] = {.lex_state = 60}, - [261] = {.lex_state = 61}, - [262] = {.lex_state = 0}, - [263] = {.lex_state = 0}, - [264] = {.lex_state = 0}, + [252] = {.lex_state = 16}, + [253] = {.lex_state = 61}, + [254] = {.lex_state = 0}, + [255] = {.lex_state = 0}, + [256] = {.lex_state = 0}, + [257] = {.lex_state = 0}, + [258] = {.lex_state = 0}, + [259] = {.lex_state = 16}, + [260] = {.lex_state = 0}, + [261] = {.lex_state = 16}, + [262] = {.lex_state = 61}, + [263] = {.lex_state = 5}, + [264] = {.lex_state = 60}, [265] = {.lex_state = 0}, [266] = {.lex_state = 0}, - [267] = {.lex_state = 0}, + [267] = {.lex_state = 61}, [268] = {.lex_state = 61}, - [269] = {.lex_state = 16}, - [270] = {.lex_state = 16}, + [269] = {.lex_state = 0}, + [270] = {.lex_state = 0}, [271] = {.lex_state = 5}, [272] = {.lex_state = 0}, [273] = {.lex_state = 0}, [274] = {.lex_state = 61}, - [275] = {.lex_state = 60}, - [276] = {.lex_state = 61}, - [277] = {.lex_state = 5}, - [278] = {.lex_state = 0}, - [279] = {.lex_state = 0}, - [280] = {.lex_state = 0}, - [281] = {.lex_state = 0}, - [282] = {.lex_state = 61}, - [283] = {.lex_state = 61}, + [275] = {.lex_state = 61}, + [276] = {.lex_state = 0}, + [277] = {.lex_state = 61}, + [278] = {.lex_state = 61}, + [279] = {.lex_state = 15}, + [280] = {.lex_state = 60}, + [281] = {.lex_state = 60}, + [282] = {.lex_state = 0}, + [283] = {.lex_state = 15}, [284] = {.lex_state = 61}, - [285] = {.lex_state = 0}, - [286] = {.lex_state = 20}, + [285] = {.lex_state = 20}, + [286] = {.lex_state = 61}, [287] = {.lex_state = 60}, - [288] = {.lex_state = 61}, - [289] = {.lex_state = 60}, + [288] = {.lex_state = 15}, + [289] = {.lex_state = 20}, [290] = {.lex_state = 61}, - [291] = {.lex_state = 15}, - [292] = {.lex_state = 20}, - [293] = {.lex_state = 60}, - [294] = {.lex_state = 61}, - [295] = {.lex_state = 60}, - [296] = {.lex_state = 61}, - [297] = {.lex_state = 60}, - [298] = {.lex_state = 61}, - [299] = {.lex_state = 60}, - [300] = {.lex_state = 61}, - [301] = {.lex_state = 60}, - [302] = {.lex_state = 20}, - [303] = {.lex_state = 60}, - [304] = {.lex_state = 60}, + [291] = {.lex_state = 61}, + [292] = {.lex_state = 60}, + [293] = {.lex_state = 0}, + [294] = {.lex_state = 60}, + [295] = {.lex_state = 20}, + [296] = {.lex_state = 20}, + [297] = {.lex_state = 61}, + [298] = {.lex_state = 15}, + [299] = {.lex_state = 20}, + [300] = {.lex_state = 60}, + [301] = {.lex_state = 61}, + [302] = {.lex_state = 15}, + [303] = {.lex_state = 0}, + [304] = {.lex_state = 61}, [305] = {.lex_state = 60}, - [306] = {.lex_state = 61}, - [307] = {.lex_state = 15}, - [308] = {.lex_state = 15}, - [309] = {.lex_state = 15}, - [310] = {.lex_state = 20}, - [311] = {.lex_state = 20}, - [312] = {.lex_state = 15}, + [306] = {.lex_state = 60}, + [307] = {.lex_state = 0}, + [308] = {.lex_state = 0}, + [309] = {.lex_state = 0}, + [310] = {.lex_state = 60}, + [311] = {.lex_state = 60}, + [312] = {.lex_state = 60}, [313] = {.lex_state = 60}, - [314] = {.lex_state = 0}, + [314] = {.lex_state = 60}, [315] = {.lex_state = 0}, [316] = {.lex_state = 0}, [317] = {.lex_state = 0}, - [318] = {.lex_state = 60}, + [318] = {.lex_state = 0}, [319] = {.lex_state = 0}, - [320] = {.lex_state = 60}, - [321] = {.lex_state = 61}, + [320] = {.lex_state = 12}, + [321] = {.lex_state = 0}, [322] = {.lex_state = 0}, [323] = {.lex_state = 0}, [324] = {.lex_state = 0}, - [325] = {.lex_state = 60}, - [326] = {.lex_state = 12}, - [327] = {.lex_state = 0}, - [328] = {.lex_state = 0}, + [325] = {.lex_state = 12}, + [326] = {.lex_state = 0}, + [327] = {.lex_state = 12}, + [328] = {.lex_state = 61}, [329] = {.lex_state = 0}, - [330] = {.lex_state = 0}, + [330] = {.lex_state = 60}, [331] = {.lex_state = 0}, [332] = {.lex_state = 60}, [333] = {.lex_state = 0}, [334] = {.lex_state = 0}, - [335] = {.lex_state = 12}, - [336] = {.lex_state = 12}, - [337] = {.lex_state = 61}, + [335] = {.lex_state = 0}, + [336] = {.lex_state = 60}, + [337] = {.lex_state = 0}, [338] = {.lex_state = 0}, [339] = {.lex_state = 0}, - [340] = {.lex_state = 60}, - [341] = {.lex_state = 60}, + [340] = {.lex_state = 0}, + [341] = {.lex_state = 12}, [342] = {.lex_state = 0}, [343] = {.lex_state = 0}, [344] = {.lex_state = 0}, - [345] = {.lex_state = 0}, + [345] = {.lex_state = 60}, [346] = {.lex_state = 0}, - [347] = {.lex_state = 12}, - [348] = {.lex_state = 0}, + [347] = {.lex_state = 60}, + [348] = {.lex_state = 12}, [349] = {.lex_state = 0}, [350] = {.lex_state = 0}, [351] = {.lex_state = 0}, - [352] = {.lex_state = 12}, - [353] = {.lex_state = 0}, + [352] = {.lex_state = 0}, + [353] = {.lex_state = 60}, [354] = {.lex_state = 0}, [355] = {.lex_state = 0}, - [356] = {.lex_state = 60}, + [356] = {.lex_state = 0}, [357] = {.lex_state = 0}, [358] = {.lex_state = 0}, [359] = {.lex_state = 0}, [360] = {.lex_state = 0}, - [361] = {.lex_state = 61}, + [361] = {.lex_state = 0}, [362] = {.lex_state = 0}, - [363] = {.lex_state = 0}, + [363] = {.lex_state = 18}, [364] = {.lex_state = 0}, [365] = {.lex_state = 0}, [366] = {.lex_state = 0}, @@ -4161,110 +4150,102 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [369] = {.lex_state = 0}, [370] = {.lex_state = 0}, [371] = {.lex_state = 0}, - [372] = {.lex_state = 60}, + [372] = {.lex_state = 0}, [373] = {.lex_state = 0}, [374] = {.lex_state = 0}, [375] = {.lex_state = 0}, [376] = {.lex_state = 0}, [377] = {.lex_state = 0}, - [378] = {.lex_state = 0}, + [378] = {.lex_state = 60}, [379] = {.lex_state = 0}, [380] = {.lex_state = 0}, [381] = {.lex_state = 0}, - [382] = {.lex_state = 0}, + [382] = {.lex_state = 61}, [383] = {.lex_state = 0}, [384] = {.lex_state = 0}, [385] = {.lex_state = 0}, [386] = {.lex_state = 0}, [387] = {.lex_state = 0}, [388] = {.lex_state = 0}, - [389] = {.lex_state = 18}, - [390] = {.lex_state = 0}, - [391] = {.lex_state = 0}, + [389] = {.lex_state = 60}, + [390] = {.lex_state = 12}, + [391] = {.lex_state = 60}, [392] = {.lex_state = 0}, - [393] = {.lex_state = 0}, + [393] = {.lex_state = 12}, [394] = {.lex_state = 0}, [395] = {.lex_state = 60}, [396] = {.lex_state = 0}, [397] = {.lex_state = 0}, - [398] = {.lex_state = 12}, + [398] = {.lex_state = 0}, [399] = {.lex_state = 0}, [400] = {.lex_state = 12}, [401] = {.lex_state = 0}, [402] = {.lex_state = 0}, - [403] = {.lex_state = 12}, + [403] = {.lex_state = 0}, [404] = {.lex_state = 60}, - [405] = {.lex_state = 0}, + [405] = {.lex_state = 12}, [406] = {.lex_state = 0}, [407] = {.lex_state = 60}, - [408] = {.lex_state = 12}, - [409] = {.lex_state = 60}, + [408] = {.lex_state = 0}, + [409] = {.lex_state = 12}, [410] = {.lex_state = 0}, [411] = {.lex_state = 0}, [412] = {.lex_state = 0}, - [413] = {.lex_state = 60}, - [414] = {.lex_state = 60}, - [415] = {.lex_state = 12}, - [416] = {.lex_state = 60}, + [413] = {.lex_state = 12}, + [414] = {.lex_state = 12}, + [415] = {.lex_state = 0}, + [416] = {.lex_state = 0}, [417] = {.lex_state = 0}, [418] = {.lex_state = 12}, - [419] = {.lex_state = 0}, - [420] = {.lex_state = 0}, - [421] = {.lex_state = 12}, + [419] = {.lex_state = 12}, + [420] = {.lex_state = 60}, + [421] = {.lex_state = 0}, [422] = {.lex_state = 12}, [423] = {.lex_state = 0}, [424] = {.lex_state = 0}, [425] = {.lex_state = 0}, - [426] = {.lex_state = 12}, - [427] = {.lex_state = 0}, - [428] = {.lex_state = 12}, - [429] = {.lex_state = 60}, + [426] = {.lex_state = 0}, + [427] = {.lex_state = 60}, + [428] = {.lex_state = 60}, + [429] = {.lex_state = 12}, [430] = {.lex_state = 0}, [431] = {.lex_state = 0}, - [432] = {.lex_state = 12}, + [432] = {.lex_state = 0}, [433] = {.lex_state = 0}, - [434] = {.lex_state = 60}, + [434] = {.lex_state = 12}, [435] = {.lex_state = 0}, - [436] = {.lex_state = 12}, - [437] = {.lex_state = 12}, - [438] = {.lex_state = 0}, - [439] = {.lex_state = 60}, - [440] = {.lex_state = 0}, - [441] = {.lex_state = 60}, + [436] = {.lex_state = 60}, + [437] = {.lex_state = 60}, + [438] = {.lex_state = 60}, + [439] = {.lex_state = 12}, + [440] = {.lex_state = 60}, + [441] = {.lex_state = 0}, [442] = {.lex_state = 0}, [443] = {.lex_state = 0}, [444] = {.lex_state = 0}, - [445] = {.lex_state = 60}, - [446] = {.lex_state = 12}, - [447] = {.lex_state = 0}, - [448] = {.lex_state = 60}, - [449] = {.lex_state = 0}, - [450] = {.lex_state = 60}, - [451] = {.lex_state = 12}, - [452] = {.lex_state = 0}, - [453] = {.lex_state = 0}, - [454] = {.lex_state = 0}, + [445] = {.lex_state = 0}, + [446] = {.lex_state = 0}, + [447] = {.lex_state = 12}, + [448] = {.lex_state = 0}, + [449] = {.lex_state = 21}, + [450] = {.lex_state = 0}, + [451] = {.lex_state = 0}, + [452] = {.lex_state = 22}, + [453] = {.lex_state = 23}, + [454] = {.lex_state = 12}, [455] = {.lex_state = 0}, - [456] = {.lex_state = 0}, - [457] = {.lex_state = 60}, - [458] = {.lex_state = 0}, - [459] = {.lex_state = 0}, - [460] = {.lex_state = 0}, - [461] = {.lex_state = 0}, - [462] = {.lex_state = 0}, + [456] = {.lex_state = 12}, + [457] = {.lex_state = 0}, + [458] = {.lex_state = 122}, + [459] = {.lex_state = 117}, + [460] = {.lex_state = 60}, + [461] = {.lex_state = 12}, + [462] = {.lex_state = 60}, [463] = {.lex_state = 0}, - [464] = {.lex_state = 12}, + [464] = {.lex_state = 0}, [465] = {.lex_state = 0}, [466] = {.lex_state = 0}, [467] = {.lex_state = 12}, - [468] = {.lex_state = 21}, - [469] = {.lex_state = 22}, - [470] = {.lex_state = 23}, - [471] = {.lex_state = 122}, - [472] = {.lex_state = 117}, - [473] = {.lex_state = 0}, - [474] = {.lex_state = 0}, - [475] = {.lex_state = 12}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -4355,23 +4336,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_method_name_token1] = ACTIONS(1), }, [1] = { - [sym_program] = STATE(466), - [sym_namespace] = STATE(465), - [sym_use_directive] = STATE(128), - [sym_annotation] = STATE(134), - [sym__decl] = STATE(158), - [sym_class_decl] = STATE(158), - [sym_module_decl] = STATE(158), - [sym_class_alias_decl] = STATE(158), - [sym_module_alias_decl] = STATE(158), - [sym_interface_decl] = STATE(158), - [sym_type_alias_decl] = STATE(158), - [sym_const_decl] = STATE(158), - [sym_const_name] = STATE(464), - [sym_global_decl] = STATE(158), - [aux_sym_program_repeat1] = STATE(128), - [aux_sym_program_repeat2] = STATE(158), - [aux_sym__decl_repeat1] = STATE(216), + [sym_program] = STATE(431), + [sym_namespace] = STATE(430), + [sym_use_directive] = STATE(131), + [sym_annotation] = STATE(133), + [sym__decl] = STATE(157), + [sym_class_decl] = STATE(157), + [sym_module_decl] = STATE(157), + [sym_class_alias_decl] = STATE(157), + [sym_module_alias_decl] = STATE(157), + [sym_interface_decl] = STATE(157), + [sym_type_alias_decl] = STATE(157), + [sym_const_decl] = STATE(157), + [sym_const_name] = STATE(418), + [sym_global_decl] = STATE(157), + [aux_sym_program_repeat1] = STATE(131), + [aux_sym_program_repeat2] = STATE(157), + [aux_sym__decl_repeat1] = STATE(211), [ts_builtin_sym_end] = ACTIONS(5), [sym_constant] = ACTIONS(7), [anon_sym_class] = ACTIONS(9), @@ -4434,34 +4415,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_QMARK2, ACTIONS(73), 1, anon_sym_STAR_STAR, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(348), 1, + STATE(343), 1, sym_parameter, - STATE(385), 1, + STATE(350), 1, sym_rest_positional, - STATE(386), 1, - sym_optional_positionals, - STATE(388), 1, + STATE(365), 1, sym_required_positionals, - STATE(411), 1, - sym_keywords, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(367), 1, + sym_optional_positionals, + STATE(414), 1, sym_var_name, + STATE(417), 1, + sym_splat_keyword, + STATE(421), 1, + sym_keywords, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4474,7 +4455,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4530,32 +4511,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, + STATE(319), 1, + sym_parameter, STATE(329), 1, sym_namespace, - STATE(353), 1, - sym_parameter, - STATE(375), 1, - sym_rest_positional, - STATE(378), 1, + STATE(372), 1, sym_trailing_positionals, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(374), 1, + sym_rest_positional, + STATE(414), 1, sym_var_name, - STATE(438), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(424), 1, sym_keywords, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4568,7 +4549,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4624,32 +4605,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, + STATE(319), 1, + sym_parameter, STATE(329), 1, sym_namespace, - STATE(353), 1, - sym_parameter, - STATE(380), 1, - sym_trailing_positionals, - STATE(381), 1, + STATE(369), 1, sym_rest_positional, - STATE(427), 1, + STATE(373), 1, + sym_trailing_positionals, + STATE(414), 1, + sym_var_name, + STATE(417), 1, sym_splat_keyword, - STATE(431), 1, + STATE(433), 1, sym_keywords, - STATE(432), 1, - sym_var_name, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4662,7 +4643,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4716,30 +4697,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, + STATE(319), 1, + sym_parameter, STATE(329), 1, sym_namespace, - STATE(353), 1, - sym_parameter, - STATE(379), 1, + STATE(370), 1, sym_trailing_positionals, - STATE(427), 1, + STATE(414), 1, + sym_var_name, + STATE(417), 1, sym_splat_keyword, - STATE(431), 1, + STATE(424), 1, sym_keywords, - STATE(432), 1, - sym_var_name, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4752,7 +4733,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4806,30 +4787,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, + STATE(319), 1, + sym_parameter, STATE(329), 1, sym_namespace, - STATE(353), 1, - sym_parameter, - STATE(369), 1, + STATE(373), 1, sym_trailing_positionals, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(449), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(433), 1, sym_keywords, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4842,7 +4823,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4896,30 +4877,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, + STATE(319), 1, + sym_parameter, STATE(329), 1, sym_namespace, - STATE(353), 1, - sym_parameter, - STATE(378), 1, + STATE(361), 1, sym_trailing_positionals, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(438), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(441), 1, sym_keywords, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4932,7 +4913,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4992,23 +4973,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - STATE(11), 1, + STATE(10), 1, sym_module_type_parameters, - STATE(17), 1, - sym_module_self_type_binds, - STATE(20), 1, + STATE(13), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(20), 1, + sym_module_self_type_binds, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5020,8 +5001,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5038,7 +5018,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [888] = 35, + [887] = 35, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5083,23 +5063,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT, ACTIONS(107), 1, anon_sym_EQ2, - STATE(10), 1, + STATE(11), 1, sym_module_type_parameters, - STATE(14), 1, + STATE(12), 1, aux_sym_class_decl_repeat1, - STATE(18), 1, + STATE(21), 1, sym_superclass, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5111,8 +5091,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5129,7 +5108,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1014] = 32, + [1012] = 32, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5156,6 +5135,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type, ACTIONS(77), 1, sym_self, + ACTIONS(81), 1, + anon_sym_COLON, ACTIONS(87), 1, anon_sym_def, ACTIONS(93), 1, @@ -5166,25 +5147,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(105), 1, - anon_sym_LT, ACTIONS(109), 1, anon_sym_end, - STATE(12), 1, - aux_sym_class_decl_repeat1, + STATE(15), 1, + sym_module_self_type_binds, STATE(16), 1, - sym_superclass, - STATE(69), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5196,8 +5175,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5214,7 +5192,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1131] = 32, + [1128] = 32, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5241,8 +5219,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type, ACTIONS(77), 1, sym_self, - ACTIONS(81), 1, - anon_sym_COLON, ACTIONS(87), 1, anon_sym_def, ACTIONS(93), 1, @@ -5253,23 +5229,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, + ACTIONS(105), 1, + anon_sym_LT, ACTIONS(111), 1, anon_sym_end, - STATE(13), 1, - aux_sym_class_decl_repeat1, + STATE(18), 1, + sym_superclass, STATE(19), 1, - sym_module_self_type_binds, - STATE(69), 1, + aux_sym_class_decl_repeat1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5281,8 +5259,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5299,7 +5276,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1248] = 30, + [1244] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5338,19 +5315,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, ACTIONS(113), 1, anon_sym_end, - STATE(15), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5362,8 +5339,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5380,7 +5356,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1359] = 30, + [1354] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5419,19 +5395,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, ACTIONS(115), 1, anon_sym_end, - STATE(15), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5443,8 +5419,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5461,7 +5436,84 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1470] = 30, + [1464] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym__scope, + ACTIONS(33), 1, + sym_identifier, + ACTIONS(35), 1, + sym_constant, + ACTIONS(37), 1, + sym_interface, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + anon_sym_singleton, + ACTIONS(47), 1, + anon_sym_LBRACK, + ACTIONS(49), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_DQUOTE, + ACTIONS(55), 1, + anon_sym_SQUOTE, + ACTIONS(57), 1, + anon_sym_COLON_DQUOTE, + ACTIONS(59), 1, + anon_sym_COLON_SQUOTE, + ACTIONS(61), 1, + aux_sym_symbol_literal_token1, + ACTIONS(63), 1, + aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, + ACTIONS(67), 1, + anon_sym_CARET, + STATE(81), 1, + sym_interface_name, + STATE(83), 1, + sym_alias_name, + STATE(84), 1, + sym_class_name, + STATE(253), 1, + sym_type, + STATE(317), 1, + sym_parameter, + STATE(329), 1, + sym_namespace, + STATE(422), 1, + sym_var_name, + ACTIONS(51), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(39), 9, + sym_self, + anon_sym_instance, + anon_sym_class, + anon_sym_bool, + anon_sym_untyped, + anon_sym_nil, + anon_sym_top, + anon_sym_bot, + anon_sym_void, + STATE(110), 14, + sym_builtin_type, + sym_class_type, + sym_interface_type, + sym_alias_type, + sym_singleton_type, + sym_union_type, + sym_intersection_type, + sym_optional_type, + sym_tuple_type, + sym_record_type, + sym__literal, + sym_string_literal, + sym_symbol_literal, + sym_proc, + [1568] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5500,19 +5552,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, ACTIONS(117), 1, anon_sym_end, - STATE(15), 1, + STATE(22), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5524,8 +5576,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5542,71 +5593,70 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1581] = 30, + [1678] = 30, ACTIONS(3), 1, sym_comment, - ACTIONS(119), 1, + ACTIONS(7), 1, sym_constant, - ACTIONS(122), 1, - sym_self, - ACTIONS(125), 1, + ACTIONS(9), 1, anon_sym_class, - ACTIONS(128), 1, + ACTIONS(11), 1, sym__scope, - ACTIONS(131), 1, + ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, - ACTIONS(134), 1, + ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(137), 1, + ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(140), 1, + ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(143), 1, + ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(146), 1, - anon_sym_end, - ACTIONS(148), 1, + ACTIONS(25), 1, anon_sym_module, - ACTIONS(151), 1, + ACTIONS(27), 1, anon_sym_interface, - ACTIONS(154), 1, + ACTIONS(29), 1, anon_sym_type, - ACTIONS(157), 1, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, anon_sym_def, - ACTIONS(166), 1, + ACTIONS(93), 1, anon_sym_include, - ACTIONS(169), 1, + ACTIONS(95), 1, anon_sym_extend, - ACTIONS(172), 1, + ACTIONS(97), 1, anon_sym_prepend, - ACTIONS(175), 1, + ACTIONS(99), 1, anon_sym_alias, - STATE(15), 1, + ACTIONS(119), 1, + anon_sym_end, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, - ACTIONS(160), 2, + ACTIONS(89), 2, anon_sym_public, anon_sym_private, - ACTIONS(178), 2, + ACTIONS(101), 2, sym_ivar_name, sym_cvar_name, - ACTIONS(163), 3, + ACTIONS(91), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5623,7 +5673,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1692] = 30, + [1788] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5660,21 +5710,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(181), 1, + ACTIONS(121), 1, anon_sym_end, - STATE(22), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5686,8 +5736,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5704,7 +5753,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1803] = 30, + [1898] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5741,21 +5790,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(111), 1, + ACTIONS(123), 1, anon_sym_end, - STATE(13), 1, + STATE(17), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5767,8 +5816,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5785,7 +5833,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [1914] = 30, + [2008] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5822,21 +5870,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(109), 1, + ACTIONS(125), 1, anon_sym_end, - STATE(12), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5848,8 +5896,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5866,7 +5913,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [2025] = 30, + [2118] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5903,21 +5950,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(183), 1, + ACTIONS(109), 1, anon_sym_end, - STATE(21), 1, + STATE(16), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5929,8 +5976,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5947,7 +5993,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [2136] = 30, + [2228] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5984,21 +6030,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(185), 1, + ACTIONS(111), 1, anon_sym_end, - STATE(15), 1, + STATE(19), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -6010,8 +6056,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -6028,7 +6073,7 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [2247] = 30, + [2338] = 30, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -6065,21 +6110,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(187), 1, + ACTIONS(127), 1, anon_sym_end, - STATE(15), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -6091,8 +6136,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -6109,71 +6153,70 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [2358] = 30, + [2448] = 30, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(129), 1, sym_constant, - ACTIONS(9), 1, + ACTIONS(132), 1, + sym_self, + ACTIONS(135), 1, anon_sym_class, - ACTIONS(11), 1, + ACTIONS(138), 1, sym__scope, - ACTIONS(15), 1, + ACTIONS(141), 1, anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, + ACTIONS(144), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, + ACTIONS(147), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, + ACTIONS(150), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, + ACTIONS(153), 1, anon_sym_PERCENTa_LT, - ACTIONS(25), 1, + ACTIONS(156), 1, + anon_sym_end, + ACTIONS(158), 1, anon_sym_module, - ACTIONS(27), 1, + ACTIONS(161), 1, anon_sym_interface, - ACTIONS(29), 1, + ACTIONS(164), 1, anon_sym_type, - ACTIONS(77), 1, - sym_self, - ACTIONS(87), 1, + ACTIONS(167), 1, anon_sym_def, - ACTIONS(93), 1, + ACTIONS(176), 1, anon_sym_include, - ACTIONS(95), 1, + ACTIONS(179), 1, anon_sym_extend, - ACTIONS(97), 1, + ACTIONS(182), 1, anon_sym_prepend, - ACTIONS(99), 1, + ACTIONS(185), 1, anon_sym_alias, - ACTIONS(189), 1, - anon_sym_end, - STATE(15), 1, + STATE(23), 1, aux_sym_class_decl_repeat1, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(129), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(271), 1, + STATE(263), 1, sym_visibility, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, - ACTIONS(89), 2, + ACTIONS(170), 2, anon_sym_public, anon_sym_private, - ACTIONS(101), 2, + ACTIONS(188), 2, sym_ivar_name, sym_cvar_name, - ACTIONS(91), 3, + ACTIONS(173), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 17, - sym__nestable_decls, + STATE(195), 16, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -6190,13 +6233,11 @@ static const uint16_t ts_small_parse_table[] = { sym_extend_member, sym_prepend_member, sym_alias_member, - [2469] = 27, + [2558] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(33), 1, - sym_identifier, ACTIONS(35), 1, sym_constant, ACTIONS(37), 1, @@ -6225,20 +6266,20 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + ACTIONS(191), 1, + sym_identifier, + ACTIONS(193), 1, + anon_sym_RBRACK, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(262), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(333), 1, - sym_parameter, - STATE(428), 1, - sym_var_name, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6252,7 +6293,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6267,7 +6308,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2573] = 26, + [2659] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6302,18 +6343,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - ACTIONS(193), 1, - anon_sym_RBRACK, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(284), 1, + STATE(253), 1, sym_type, STATE(329), 1, sym_namespace, + STATE(423), 1, + sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6327,7 +6368,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6342,7 +6383,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2674] = 26, + [2760] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6377,18 +6418,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - ACTIONS(195), 1, - anon_sym_RBRACK, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(284), 1, + STATE(253), 1, sym_type, STATE(329), 1, sym_namespace, + STATE(376), 1, + sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6402,7 +6443,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6417,7 +6458,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2775] = 26, + [2861] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6452,18 +6493,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + ACTIONS(195), 1, + anon_sym_RBRACK, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(268), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(376), 1, - sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6477,7 +6518,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6492,7 +6533,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2876] = 26, + [2962] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6527,17 +6568,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(373), 1, + STATE(366), 1, sym_parameter, ACTIONS(51), 2, anon_sym_true, @@ -6552,7 +6593,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6567,7 +6608,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2977] = 26, + [3063] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6602,17 +6643,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(253), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(397), 1, + STATE(375), 1, sym_parameter, ACTIONS(51), 2, anon_sym_true, @@ -6627,7 +6668,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6642,7 +6683,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3078] = 26, + [3164] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6677,18 +6718,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + ACTIONS(197), 1, + anon_sym_RBRACK, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(261), 1, + STATE(268), 1, sym_type, STATE(329), 1, sym_namespace, - STATE(382), 1, - sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6702,7 +6743,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6717,7 +6758,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3179] = 26, + [3265] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6752,15 +6793,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - ACTIONS(197), 1, - anon_sym_RBRACK, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(268), 1, + STATE(102), 1, sym_type, STATE(329), 1, sym_namespace, @@ -6777,7 +6816,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6792,7 +6831,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3280] = 25, + [3363] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6827,13 +6866,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(119), 1, + STATE(115), 1, sym_type, STATE(329), 1, sym_namespace, @@ -6850,7 +6889,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6865,7 +6904,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3378] = 25, + [3461] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6900,13 +6939,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(288), 1, + STATE(274), 1, sym_type, STATE(329), 1, sym_namespace, @@ -6923,7 +6962,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6938,7 +6977,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3476] = 25, + [3559] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6973,13 +7012,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(284), 1, + STATE(291), 1, sym_type, STATE(329), 1, sym_namespace, @@ -6996,7 +7035,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7011,7 +7050,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3574] = 25, + [3657] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7040,23 +7079,23 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_symbol_literal_token1, ACTIONS(63), 1, aux_sym_symbol_literal_token2, + ACTIONS(65), 1, + sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - ACTIONS(201), 1, - sym_integer_literal, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, + STATE(149), 1, + sym_type, STATE(329), 1, sym_namespace, - STATE(337), 1, - sym_type, - ACTIONS(199), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, ACTIONS(39), 9, @@ -7069,7 +7108,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(298), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7084,7 +7123,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3672] = 25, + [3755] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7119,13 +7158,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(146), 1, + STATE(118), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7142,7 +7181,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7157,7 +7196,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3770] = 25, + [3853] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7192,13 +7231,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(149), 1, + STATE(297), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7215,7 +7254,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7230,7 +7269,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3868] = 25, + [3951] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7265,13 +7304,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(137), 1, + STATE(145), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7288,7 +7327,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7303,7 +7342,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3966] = 25, + [4049] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7338,13 +7377,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(121), 1, + STATE(147), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7361,7 +7400,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7376,7 +7415,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4064] = 25, + [4147] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7411,13 +7450,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(130), 1, + STATE(286), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7434,7 +7473,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7449,7 +7488,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4162] = 25, + [4245] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7484,13 +7523,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(143), 1, + STATE(97), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7507,7 +7546,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7522,7 +7561,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4260] = 25, + [4343] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7557,13 +7596,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(136), 1, + STATE(224), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7580,7 +7619,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7595,7 +7634,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4358] = 25, + [4441] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7630,13 +7669,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(227), 1, + STATE(304), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7653,7 +7692,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7668,7 +7707,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4456] = 25, + [4539] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7703,13 +7742,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(141), 1, + STATE(128), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7726,7 +7765,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7741,7 +7780,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4554] = 25, + [4637] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7776,13 +7815,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(132), 1, + STATE(277), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7799,7 +7838,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7814,7 +7853,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4652] = 25, + [4735] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7849,13 +7888,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(145), 1, + STATE(275), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7872,7 +7911,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7887,7 +7926,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4750] = 25, + [4833] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7922,13 +7961,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(110), 1, + STATE(268), 1, sym_type, STATE(329), 1, sym_namespace, @@ -7945,7 +7984,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7960,7 +7999,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4848] = 25, + [4931] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7995,13 +8034,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(274), 1, + STATE(130), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8018,7 +8057,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8033,7 +8072,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4946] = 25, + [5029] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8068,13 +8107,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(294), 1, + STATE(136), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8091,7 +8130,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8106,7 +8145,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5044] = 25, + [5127] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8141,13 +8180,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(147), 1, + STATE(122), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8164,7 +8203,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8179,7 +8218,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5142] = 25, + [5225] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8214,13 +8253,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(144), 1, + STATE(142), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8237,7 +8276,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8252,7 +8291,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5240] = 25, + [5323] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8287,13 +8326,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(108), 1, + STATE(135), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8310,7 +8349,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8325,7 +8364,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5338] = 25, + [5421] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8360,10 +8399,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, STATE(148), 1, @@ -8383,7 +8422,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8398,7 +8437,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5436] = 25, + [5519] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8433,13 +8472,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(139), 1, + STATE(267), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8456,7 +8495,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8471,7 +8510,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5534] = 25, + [5617] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8506,13 +8545,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(276), 1, + STATE(146), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8529,7 +8568,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8544,7 +8583,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5632] = 25, + [5715] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8579,13 +8618,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(131), 1, + STATE(132), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8602,7 +8641,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8617,7 +8656,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5730] = 25, + [5813] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8652,13 +8691,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(290), 1, + STATE(116), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8675,7 +8714,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8690,7 +8729,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5828] = 25, + [5911] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8725,86 +8764,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, - STATE(84), 1, - sym_class_name, - STATE(306), 1, - sym_type, - STATE(329), 1, - sym_namespace, - ACTIONS(51), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(39), 9, - sym_self, - anon_sym_instance, - anon_sym_class, - anon_sym_bool, - anon_sym_untyped, - anon_sym_nil, - anon_sym_top, - anon_sym_bot, - anon_sym_void, - STATE(107), 14, - sym_builtin_type, - sym_class_type, - sym_interface_type, - sym_alias_type, - sym_singleton_type, - sym_union_type, - sym_intersection_type, - sym_optional_type, - sym_tuple_type, - sym_record_type, - sym__literal, - sym_string_literal, - sym_symbol_literal, - sym_proc, - [5926] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(35), 1, - sym_constant, - ACTIONS(37), 1, - sym_interface, - ACTIONS(41), 1, - anon_sym_LPAREN, - ACTIONS(45), 1, - anon_sym_singleton, - ACTIONS(47), 1, - anon_sym_LBRACK, - ACTIONS(49), 1, - anon_sym_LBRACE, - ACTIONS(53), 1, - anon_sym_DQUOTE, - ACTIONS(55), 1, - anon_sym_SQUOTE, - ACTIONS(57), 1, - anon_sym_COLON_DQUOTE, - ACTIONS(59), 1, - anon_sym_COLON_SQUOTE, - ACTIONS(61), 1, - aux_sym_symbol_literal_token1, - ACTIONS(63), 1, - aux_sym_symbol_literal_token2, - ACTIONS(65), 1, - sym_integer_literal, - ACTIONS(67), 1, - anon_sym_CARET, - ACTIONS(191), 1, - sym_identifier, - STATE(82), 1, - sym_alias_name, STATE(83), 1, - sym_interface_name, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(282), 1, + STATE(139), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8821,7 +8787,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8836,7 +8802,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6024] = 25, + [6009] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8871,13 +8837,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(114), 1, + STATE(141), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8894,7 +8860,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8909,7 +8875,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6122] = 25, + [6107] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8944,13 +8910,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(115), 1, + STATE(138), 1, sym_type, STATE(329), 1, sym_namespace, @@ -8967,7 +8933,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8982,7 +8948,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6220] = 25, + [6205] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -9017,13 +8983,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(283), 1, + STATE(143), 1, sym_type, STATE(329), 1, sym_namespace, @@ -9040,7 +9006,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(110), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -9055,7 +9021,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6318] = 25, + [6303] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -9084,23 +9050,23 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_symbol_literal_token1, ACTIONS(63), 1, aux_sym_symbol_literal_token2, - ACTIONS(65), 1, - sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, ACTIONS(191), 1, sym_identifier, - STATE(82), 1, - sym_alias_name, - STATE(83), 1, + ACTIONS(201), 1, + sym_integer_literal, + STATE(81), 1, sym_interface_name, + STATE(83), 1, + sym_alias_name, STATE(84), 1, sym_class_name, - STATE(142), 1, + STATE(328), 1, sym_type, STATE(329), 1, sym_namespace, - ACTIONS(51), 2, + ACTIONS(199), 2, anon_sym_true, anon_sym_false, ACTIONS(39), 9, @@ -9113,7 +9079,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(107), 14, + STATE(278), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -9128,7 +9094,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6416] = 4, + [6401] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(207), 1, @@ -9175,7 +9141,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [6467] = 4, + [6452] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(213), 1, @@ -9222,7 +9188,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [6518] = 10, + [6503] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(215), 1, @@ -9233,9 +9199,9 @@ static const uint16_t ts_small_parse_table[] = { sym_self, ACTIONS(225), 1, aux_sym_method_name_token1, - STATE(76), 1, + STATE(77), 1, sym_method_name, - STATE(391), 1, + STATE(358), 1, sym_singleton_method_name, STATE(88), 5, sym_operator, @@ -9274,7 +9240,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6580] = 10, + [6565] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(215), 1, @@ -9285,9 +9251,9 @@ static const uint16_t ts_small_parse_table[] = { sym_self, ACTIONS(225), 1, aux_sym_method_name_token1, - STATE(77), 1, + STATE(76), 1, sym_method_name, - STATE(360), 1, + STATE(352), 1, sym_singleton_method_name, STATE(88), 5, sym_operator, @@ -9326,7 +9292,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6642] = 9, + [6627] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, @@ -9337,7 +9303,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant, ACTIONS(231), 1, sym_self, - STATE(421), 1, + STATE(325), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9376,7 +9342,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6701] = 9, + [6686] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, @@ -9387,7 +9353,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant, ACTIONS(233), 1, sym_self, - STATE(400), 1, + STATE(439), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9426,7 +9392,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6760] = 9, + [6745] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, @@ -9437,7 +9403,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant, ACTIONS(235), 1, sym_self, - STATE(335), 1, + STATE(454), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9476,7 +9442,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6819] = 9, + [6804] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, @@ -9487,7 +9453,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant, ACTIONS(237), 1, sym_self, - STATE(347), 1, + STATE(327), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9526,24 +9492,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6878] = 8, + [6863] = 8, ACTIONS(3), 1, sym_comment, + ACTIONS(225), 1, + aux_sym_method_name_token1, + ACTIONS(229), 1, + sym_constant, ACTIONS(239), 1, sym_identifier, - ACTIONS(241), 1, - sym_constant, - ACTIONS(247), 1, - aux_sym_method_name_token1, - STATE(208), 1, + STATE(405), 1, sym_method_name, - STATE(202), 5, + STATE(88), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(245), 11, + ACTIONS(223), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9555,7 +9521,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(243), 18, + ACTIONS(221), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9574,24 +9540,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6934] = 8, + [6919] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(247), 1, + ACTIONS(225), 1, aux_sym_method_name_token1, - ACTIONS(249), 1, - sym_identifier, - ACTIONS(251), 1, + ACTIONS(229), 1, sym_constant, - STATE(208), 1, + ACTIONS(239), 1, + sym_identifier, + STATE(348), 1, sym_method_name, - STATE(202), 5, + STATE(88), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(245), 11, + ACTIONS(223), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9603,7 +9569,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(243), 18, + ACTIONS(221), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9622,16 +9588,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6990] = 8, + [6975] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, aux_sym_method_name_token1, ACTIONS(229), 1, sym_constant, - ACTIONS(253), 1, + ACTIONS(239), 1, sym_identifier, - STATE(208), 1, + STATE(409), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9670,16 +9636,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7046] = 8, + [7031] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, aux_sym_method_name_token1, ACTIONS(229), 1, sym_constant, - ACTIONS(253), 1, + ACTIONS(239), 1, sym_identifier, - STATE(475), 1, + STATE(188), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9718,16 +9684,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7102] = 8, + [7087] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, aux_sym_method_name_token1, ACTIONS(229), 1, sym_constant, - ACTIONS(253), 1, + ACTIONS(239), 1, sym_identifier, - STATE(418), 1, + STATE(341), 1, sym_method_name, STATE(88), 5, sym_operator, @@ -9766,16 +9732,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7158] = 8, + [7143] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(239), 1, - sym_identifier, ACTIONS(241), 1, + sym_identifier, + ACTIONS(243), 1, sym_constant, - ACTIONS(247), 1, + ACTIONS(249), 1, aux_sym_method_name_token1, - STATE(207), 1, + STATE(210), 1, sym_method_name, STATE(202), 5, sym_operator, @@ -9783,7 +9749,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(245), 11, + ACTIONS(247), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9795,7 +9761,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(243), 18, + ACTIONS(245), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9814,16 +9780,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7214] = 8, + [7199] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(247), 1, - aux_sym_method_name_token1, ACTIONS(249), 1, - sym_identifier, + aux_sym_method_name_token1, ACTIONS(251), 1, + sym_identifier, + ACTIONS(253), 1, sym_constant, - STATE(207), 1, + STATE(210), 1, sym_method_name, STATE(202), 5, sym_operator, @@ -9831,7 +9797,7 @@ static const uint16_t ts_small_parse_table[] = { sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(245), 11, + ACTIONS(247), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9843,7 +9809,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(243), 18, + ACTIONS(245), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9862,24 +9828,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7270] = 8, + [7255] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, + ACTIONS(249), 1, aux_sym_method_name_token1, - ACTIONS(229), 1, - sym_constant, - ACTIONS(253), 1, + ACTIONS(251), 1, sym_identifier, - STATE(352), 1, + ACTIONS(253), 1, + sym_constant, + STATE(188), 1, sym_method_name, - STATE(88), 5, + STATE(202), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(247), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9891,7 +9857,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(245), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9910,24 +9876,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7326] = 8, + [7311] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, - aux_sym_method_name_token1, - ACTIONS(229), 1, - sym_constant, - ACTIONS(253), 1, + ACTIONS(241), 1, sym_identifier, - STATE(326), 1, + ACTIONS(243), 1, + sym_constant, + ACTIONS(249), 1, + aux_sym_method_name_token1, + STATE(188), 1, sym_method_name, - STATE(88), 5, + STATE(202), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(247), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9939,7 +9905,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(245), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9958,7 +9924,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7382] = 3, + [7367] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(257), 17, @@ -10000,9 +9966,13 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7427] = 3, + [7412] = 5, ACTIONS(3), 1, sym_comment, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(112), 1, + sym_type_arguments, ACTIONS(261), 17, sym_self, anon_sym_class, @@ -10021,14 +9991,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(259), 20, + ACTIONS(259), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, anon_sym_QMARK, - anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -10038,18 +10007,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, - anon_sym_EQ2, sym_global_name, sym_ivar_name, sym_cvar_name, - [7472] = 5, + [7461] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - STATE(118), 1, - sym_type_arguments, - ACTIONS(265), 17, + ACTIONS(267), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10067,13 +10031,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(263), 18, + ACTIONS(265), 20, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, anon_sym_QMARK, + anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -10083,15 +10048,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, + anon_sym_EQ2, sym_global_name, sym_ivar_name, sym_cvar_name, - [7521] = 5, + [7506] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, + ACTIONS(263), 1, anon_sym_LBRACK, - STATE(120), 1, + STATE(101), 1, sym_type_arguments, ACTIONS(271), 17, sym_self, @@ -10130,12 +10096,12 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7570] = 5, + [7555] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, + ACTIONS(263), 1, anon_sym_LBRACK, - STATE(95), 1, + STATE(99), 1, sym_type_arguments, ACTIONS(275), 17, sym_self, @@ -10174,10 +10140,51 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7619] = 3, + [7604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(279), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(277), 19, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [7648] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(277), 14, + ACTIONS(281), 14, sym_self, anon_sym_LPAREN, anon_sym_STAR, @@ -10192,7 +10199,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, sym_identifier, - ACTIONS(279), 22, + ACTIONS(283), 22, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -10215,10 +10222,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [7663] = 3, + [7692] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(281), 14, + ACTIONS(285), 14, sym_self, anon_sym_LPAREN, anon_sym_STAR, @@ -10233,7 +10240,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, sym_identifier, - ACTIONS(283), 22, + ACTIONS(287), 22, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -10256,52 +10263,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [7707] = 4, + [7736] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(289), 2, - anon_sym_QMARK, - anon_sym_EQ, - ACTIONS(285), 17, - ts_builtin_sym_end, + ACTIONS(289), 14, + sym_self, + anon_sym_LPAREN, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + sym_identifier, + ACTIONS(291), 22, sym_constant, - anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(287), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - [7753] = 3, + anon_sym_COLON, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + aux_sym_method_name_token1, + [7780] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(291), 14, + ACTIONS(293), 14, sym_self, anon_sym_LPAREN, anon_sym_STAR, @@ -10316,7 +10322,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, sym_identifier, - ACTIONS(293), 22, + ACTIONS(295), 22, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -10339,10 +10345,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [7797] = 3, + [7824] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(295), 14, + ACTIONS(297), 14, sym_self, anon_sym_LPAREN, anon_sym_STAR, @@ -10357,7 +10363,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, sym_identifier, - ACTIONS(297), 22, + ACTIONS(299), 22, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -10380,10 +10386,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [7841] = 3, + [7868] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(299), 14, + ACTIONS(301), 14, sym_self, anon_sym_LPAREN, anon_sym_STAR, @@ -10398,7 +10404,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, sym_identifier, - ACTIONS(301), 22, + ACTIONS(303), 22, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -10421,35 +10427,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [7885] = 3, + [7912] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(309), 2, + anon_sym_QMARK, + anon_sym_EQ, ACTIONS(305), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - ACTIONS(303), 19, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_QMARK, - anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -10462,10 +10451,28 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7929] = 3, + ACTIONS(307), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + [7958] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(309), 17, + ACTIONS(313), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10483,7 +10490,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(307), 19, + ACTIONS(311), 19, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10503,48 +10510,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7973] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(311), 14, - sym_self, - anon_sym_LPAREN, - anon_sym_STAR, - anon_sym_GT, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - sym_identifier, - ACTIONS(313), 22, - sym_constant, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_COLON, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_LPAREN_RPAREN, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [8017] = 3, + [8002] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(317), 17, @@ -10584,7 +10550,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8060] = 3, + [8045] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(321), 17, @@ -10624,7 +10590,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8103] = 3, + [8088] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(325), 17, @@ -10664,9 +10630,30 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8146] = 3, + [8131] = 5, ACTIONS(3), 1, sym_comment, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(327), 16, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, ACTIONS(329), 17, sym_self, anon_sym_class, @@ -10685,7 +10672,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(327), 18, + [8178] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(337), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(335), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10704,10 +10712,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8189] = 3, + [8221] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(333), 17, + ACTIONS(341), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10725,7 +10733,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(331), 18, + ACTIONS(339), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10744,10 +10752,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8232] = 3, + [8264] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(337), 17, + ACTIONS(345), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10765,7 +10773,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(335), 18, + ACTIONS(343), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10784,10 +10792,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8275] = 3, + [8307] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(341), 17, + ACTIONS(349), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10805,7 +10813,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(339), 18, + ACTIONS(347), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10824,10 +10832,31 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8318] = 3, + [8350] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(345), 17, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(351), 16, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + ACTIONS(353), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10845,7 +10874,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(343), 18, + [8397] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(357), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(355), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10864,10 +10914,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8361] = 3, + [8440] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(349), 17, + ACTIONS(361), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10885,7 +10935,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(347), 18, + ACTIONS(359), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10904,10 +10954,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8404] = 3, + [8483] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 17, + ACTIONS(365), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10925,7 +10975,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(351), 18, + ACTIONS(363), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10944,10 +10994,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8447] = 3, + [8526] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(287), 17, + ACTIONS(369), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10965,7 +11015,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(285), 18, + ACTIONS(367), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10984,10 +11034,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8490] = 3, + [8569] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(357), 17, + ACTIONS(307), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11005,7 +11055,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(355), 18, + ACTIONS(305), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11024,10 +11074,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8533] = 3, + [8612] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(361), 17, + ACTIONS(373), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11045,7 +11095,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(359), 18, + ACTIONS(371), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11064,10 +11114,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8576] = 3, + [8655] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(365), 17, + ACTIONS(377), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11085,7 +11135,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(363), 18, + ACTIONS(375), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11104,18 +11154,34 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8619] = 5, + [8698] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(367), 16, + ACTIONS(381), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(379), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -11128,7 +11194,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(369), 17, + [8741] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11146,28 +11215,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8666] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(377), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - ACTIONS(375), 18, + ACTIONS(383), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11186,52 +11234,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8709] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(379), 16, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(381), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - [8756] = 3, + [8784] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(385), 17, + ACTIONS(389), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11249,7 +11255,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(383), 18, + ACTIONS(387), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11268,10 +11274,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8799] = 3, + [8827] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(389), 17, + ACTIONS(393), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11289,7 +11295,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(387), 18, + ACTIONS(391), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11308,10 +11314,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8842] = 3, + [8870] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(393), 17, + ACTIONS(397), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11329,7 +11335,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(391), 18, + ACTIONS(395), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11348,18 +11354,17 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8885] = 5, + [8913] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(395), 16, + ACTIONS(399), 17, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, + anon_sym_AMP, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -11372,7 +11377,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(397), 17, + ACTIONS(401), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11390,14 +11395,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8932] = 5, + [8958] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(399), 16, + ACTIONS(403), 16, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11414,7 +11419,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(401), 17, + ACTIONS(405), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11432,10 +11437,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8979] = 3, + [9005] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(405), 17, + ACTIONS(409), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11453,7 +11458,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(403), 18, + ACTIONS(407), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11472,10 +11477,31 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [9022] = 3, + [9048] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(409), 17, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(411), 16, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + ACTIONS(413), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11493,29 +11519,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(407), 18, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - [9065] = 3, + [9095] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(413), 17, + ACTIONS(417), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11533,7 +11540,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(411), 18, + ACTIONS(415), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11552,30 +11559,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [9108] = 4, + [9138] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(415), 17, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(417), 17, + ACTIONS(421), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11593,10 +11580,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [9153] = 3, + ACTIONS(419), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [9181] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(421), 17, + ACTIONS(425), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11614,7 +11620,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(419), 18, + ACTIONS(423), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11633,14 +11639,14 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [9196] = 5, + [9224] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(423), 16, + ACTIONS(427), 16, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11657,27 +11663,6 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(425), 17, - sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - [9243] = 3, - ACTIONS(3), 1, - sym_comment, ACTIONS(429), 17, sym_self, anon_sym_class, @@ -11696,26 +11681,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(427), 18, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - [9286] = 3, + [9271] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(433), 17, @@ -11755,14 +11721,14 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [9329] = 5, + [9314] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(435), 1, anon_sym_QMARK, ACTIONS(437), 1, anon_sym_EQ, - ACTIONS(291), 11, + ACTIONS(289), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -11774,7 +11740,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(293), 21, + ACTIONS(291), 21, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -11796,14 +11762,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, sym_identifier, - [9375] = 5, + [9360] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(439), 1, anon_sym_QMARK, ACTIONS(441), 1, anon_sym_EQ, - ACTIONS(291), 11, + ACTIONS(289), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -11815,7 +11781,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(293), 21, + ACTIONS(291), 21, sym_constant, anon_sym_PIPE, anon_sym_AMP, @@ -11837,7 +11803,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, sym_identifier, - [9421] = 3, + [9406] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(443), 13, @@ -11875,7 +11841,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, aux_sym_method_name_token1, - [9462] = 9, + [9447] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(449), 1, @@ -11890,7 +11856,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_LT, STATE(127), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, ACTIONS(447), 24, sym_constant, @@ -11917,60 +11883,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9513] = 21, + [9498] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(464), 27, + ts_builtin_sym_end, sym_constant, - ACTIONS(9), 1, + sym_self, anon_sym_class, - ACTIONS(11), 1, sym__scope, - ACTIONS(13), 1, - anon_sym_use, - ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(25), 1, + anon_sym_end, anon_sym_module, - ACTIONS(27), 1, anon_sym_interface, - ACTIONS(29), 1, anon_sym_type, - ACTIONS(31), 1, sym_global_name, - ACTIONS(464), 1, - ts_builtin_sym_end, - STATE(134), 1, - sym_annotation, - STATE(216), 1, - aux_sym__decl_repeat1, - STATE(464), 1, - sym_const_name, - STATE(465), 1, - sym_namespace, - STATE(229), 2, - sym_use_directive, - aux_sym_program_repeat1, - STATE(166), 10, - sym__decl, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - aux_sym_program_repeat2, - [9587] = 22, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_ivar_name, + sym_cvar_name, + [9540] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -11995,17 +11945,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - STATE(69), 1, + STATE(67), 1, sym_attribyte_type, STATE(127), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(213), 1, + STATE(196), 1, sym_attribute_member, - STATE(215), 1, + STATE(197), 1, sym_visibility_member, - STATE(271), 1, + STATE(263), 1, sym_visibility, ACTIONS(89), 2, anon_sym_public, @@ -12017,23 +11967,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(201), 6, + STATE(194), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - [9663] = 5, + [9616] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(466), 27, + ACTIONS(468), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -12061,51 +12011,67 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9705] = 5, + [9658] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(470), 27, - ts_builtin_sym_end, + ACTIONS(7), 1, sym_constant, - sym_self, + ACTIONS(9), 1, anon_sym_class, + ACTIONS(11), 1, sym__scope, + ACTIONS(13), 1, + anon_sym_use, + ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, anon_sym_PERCENTa_LT, - anon_sym_end, + ACTIONS(25), 1, anon_sym_module, + ACTIONS(27), 1, anon_sym_interface, + ACTIONS(29), 1, anon_sym_type, + ACTIONS(31), 1, sym_global_name, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [9747] = 5, + ACTIONS(470), 1, + ts_builtin_sym_end, + STATE(133), 1, + sym_annotation, + STATE(211), 1, + aux_sym__decl_repeat1, + STATE(418), 1, + sym_const_name, + STATE(430), 1, + sym_namespace, + STATE(225), 2, + sym_use_directive, + aux_sym_program_repeat1, + STATE(169), 10, + sym__decl, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + aux_sym_program_repeat2, + [9732] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, ACTIONS(472), 27, ts_builtin_sym_end, @@ -12135,7 +12101,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9789] = 2, + [9774] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(474), 29, @@ -12168,7 +12134,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9824] = 2, + [9809] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(476), 29, @@ -12201,12 +12167,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9859] = 3, + [9844] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(480), 1, - anon_sym_COLON, - ACTIONS(478), 27, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(478), 25, sym_constant, sym_self, anon_sym_class, @@ -12217,9 +12187,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, anon_sym_end, - anon_sym_LT, anon_sym_module, - anon_sym_EQ2, anon_sym_interface, anon_sym_type, anon_sym_def, @@ -12234,16 +12202,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9895] = 5, + [9884] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(482), 25, + ACTIONS(480), 25, sym_constant, sym_self, anon_sym_class, @@ -12269,16 +12237,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9935] = 5, + [9924] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(484), 25, + ACTIONS(484), 1, + anon_sym_COLON, + ACTIONS(482), 27, sym_constant, sym_self, anon_sym_class, @@ -12289,7 +12253,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, anon_sym_end, + anon_sym_LT, anon_sym_module, + anon_sym_EQ2, anon_sym_interface, anon_sym_type, anon_sym_def, @@ -12304,19 +12270,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9975] = 5, + [9960] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - ACTIONS(488), 1, - anon_sym_COMMA, - STATE(188), 1, - sym_type_arguments, - ACTIONS(486), 25, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(486), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12339,16 +12304,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10015] = 5, + [9998] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(490), 25, + ACTIONS(488), 25, sym_constant, sym_self, anon_sym_class, @@ -12374,12 +12339,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10055] = 3, + [10038] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(494), 1, + ACTIONS(492), 1, anon_sym_COLON, - ACTIONS(492), 27, + ACTIONS(490), 27, sym_constant, sym_self, anon_sym_class, @@ -12407,16 +12372,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10091] = 5, + [10074] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(496), 25, + ACTIONS(494), 25, sym_constant, sym_self, anon_sym_class, @@ -12442,16 +12407,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10131] = 5, + [10114] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(498), 25, + ACTIONS(496), 25, sym_constant, sym_self, anon_sym_class, @@ -12477,18 +12442,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10171] = 4, + [10154] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(500), 26, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(498), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12511,16 +12477,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10209] = 5, + [10194] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(502), 25, + ACTIONS(263), 1, + anon_sym_LBRACK, + ACTIONS(502), 1, + anon_sym_COMMA, + STATE(184), 1, + sym_type_arguments, + ACTIONS(500), 25, sym_constant, sym_self, anon_sym_class, @@ -12546,19 +12512,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10249] = 5, + [10234] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(504), 25, + ACTIONS(504), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12581,18 +12546,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10289] = 4, + [10272] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(506), 26, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(506), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12615,14 +12581,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10327] = 5, + [10312] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, ACTIONS(508), 25, sym_constant, @@ -12650,19 +12616,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10367] = 5, + [10352] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(510), 25, + ACTIONS(510), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12685,18 +12650,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10407] = 4, + [10390] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(512), 26, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(512), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12719,11 +12685,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10445] = 2, + [10430] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(514), 27, - ts_builtin_sym_end, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(199), 1, + sym_type_arguments, + ACTIONS(514), 25, sym_constant, sym_self, anon_sym_class, @@ -12737,7 +12706,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12750,7 +12718,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10478] = 2, + [10467] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(516), 27, @@ -12781,14 +12749,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10511] = 4, + [10500] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(518), 1, - anon_sym_QMARK, - ACTIONS(520), 1, - anon_sym_EQ, - ACTIONS(293), 25, + ACTIONS(518), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12802,6 +12767,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12814,14 +12780,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10548] = 4, + [10533] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - STATE(211), 1, - sym_type_arguments, - ACTIONS(522), 25, + ACTIONS(520), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12835,6 +12798,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12847,14 +12811,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10585] = 4, + [10566] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, + ACTIONS(524), 1, anon_sym_PIPE, - STATE(169), 1, + STATE(154), 1, aux_sym_method_types_repeat1, - ACTIONS(524), 25, + ACTIONS(522), 25, sym_constant, sym_self, anon_sym_class, @@ -12880,10 +12844,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10622] = 2, + [10603] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(528), 27, + ACTIONS(527), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -12911,10 +12875,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10655] = 2, + [10636] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(530), 27, + ACTIONS(529), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -12942,40 +12906,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10688] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(532), 1, - anon_sym_QMARK, - ACTIONS(534), 1, - anon_sym_EQ, - ACTIONS(293), 25, - sym_constant, - sym_self, - anon_sym_class, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [10725] = 19, + [10669] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -13002,17 +12933,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type, ACTIONS(31), 1, sym_global_name, - ACTIONS(464), 1, + ACTIONS(470), 1, ts_builtin_sym_end, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(216), 1, + STATE(211), 1, aux_sym__decl_repeat1, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, - STATE(167), 10, + STATE(171), 10, sym__decl, sym_class_decl, sym_module_decl, @@ -13023,10 +12954,10 @@ static const uint16_t ts_small_parse_table[] = { sym_const_decl, sym_global_decl, aux_sym_program_repeat2, - [10792] = 2, + [10736] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(536), 27, + ACTIONS(531), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13054,10 +12985,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10825] = 2, + [10769] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(538), 27, + ACTIONS(533), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13085,10 +13016,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10858] = 2, + [10802] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(540), 27, + ACTIONS(535), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13116,14 +13047,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10891] = 4, + [10835] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(154), 1, - aux_sym_method_types_repeat1, - ACTIONS(542), 25, + ACTIONS(537), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -13137,6 +13065,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13149,10 +13078,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10928] = 2, + [10868] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(544), 27, + ACTIONS(539), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13180,14 +13109,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10961] = 4, + [10901] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(175), 1, - aux_sym_method_types_repeat1, - ACTIONS(524), 25, + ACTIONS(541), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -13201,6 +13127,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13213,14 +13140,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10998] = 4, + [10934] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(177), 1, - aux_sym_method_types_repeat1, - ACTIONS(546), 25, + ACTIONS(543), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -13234,6 +13158,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13246,106 +13171,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11035] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, - anon_sym_class, - ACTIONS(11), 1, - sym__scope, - ACTIONS(15), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, - anon_sym_PERCENTa_LT, - ACTIONS(25), 1, - anon_sym_module, - ACTIONS(27), 1, - anon_sym_interface, - ACTIONS(29), 1, - anon_sym_type, - ACTIONS(31), 1, - sym_global_name, - ACTIONS(548), 1, - ts_builtin_sym_end, - STATE(134), 1, - sym_annotation, - STATE(216), 1, - aux_sym__decl_repeat1, - STATE(464), 1, - sym_const_name, - STATE(465), 1, - sym_namespace, - STATE(167), 10, - sym__decl, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - aux_sym_program_repeat2, - [11102] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(550), 1, - ts_builtin_sym_end, - ACTIONS(552), 1, - sym_constant, - ACTIONS(555), 1, - anon_sym_class, - ACTIONS(558), 1, - sym__scope, - ACTIONS(561), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(564), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(567), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(570), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(573), 1, - anon_sym_PERCENTa_LT, - ACTIONS(576), 1, - anon_sym_module, - ACTIONS(579), 1, - anon_sym_interface, - ACTIONS(582), 1, - anon_sym_type, - ACTIONS(585), 1, - sym_global_name, - STATE(134), 1, - sym_annotation, - STATE(216), 1, - aux_sym__decl_repeat1, - STATE(464), 1, - sym_const_name, - STATE(465), 1, - sym_namespace, - STATE(167), 10, - sym__decl, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - aux_sym_program_repeat2, - [11169] = 2, + [10967] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(588), 27, + ACTIONS(545), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13373,14 +13202,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11202] = 4, + [11000] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(592), 1, - anon_sym_PIPE, - STATE(169), 1, - aux_sym_method_types_repeat1, - ACTIONS(590), 25, + ACTIONS(547), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -13394,6 +13220,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13406,14 +13233,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11239] = 4, + [11033] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - STATE(212), 1, - sym_type_arguments, - ACTIONS(595), 25, + ACTIONS(549), 1, + anon_sym_QMARK, + ACTIONS(551), 1, + anon_sym_EQ, + ACTIONS(291), 25, sym_constant, sym_self, anon_sym_class, @@ -13439,10 +13266,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11276] = 2, + [11070] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(597), 27, + ACTIONS(553), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13470,42 +13297,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11309] = 2, + [11103] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(599), 27, - ts_builtin_sym_end, + ACTIONS(7), 1, sym_constant, - sym_self, + ACTIONS(9), 1, anon_sym_class, + ACTIONS(11), 1, sym__scope, + ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, anon_sym_PERCENTa_LT, - anon_sym_end, + ACTIONS(25), 1, anon_sym_module, + ACTIONS(27), 1, anon_sym_interface, + ACTIONS(29), 1, anon_sym_type, + ACTIONS(31), 1, sym_global_name, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [11342] = 2, + ACTIONS(555), 1, + ts_builtin_sym_end, + STATE(133), 1, + sym_annotation, + STATE(211), 1, + aux_sym__decl_repeat1, + STATE(418), 1, + sym_const_name, + STATE(430), 1, + sym_namespace, + STATE(171), 10, + sym__decl, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + aux_sym_program_repeat2, + [11170] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(601), 27, - ts_builtin_sym_end, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(189), 1, + sym_type_arguments, + ACTIONS(557), 25, sym_constant, sym_self, anon_sym_class, @@ -13519,7 +13366,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13532,45 +13378,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11375] = 2, + [11207] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(603), 27, + ACTIONS(559), 1, ts_builtin_sym_end, + ACTIONS(561), 1, sym_constant, - sym_self, + ACTIONS(564), 1, anon_sym_class, + ACTIONS(567), 1, sym__scope, + ACTIONS(570), 1, anon_sym_PERCENTa_LBRACE, + ACTIONS(573), 1, anon_sym_PERCENTa_LPAREN, + ACTIONS(576), 1, anon_sym_PERCENTa_LBRACK, + ACTIONS(579), 1, anon_sym_PERCENTa_PIPE, + ACTIONS(582), 1, anon_sym_PERCENTa_LT, - anon_sym_end, + ACTIONS(585), 1, anon_sym_module, + ACTIONS(588), 1, anon_sym_interface, + ACTIONS(591), 1, anon_sym_type, + ACTIONS(594), 1, sym_global_name, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [11408] = 4, + STATE(133), 1, + sym_annotation, + STATE(211), 1, + aux_sym__decl_repeat1, + STATE(418), 1, + sym_const_name, + STATE(430), 1, + sym_namespace, + STATE(171), 10, + sym__decl, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + aux_sym_program_repeat2, + [11274] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(169), 1, - aux_sym_method_types_repeat1, - ACTIONS(605), 25, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(208), 1, + sym_type_arguments, + ACTIONS(597), 25, sym_constant, sym_self, anon_sym_class, @@ -13596,14 +13459,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11445] = 4, + [11311] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(184), 1, - aux_sym_method_types_repeat1, - ACTIONS(607), 25, + ACTIONS(599), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -13617,6 +13477,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13629,14 +13490,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11482] = 4, + [11344] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(526), 1, - anon_sym_PIPE, - STATE(169), 1, - aux_sym_method_types_repeat1, - ACTIONS(609), 25, + ACTIONS(263), 1, + anon_sym_LBRACK, + STATE(206), 1, + sym_type_arguments, + ACTIONS(601), 25, sym_constant, sym_self, anon_sym_class, @@ -13662,11 +13523,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11519] = 2, + [11381] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(611), 27, - ts_builtin_sym_end, + ACTIONS(603), 1, + anon_sym_QMARK, + ACTIONS(605), 1, + anon_sym_EQ, + ACTIONS(291), 25, sym_constant, sym_self, anon_sym_class, @@ -13680,7 +13544,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13693,10 +13556,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11552] = 2, + [11418] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(613), 27, + ACTIONS(607), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13724,14 +13587,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11585] = 4, + [11451] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - STATE(192), 1, - sym_type_arguments, - ACTIONS(615), 25, + ACTIONS(611), 1, + anon_sym_PIPE, + STATE(154), 1, + aux_sym_method_types_repeat1, + ACTIONS(609), 25, sym_constant, sym_self, anon_sym_class, @@ -13757,11 +13620,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11622] = 2, + [11488] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(617), 27, - ts_builtin_sym_end, + ACTIONS(611), 1, + anon_sym_PIPE, + STATE(177), 1, + aux_sym_method_types_repeat1, + ACTIONS(613), 25, sym_constant, sym_self, anon_sym_class, @@ -13775,7 +13641,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -13788,10 +13653,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11655] = 2, + [11525] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(619), 27, + ACTIONS(615), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13819,48 +13684,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11688] = 2, + [11558] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(621), 27, - ts_builtin_sym_end, + ACTIONS(617), 26, sym_constant, sym_self, anon_sym_class, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [11721] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(526), 1, anon_sym_PIPE, - STATE(169), 1, - aux_sym_method_types_repeat1, - ACTIONS(623), 25, - sym_constant, - sym_self, - anon_sym_class, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -13883,17 +13714,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11758] = 4, + [11590] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 1, - anon_sym_LBRACK, - STATE(191), 1, - sym_type_arguments, - ACTIONS(625), 25, + ACTIONS(619), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -13916,10 +13744,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11795] = 2, + [11622] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 26, + ACTIONS(621), 26, sym_constant, sym_self, anon_sym_class, @@ -13946,10 +13774,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11827] = 2, + [11654] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(590), 26, + ACTIONS(522), 26, sym_constant, sym_self, anon_sym_class, @@ -13976,45 +13804,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11859] = 3, + [11686] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(631), 1, + ACTIONS(625), 1, anon_sym_COMMA, - ACTIONS(629), 25, - sym_constant, - sym_self, - anon_sym_class, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_ivar_name, - sym_cvar_name, - [11893] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(633), 26, + ACTIONS(623), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -14037,10 +13835,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11925] = 2, + [11720] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(635), 26, + ACTIONS(627), 26, sym_constant, sym_self, anon_sym_class, @@ -14067,10 +13865,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11957] = 2, + [11752] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(637), 25, + ACTIONS(629), 25, sym_constant, sym_self, anon_sym_class, @@ -14096,10 +13894,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11988] = 2, + [11783] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(639), 25, + ACTIONS(631), 25, sym_constant, sym_self, anon_sym_class, @@ -14125,10 +13923,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12019] = 2, + [11814] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(641), 25, + ACTIONS(633), 25, sym_constant, sym_self, anon_sym_class, @@ -14154,10 +13952,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12050] = 2, + [11845] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(313), 25, + ACTIONS(635), 25, sym_constant, sym_self, anon_sym_class, @@ -14183,10 +13981,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12081] = 2, + [11876] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(279), 25, + ACTIONS(637), 25, sym_constant, sym_self, anon_sym_class, @@ -14212,10 +14010,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12112] = 2, + [11907] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(301), 25, + ACTIONS(613), 25, sym_constant, sym_self, anon_sym_class, @@ -14241,10 +14039,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12143] = 2, + [11938] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(643), 25, + ACTIONS(639), 25, sym_constant, sym_self, anon_sym_class, @@ -14270,10 +14068,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12174] = 2, + [11969] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(645), 25, + ACTIONS(641), 25, sym_constant, sym_self, anon_sym_class, @@ -14299,10 +14097,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12205] = 2, + [12000] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(297), 25, + ACTIONS(643), 25, sym_constant, sym_self, anon_sym_class, @@ -14328,10 +14126,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12236] = 2, + [12031] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(647), 25, + ACTIONS(645), 25, sym_constant, sym_self, anon_sym_class, @@ -14357,10 +14155,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12267] = 2, + [12062] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(649), 25, + ACTIONS(643), 25, sym_constant, sym_self, anon_sym_class, @@ -14386,10 +14184,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12298] = 2, + [12093] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(293), 25, + ACTIONS(643), 25, sym_constant, sym_self, anon_sym_class, @@ -14415,10 +14213,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12329] = 2, + [12124] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(283), 25, + ACTIONS(647), 25, sym_constant, sym_self, anon_sym_class, @@ -14444,10 +14242,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12360] = 2, + [12155] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(651), 25, + ACTIONS(649), 25, sym_constant, sym_self, anon_sym_class, @@ -14473,10 +14271,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12391] = 2, + [12186] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(653), 25, + ACTIONS(295), 25, sym_constant, sym_self, anon_sym_class, @@ -14502,10 +14300,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12422] = 2, + [12217] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(542), 25, + ACTIONS(283), 25, sym_constant, sym_self, anon_sym_class, @@ -14531,10 +14329,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12453] = 2, + [12248] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(655), 25, + ACTIONS(291), 25, sym_constant, sym_self, anon_sym_class, @@ -14560,10 +14358,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12484] = 2, + [12279] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(657), 25, + ACTIONS(287), 25, sym_constant, sym_self, anon_sym_class, @@ -14589,10 +14387,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12515] = 2, + [12310] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(659), 25, + ACTIONS(651), 25, sym_constant, sym_self, anon_sym_class, @@ -14618,10 +14416,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12546] = 2, + [12341] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(661), 25, + ACTIONS(299), 25, sym_constant, sym_self, anon_sym_class, @@ -14647,10 +14445,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12577] = 2, + [12372] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(663), 25, + ACTIONS(653), 25, sym_constant, sym_self, anon_sym_class, @@ -14676,10 +14474,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12608] = 2, + [12403] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(665), 25, + ACTIONS(303), 25, sym_constant, sym_self, anon_sym_class, @@ -14705,10 +14503,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12639] = 2, + [12434] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(649), 25, + ACTIONS(655), 25, sym_constant, sym_self, anon_sym_class, @@ -14734,10 +14532,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12670] = 2, + [12465] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(667), 25, + ACTIONS(657), 25, sym_constant, sym_self, anon_sym_class, @@ -14763,10 +14561,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12701] = 2, + [12496] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(649), 25, + ACTIONS(659), 25, sym_constant, sym_self, anon_sym_class, @@ -14792,7 +14590,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12732] = 18, + [12527] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -14821,13 +14619,13 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, STATE(127), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(464), 1, + STATE(418), 1, sym_const_name, - STATE(465), 1, + STATE(430), 1, sym_namespace, - STATE(245), 8, + STATE(235), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -14836,7 +14634,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_global_decl, - [12794] = 19, + [12589] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -14855,30 +14653,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_def, ACTIONS(93), 1, anon_sym_include, - ACTIONS(669), 1, + ACTIONS(661), 1, anon_sym_end, - ACTIONS(673), 1, + ACTIONS(665), 1, anon_sym_alias, - STATE(134), 1, + STATE(133), 1, sym_annotation, + STATE(213), 1, + sym_module_type_parameters, STATE(218), 1, aux_sym_interface_decl_repeat1, - STATE(221), 1, - sym_module_type_parameters, - STATE(230), 1, + STATE(228), 1, aux_sym__decl_repeat1, - STATE(246), 1, + STATE(238), 1, sym_interface_member, - STATE(443), 1, + STATE(435), 1, sym_visibility, - ACTIONS(671), 2, + ACTIONS(663), 2, anon_sym_public, anon_sym_private, - STATE(247), 3, + STATE(239), 3, sym_method_member, sym_include_member, sym_alias_member, - [12855] = 17, + [12650] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -14895,66 +14693,69 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_def, ACTIONS(93), 1, anon_sym_include, - ACTIONS(673), 1, + ACTIONS(665), 1, anon_sym_alias, - ACTIONS(675), 1, + ACTIONS(667), 1, anon_sym_end, - STATE(134), 1, + STATE(133), 1, sym_annotation, STATE(219), 1, aux_sym_interface_decl_repeat1, - STATE(230), 1, + STATE(228), 1, aux_sym__decl_repeat1, - STATE(246), 1, + STATE(238), 1, sym_interface_member, - STATE(443), 1, + STATE(435), 1, sym_visibility, - ACTIONS(671), 2, + ACTIONS(663), 2, anon_sym_public, anon_sym_private, - STATE(247), 3, + STATE(239), 3, sym_method_member, sym_include_member, sym_alias_member, - [12910] = 17, + [12705] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(677), 1, + ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, - ACTIONS(680), 1, + ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(683), 1, + ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(686), 1, + ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(689), 1, + ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(692), 1, - anon_sym_end, - ACTIONS(694), 1, - anon_sym_def, - ACTIONS(700), 1, - anon_sym_include, - ACTIONS(703), 1, - anon_sym_alias, - STATE(134), 1, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(671), 1, + anon_sym_LBRACK, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(675), 1, + anon_sym_DASH_GT, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(679), 1, + anon_sym_DOT_DOT_DOT, + STATE(133), 1, sym_annotation, - STATE(219), 1, - aux_sym_interface_decl_repeat1, - STATE(230), 1, + STATE(178), 1, + sym_method_type, + STATE(181), 1, + sym_method_type_body, + STATE(204), 1, + sym_method_types, + STATE(232), 1, + sym_method_type_parameters, + STATE(234), 1, aux_sym__decl_repeat1, - STATE(246), 1, - sym_interface_member, - STATE(443), 1, - sym_visibility, - ACTIONS(697), 2, - anon_sym_public, - anon_sym_private, - STATE(247), 3, - sym_method_member, - sym_include_member, - sym_alias_member, - [12965] = 17, + STATE(287), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [12766] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -14967,32 +14768,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(87), 1, - anon_sym_def, - ACTIONS(93), 1, - anon_sym_include, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(671), 1, + anon_sym_LBRACK, ACTIONS(673), 1, - anon_sym_alias, - ACTIONS(706), 1, - anon_sym_end, - STATE(134), 1, + anon_sym_LBRACE, + ACTIONS(675), 1, + anon_sym_DASH_GT, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(679), 1, + anon_sym_DOT_DOT_DOT, + STATE(133), 1, sym_annotation, - STATE(219), 1, - aux_sym_interface_decl_repeat1, - STATE(230), 1, + STATE(178), 1, + sym_method_type, + STATE(181), 1, + sym_method_type_body, + STATE(186), 1, + sym_method_types, + STATE(232), 1, + sym_method_type_parameters, + STATE(234), 1, aux_sym__decl_repeat1, - STATE(246), 1, - sym_interface_member, - STATE(443), 1, - sym_visibility, - ACTIONS(671), 2, - anon_sym_public, - anon_sym_private, - STATE(247), 3, - sym_method_member, - sym_include_member, - sym_alias_member, - [13020] = 17, + STATE(287), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [12827] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15005,32 +14809,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(87), 1, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(671), 1, + anon_sym_LBRACK, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(675), 1, + anon_sym_DASH_GT, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(679), 1, + anon_sym_DOT_DOT_DOT, + STATE(133), 1, + sym_annotation, + STATE(178), 1, + sym_method_type, + STATE(181), 1, + sym_method_type_body, + STATE(209), 1, + sym_method_types, + STATE(232), 1, + sym_method_type_parameters, + STATE(234), 1, + aux_sym__decl_repeat1, + STATE(287), 1, + sym_parameters, + STATE(404), 1, + sym_block, + [12888] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(681), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(684), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(687), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(690), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(693), 1, + anon_sym_PERCENTa_LT, + ACTIONS(696), 1, + anon_sym_end, + ACTIONS(698), 1, anon_sym_def, - ACTIONS(93), 1, + ACTIONS(704), 1, anon_sym_include, - ACTIONS(673), 1, + ACTIONS(707), 1, anon_sym_alias, - ACTIONS(708), 1, - anon_sym_end, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(220), 1, + STATE(217), 1, aux_sym_interface_decl_repeat1, - STATE(230), 1, + STATE(228), 1, aux_sym__decl_repeat1, - STATE(246), 1, + STATE(238), 1, sym_interface_member, - STATE(443), 1, + STATE(435), 1, sym_visibility, - ACTIONS(671), 2, + ACTIONS(701), 2, anon_sym_public, anon_sym_private, - STATE(247), 3, + STATE(239), 3, sym_method_member, sym_include_member, sym_alias_member, - [13075] = 19, + [12943] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15043,33 +14888,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(665), 1, + anon_sym_alias, ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(712), 1, - anon_sym_LBRACK, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(720), 1, - anon_sym_DOT_DOT_DOT, - STATE(134), 1, + anon_sym_end, + STATE(133), 1, sym_annotation, - STATE(162), 1, - sym_method_type, - STATE(214), 1, - sym_method_types, - STATE(237), 1, - sym_method_type_parameters, - STATE(242), 1, + STATE(217), 1, + aux_sym_interface_decl_repeat1, + STATE(228), 1, aux_sym__decl_repeat1, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13133] = 19, + STATE(238), 1, + sym_interface_member, + STATE(435), 1, + sym_visibility, + ACTIONS(663), 2, + anon_sym_public, + anon_sym_private, + STATE(239), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [12998] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15082,33 +14926,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, - anon_sym_LPAREN, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(665), 1, + anon_sym_alias, ACTIONS(712), 1, - anon_sym_LBRACK, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(720), 1, - anon_sym_DOT_DOT_DOT, - STATE(134), 1, + anon_sym_end, + STATE(133), 1, sym_annotation, - STATE(162), 1, - sym_method_type, - STATE(205), 1, - sym_method_types, - STATE(237), 1, - sym_method_type_parameters, - STATE(242), 1, + STATE(217), 1, + aux_sym_interface_decl_repeat1, + STATE(228), 1, aux_sym__decl_repeat1, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13191] = 19, + STATE(238), 1, + sym_interface_member, + STATE(435), 1, + sym_visibility, + ACTIONS(663), 2, + anon_sym_public, + anon_sym_private, + STATE(239), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [13053] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15121,33 +14964,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(712), 1, + ACTIONS(671), 1, anon_sym_LBRACK, - ACTIONS(714), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(716), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - ACTIONS(720), 1, + ACTIONS(679), 1, anon_sym_DOT_DOT_DOT, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(162), 1, + STATE(178), 1, sym_method_type, - STATE(209), 1, + STATE(181), 1, + sym_method_type_body, + STATE(192), 1, sym_method_types, - STATE(237), 1, + STATE(232), 1, sym_method_type_parameters, - STATE(242), 1, + STATE(234), 1, aux_sym__decl_repeat1, - STATE(305), 1, + STATE(287), 1, sym_parameters, STATE(404), 1, sym_block, - [13249] = 19, + [13114] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15160,40 +15005,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(712), 1, + ACTIONS(671), 1, anon_sym_LBRACK, - ACTIONS(714), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(716), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - ACTIONS(720), 1, - anon_sym_DOT_DOT_DOT, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(162), 1, + STATE(181), 1, + sym_method_type_body, + STATE(183), 1, sym_method_type, - STATE(204), 1, - sym_method_types, - STATE(237), 1, + STATE(232), 1, sym_method_type_parameters, - STATE(242), 1, + STATE(234), 1, aux_sym__decl_repeat1, - STATE(305), 1, + STATE(287), 1, sym_parameters, STATE(404), 1, sym_block, - [13307] = 4, + [13169] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(724), 1, + ACTIONS(716), 1, anon_sym_COMMA, STATE(226), 1, aux_sym_use_directive_repeat1, - ACTIONS(722), 14, + ACTIONS(714), 14, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15208,20 +15051,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13333] = 5, + [13195] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(727), 13, + ACTIONS(716), 1, + anon_sym_COMMA, + STATE(222), 1, + aux_sym_use_directive_repeat1, + ACTIONS(718), 14, ts_builtin_sym_end, sym_constant, anon_sym_class, sym__scope, + anon_sym_use, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15231,50 +15073,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13361] = 17, + [13221] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(720), 13, + ts_builtin_sym_end, + sym_constant, + anon_sym_class, + sym__scope, anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(712), 1, - anon_sym_LBRACK, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - STATE(134), 1, - sym_annotation, - STATE(187), 1, - sym_method_type, - STATE(239), 1, - aux_sym__decl_repeat1, - STATE(240), 1, - sym_method_type_parameters, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13413] = 4, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13249] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(731), 1, + ACTIONS(724), 1, anon_sym_use, - STATE(229), 2, + STATE(225), 2, sym_use_directive, aux_sym_program_repeat1, - ACTIONS(729), 13, + ACTIONS(722), 13, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15288,46 +15118,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13439] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(15), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, - anon_sym_PERCENTa_LT, - ACTIONS(87), 1, - anon_sym_def, - ACTIONS(93), 1, - anon_sym_include, - ACTIONS(673), 1, - anon_sym_alias, - STATE(127), 1, - aux_sym__decl_repeat1, - STATE(134), 1, - sym_annotation, - STATE(443), 1, - sym_visibility, - ACTIONS(671), 2, - anon_sym_public, - anon_sym_private, - STATE(249), 3, - sym_method_member, - sym_include_member, - sym_alias_member, - [13485] = 4, + [13275] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(729), 1, anon_sym_COMMA, STATE(226), 1, aux_sym_use_directive_repeat1, - ACTIONS(734), 14, + ACTIONS(727), 14, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15342,17 +15140,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13511] = 4, + [13301] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - anon_sym_COMMA, - STATE(231), 1, - aux_sym_use_directive_repeat1, - ACTIONS(738), 14, + ACTIONS(734), 1, + anon_sym_as, + ACTIONS(732), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, + anon_sym_COMMA, sym__scope, anon_sym_use, anon_sym_PERCENTa_LBRACE, @@ -15364,12 +15161,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13537] = 3, + [13325] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(742), 1, - anon_sym_as, - ACTIONS(740), 15, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(665), 1, + anon_sym_alias, + STATE(127), 1, + aux_sym__decl_repeat1, + STATE(133), 1, + sym_annotation, + STATE(435), 1, + sym_visibility, + ACTIONS(663), 2, + anon_sym_public, + anon_sym_private, + STATE(241), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [13371] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(736), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15385,10 +15212,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13561] = 2, + [13392] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(744), 15, + ACTIONS(727), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15404,10 +15231,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13582] = 2, + [13413] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(722), 15, + ACTIONS(738), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15423,26 +15250,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13603] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(746), 15, - ts_builtin_sym_end, - sym_constant, - anon_sym_class, - anon_sym_COMMA, - sym__scope, - anon_sym_use, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - [13624] = 15, + [13434] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15455,56 +15263,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(714), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(716), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(164), 1, - sym_method_type, - STATE(241), 1, - aux_sym__decl_repeat1, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13670] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(15), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, - anon_sym_PERCENTa_LT, - ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - STATE(127), 1, + STATE(180), 1, + sym_method_type_body, + STATE(233), 1, aux_sym__decl_repeat1, - STATE(134), 1, - sym_annotation, - STATE(190), 1, - sym_method_type, - STATE(305), 1, + STATE(287), 1, sym_parameters, STATE(404), 1, sym_block, - [13716] = 15, + [13480] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15517,56 +15294,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(714), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(716), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, STATE(127), 1, aux_sym__decl_repeat1, - STATE(134), 1, - sym_annotation, - STATE(189), 1, - sym_method_type, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13762] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(15), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, - anon_sym_PERCENTa_LT, - ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(186), 1, - sym_method_type, - STATE(238), 1, - aux_sym__decl_repeat1, - STATE(305), 1, + STATE(185), 1, + sym_method_type_body, + STATE(287), 1, sym_parameters, STATE(404), 1, sym_block, - [13808] = 15, + [13526] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15579,63 +15325,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(714), 1, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(716), 1, + ACTIONS(675), 1, anon_sym_DASH_GT, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, STATE(127), 1, aux_sym__decl_repeat1, - STATE(134), 1, + STATE(133), 1, sym_annotation, - STATE(176), 1, - sym_method_type, - STATE(305), 1, + STATE(182), 1, + sym_method_type_body, + STATE(287), 1, sym_parameters, STATE(404), 1, sym_block, - [13854] = 15, + [13572] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(740), 13, + ts_builtin_sym_end, + sym_constant, + anon_sym_class, + sym__scope, anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(716), 1, - anon_sym_DASH_GT, - ACTIONS(718), 1, - anon_sym_QMARK2, - STATE(127), 1, - aux_sym__decl_repeat1, - STATE(134), 1, - sym_annotation, - STATE(165), 1, - sym_method_type, - STATE(305), 1, - sym_parameters, - STATE(404), 1, - sym_block, - [13900] = 4, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [13591] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(532), 1, + ACTIONS(549), 1, anon_sym_QMARK, - ACTIONS(534), 1, + ACTIONS(551), 1, anon_sym_EQ, - ACTIONS(293), 11, + ACTIONS(291), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15647,14 +15379,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [13923] = 4, + [13614] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(518), 1, + ACTIONS(603), 1, anon_sym_QMARK, - ACTIONS(520), 1, + ACTIONS(605), 1, anon_sym_EQ, - ACTIONS(293), 11, + ACTIONS(291), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15666,27 +15398,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [13946] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(748), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_class, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - sym_global_name, - [13965] = 2, + [13637] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(750), 11, + ACTIONS(742), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15698,10 +15413,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [13982] = 2, + [13654] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(752), 11, + ACTIONS(744), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15713,33 +15428,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [13999] = 10, + [13671] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - ACTIONS(756), 1, + ACTIONS(748), 1, anon_sym_singleton, - STATE(83), 1, + STATE(81), 1, sym_interface_name, STATE(84), 1, sym_class_name, - STATE(364), 1, - sym_bound_type, - STATE(384), 1, + STATE(357), 1, sym_namespace, - STATE(367), 3, + STATE(385), 1, + sym_bound_type, + STATE(388), 3, sym_class_type, sym_interface_type, sym_singleton_type, - [14032] = 2, + [13704] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(758), 11, + ACTIONS(750), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15751,7 +15466,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [14049] = 11, + [13721] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(69), 1, @@ -15760,25 +15475,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_QMARK2, ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(374), 1, + STATE(368), 1, sym_optional_positionals, - STATE(375), 1, + STATE(369), 1, sym_rest_positional, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(438), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(433), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14084] = 2, + [13756] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(762), 9, + ACTIONS(754), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_DASH_GT, @@ -15788,10 +15503,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, anon_sym_QMARK2, - [14099] = 2, + [13771] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(764), 9, + ACTIONS(756), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_DASH_GT, @@ -15801,1822 +15516,1822 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, anon_sym_QMARK2, - [14114] = 9, + [13786] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - ACTIONS(766), 1, + ACTIONS(758), 1, anon_sym_RPAREN, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(449), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(441), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14143] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(768), 1, - anon_sym_COLON, - ACTIONS(255), 7, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_LBRACK, - anon_sym_COMMA, - sym_identifier, - [14159] = 8, + [13815] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(427), 1, + STATE(414), 1, + sym_var_name, + STATE(417), 1, sym_splat_keyword, - STATE(431), 1, + STATE(446), 1, sym_keywords, - STATE(432), 1, - sym_var_name, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14185] = 8, + [13841] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(427), 1, + STATE(414), 1, + sym_var_name, + STATE(417), 1, sym_splat_keyword, STATE(432), 1, - sym_var_name, - STATE(449), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14211] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(710), 1, - anon_sym_LPAREN, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(770), 1, - anon_sym_LBRACK, - ACTIONS(772), 1, - anon_sym_DASH_GT, - STATE(275), 1, - sym_parameters, - STATE(297), 1, - sym_self_type_binding, - STATE(409), 1, - sym_block, - [14239] = 8, + [13867] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(454), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(424), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14265] = 8, + [13893] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(440), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(441), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14291] = 8, + [13919] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(760), 1, + anon_sym_LBRACK, + ACTIONS(762), 1, + anon_sym_DASH_GT, + STATE(264), 1, + sym_parameters, + STATE(300), 1, + sym_self_type_binding, + STATE(462), 1, + sym_block, + [13947] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(427), 1, - sym_splat_keyword, - STATE(432), 1, + STATE(414), 1, sym_var_name, - STATE(433), 1, + STATE(417), 1, + sym_splat_keyword, + STATE(426), 1, sym_keywords, - STATE(430), 2, + STATE(415), 2, sym_required_keywords, sym_optional_keywords, - [14317] = 7, + [13973] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(764), 1, + anon_sym_COLON, + ACTIONS(265), 7, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + sym_identifier, + [13989] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, STATE(359), 1, sym_var_name, - ACTIONS(774), 2, + ACTIONS(766), 2, anon_sym_RPAREN, anon_sym_COMMA, - [14340] = 7, + [14012] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - STATE(198), 1, + STATE(190), 1, sym_module_self_types, - STATE(384), 1, + STATE(357), 1, sym_namespace, - STATE(138), 2, + STATE(144), 2, sym_class_name, sym_interface_name, - [14363] = 7, + [14035] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, - sym_constant, - ACTIONS(778), 1, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + ACTIONS(746), 1, + sym_interface, + STATE(198), 1, + sym_module_self_types, + STATE(357), 1, + sym_namespace, + STATE(144), 2, + sym_class_name, + sym_interface_name, + [14058] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(768), 1, + sym_constant, + ACTIONS(770), 1, sym_generics_unchecked, - STATE(304), 1, + STATE(280), 1, sym_type_variable, - STATE(323), 1, - sym_module_type_parameter, - STATE(383), 1, + STATE(364), 1, sym_generics_variance, - ACTIONS(780), 2, + STATE(384), 1, + sym_module_type_parameter, + ACTIONS(772), 2, anon_sym_out, anon_sym_in, - [14386] = 7, + [14081] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, + ACTIONS(768), 1, sym_constant, - ACTIONS(778), 1, + ACTIONS(770), 1, sym_generics_unchecked, - STATE(304), 1, + STATE(280), 1, sym_type_variable, - STATE(363), 1, + STATE(346), 1, sym_module_type_parameter, - STATE(383), 1, + STATE(364), 1, sym_generics_variance, - ACTIONS(780), 2, + ACTIONS(772), 2, anon_sym_out, anon_sym_in, - [14409] = 7, + [14104] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - STATE(210), 1, + STATE(187), 1, sym_module_self_types, - STATE(384), 1, + STATE(357), 1, sym_namespace, - STATE(138), 2, + STATE(144), 2, sym_class_name, sym_interface_name, - [14432] = 7, + [14127] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(35), 1, - sym_constant, - ACTIONS(754), 1, - sym_interface, - STATE(200), 1, - sym_module_self_types, - STATE(384), 1, - sym_namespace, - STATE(138), 2, - sym_class_name, - sym_interface_name, - [14455] = 6, + ACTIONS(289), 1, + anon_sym_LPAREN, + ACTIONS(435), 1, + anon_sym_QMARK, + ACTIONS(774), 1, + anon_sym_EQ, + ACTIONS(291), 3, + sym_self, + anon_sym_COLON, + anon_sym_LPAREN_RPAREN, + [14145] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - STATE(384), 1, + STATE(357), 1, sym_namespace, - STATE(185), 2, + STATE(172), 2, sym_class_name, sym_interface_name, - [14475] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(782), 1, - anon_sym_COMMA, - ACTIONS(784), 1, - anon_sym_RBRACK, - STATE(355), 1, - aux_sym_tuple_type_repeat1, - [14497] = 5, + [14165] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(291), 1, + ACTIONS(289), 1, anon_sym_LPAREN, ACTIONS(439), 1, anon_sym_QMARK, - ACTIONS(786), 1, + ACTIONS(776), 1, anon_sym_EQ, - ACTIONS(293), 3, + ACTIONS(291), 3, sym_self, anon_sym_COLON, anon_sym_LPAREN_RPAREN, - [14515] = 5, + [14183] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(291), 1, - anon_sym_LPAREN, - ACTIONS(435), 1, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(788), 1, - anon_sym_EQ, - ACTIONS(293), 3, - sym_self, - anon_sym_COLON, - anon_sym_LPAREN_RPAREN, - [14533] = 5, - ACTIONS(790), 1, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(778), 1, + anon_sym_COMMA, + ACTIONS(780), 1, + anon_sym_RBRACK, + STATE(334), 1, + aux_sym_tuple_type_repeat1, + [14205] = 5, + ACTIONS(782), 1, sym_comment, - ACTIONS(792), 1, + ACTIONS(784), 1, anon_sym_def, - ACTIONS(794), 1, + ACTIONS(786), 1, aux_sym_visibility_member_token1, STATE(70), 1, sym_attribyte_type, - ACTIONS(796), 3, + ACTIONS(788), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - [14551] = 6, + [14223] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(760), 1, + anon_sym_LBRACK, + ACTIONS(790), 1, + anon_sym_DASH_GT, + STATE(310), 1, + sym_self_type_binding, + STATE(389), 1, + sym_block, + [14245] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - STATE(384), 1, + STATE(357), 1, sym_namespace, - STATE(153), 2, + STATE(150), 2, sym_class_name, sym_interface_name, - [14571] = 6, + [14265] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(754), 1, + ACTIONS(746), 1, sym_interface, - STATE(384), 1, + STATE(357), 1, sym_namespace, STATE(170), 2, sym_class_name, sym_interface_name, - [14591] = 7, + [14285] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(798), 1, + ACTIONS(792), 1, anon_sym_COMMA, - ACTIONS(800), 1, + ACTIONS(794), 1, anon_sym_RBRACK, - STATE(342), 1, + STATE(337), 1, aux_sym_tuple_type_repeat1, - [14613] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(770), 1, - anon_sym_LBRACK, - ACTIONS(802), 1, - anon_sym_DASH_GT, - STATE(295), 1, - sym_self_type_binding, - STATE(450), 1, - sym_block, - [14635] = 6, + [14307] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(804), 1, - anon_sym_RPAREN, - ACTIONS(806), 1, + ACTIONS(796), 2, anon_sym_COMMA, - [14654] = 3, - ACTIONS(790), 1, + anon_sym_RBRACK, + [14324] = 6, + ACTIONS(3), 1, sym_comment, - ACTIONS(810), 1, + ACTIONS(11), 1, + sym__scope, + ACTIONS(746), 1, + sym_interface, + ACTIONS(798), 1, + sym_constant, + STATE(212), 1, + sym_interface_name, + STATE(386), 1, + sym_namespace, + [14343] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(768), 1, + sym_constant, + STATE(305), 1, + sym_type_variable, + STATE(354), 1, + sym_generics_variance, + ACTIONS(772), 2, + anon_sym_out, + anon_sym_in, + [14360] = 3, + ACTIONS(782), 1, + sym_comment, + ACTIONS(802), 1, aux_sym_visibility_member_token1, - ACTIONS(808), 4, + ACTIONS(800), 4, anon_sym_def, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - [14667] = 6, + [14373] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(232), 1, + STATE(223), 1, sym_use_clause, - STATE(233), 1, + STATE(227), 1, sym_class_name, - STATE(361), 1, - sym_namespace, - [14686] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(754), 1, - sym_interface, - ACTIONS(812), 1, - sym_constant, - STATE(217), 1, - sym_interface_name, - STATE(362), 1, + STATE(382), 1, sym_namespace, - [14705] = 6, + [14392] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(233), 1, + STATE(227), 1, sym_class_name, - STATE(235), 1, + STATE(230), 1, sym_use_clause, - STATE(361), 1, - sym_namespace, - [14724] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(812), 1, - sym_constant, - ACTIONS(814), 1, - sym_identifier, - STATE(325), 1, - sym_alias_name, - STATE(365), 1, + STATE(382), 1, sym_namespace, - [14743] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(816), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [14760] = 6, + [14411] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(818), 1, + ACTIONS(804), 1, anon_sym_RPAREN, - ACTIONS(820), 1, + ACTIONS(806), 1, anon_sym_COMMA, - [14779] = 5, + [14430] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(822), 2, + ACTIONS(808), 2, anon_sym_COMMA, - anon_sym_RBRACK, - [14796] = 5, + anon_sym_RBRACE, + [14447] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, + ACTIONS(11), 1, + sym__scope, + ACTIONS(798), 1, sym_constant, - STATE(287), 1, - sym_type_variable, - STATE(396), 1, - sym_generics_variance, - ACTIONS(780), 2, - anon_sym_out, - anon_sym_in, - [14813] = 4, - ACTIONS(790), 1, - sym_comment, - ACTIONS(824), 1, - anon_sym_SQUOTE, - STATE(311), 1, - aux_sym_string_literal_repeat2, - ACTIONS(826), 2, - sym_single_quote_string_body, - sym_escape_sequence, - [14827] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(830), 1, - anon_sym_LT, - STATE(368), 1, - sym_generics_bound, - ACTIONS(828), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [14841] = 5, + ACTIONS(810), 1, + sym_identifier, + STATE(336), 1, + sym_alias_name, + STATE(380), 1, + sym_namespace, + [14466] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(832), 1, - anon_sym_RBRACE, - [14857] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(830), 1, - anon_sym_LT, - STATE(392), 1, - sym_generics_bound, - ACTIONS(834), 2, + ACTIONS(812), 1, + anon_sym_RPAREN, + ACTIONS(814), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [14871] = 5, + [14485] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(816), 1, + anon_sym_RPAREN, + ACTIONS(379), 3, + anon_sym_PIPE, anon_sym_AMP, - ACTIONS(373), 1, anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(836), 1, - anon_sym_RBRACE, - [14887] = 4, - ACTIONS(790), 1, + [14497] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(838), 1, + ACTIONS(818), 1, anon_sym_DQUOTE, - STATE(309), 1, + STATE(288), 1, aux_sym_string_literal_repeat1, - ACTIONS(840), 2, + ACTIONS(820), 2, sym_double_quote_string_body, sym_escape_sequence, - [14901] = 4, - ACTIONS(790), 1, + [14511] = 4, + ACTIONS(3), 1, sym_comment, - ACTIONS(838), 1, - anon_sym_SQUOTE, - STATE(310), 1, - aux_sym_string_literal_repeat2, - ACTIONS(842), 2, - sym_single_quote_string_body, - sym_escape_sequence, - [14915] = 2, + ACTIONS(824), 1, + anon_sym_LT, + STATE(355), 1, + sym_generics_bound, + ACTIONS(822), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [14525] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(844), 4, + ACTIONS(826), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [14925] = 5, + [14535] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, - anon_sym_AMP, - ACTIONS(373), 1, - anon_sym_QMARK, - ACTIONS(468), 1, - anon_sym_PIPE, - ACTIONS(846), 1, - anon_sym_RBRACE, - [14941] = 5, - ACTIONS(3), 1, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + STATE(173), 1, + sym_class_name, + STATE(410), 1, + sym_namespace, + [14551] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(848), 1, - anon_sym_DASH_GT, - STATE(414), 1, - sym_block, - [14957] = 3, + ACTIONS(828), 1, + anon_sym_DQUOTE, + STATE(298), 1, + aux_sym_string_literal_repeat1, + ACTIONS(830), 2, + sym_double_quote_string_body, + sym_escape_sequence, + [14565] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 2, + ACTIONS(832), 2, sym_interface, sym_identifier, - ACTIONS(852), 2, + ACTIONS(834), 2, sym_constant, anon_sym_STAR, - [14969] = 5, + [14577] = 4, + ACTIONS(782), 1, + sym_comment, + ACTIONS(828), 1, + anon_sym_SQUOTE, + STATE(296), 1, + aux_sym_string_literal_repeat2, + ACTIONS(836), 2, + sym_single_quote_string_body, + sym_escape_sequence, + [14591] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(714), 1, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(838), 1, + anon_sym_RBRACE, + [14607] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(673), 1, anon_sym_LBRACE, - ACTIONS(718), 1, + ACTIONS(677), 1, anon_sym_QMARK2, - ACTIONS(802), 1, + ACTIONS(840), 1, anon_sym_DASH_GT, - STATE(450), 1, + STATE(460), 1, sym_block, - [14985] = 3, + [14623] = 4, + ACTIONS(782), 1, + sym_comment, + ACTIONS(842), 1, + anon_sym_DQUOTE, + STATE(298), 1, + aux_sym_string_literal_repeat1, + ACTIONS(830), 2, + sym_double_quote_string_body, + sym_escape_sequence, + [14637] = 4, + ACTIONS(782), 1, + sym_comment, + ACTIONS(842), 1, + anon_sym_SQUOTE, + STATE(296), 1, + aux_sym_string_literal_repeat2, + ACTIONS(836), 2, + sym_single_quote_string_body, + sym_escape_sequence, + [14651] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(854), 1, - anon_sym_RPAREN, - ACTIONS(363), 3, - anon_sym_PIPE, + ACTIONS(844), 2, + sym_interface, + sym_identifier, + ACTIONS(846), 2, + sym_constant, + anon_sym_STAR, + [14663] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, anon_sym_AMP, + ACTIONS(333), 1, anon_sym_QMARK, - [14997] = 2, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(848), 1, + anon_sym_RBRACE, + [14679] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(856), 4, + ACTIONS(850), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15007] = 3, + [14689] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(858), 2, - sym_interface, - sym_identifier, - ACTIONS(860), 2, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, sym_constant, - anon_sym_STAR, - [15019] = 2, + STATE(9), 1, + sym_class_name, + STATE(410), 1, + sym_namespace, + [14705] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(862), 4, + ACTIONS(852), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15029] = 4, - ACTIONS(790), 1, + [14715] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(864), 1, + ACTIONS(818), 1, anon_sym_SQUOTE, - STATE(302), 1, + STATE(289), 1, aux_sym_string_literal_repeat2, - ACTIONS(866), 2, + ACTIONS(854), 2, sym_single_quote_string_body, sym_escape_sequence, - [15043] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(869), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [15053] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(830), 1, - anon_sym_LT, - STATE(358), 1, - sym_generics_bound, - ACTIONS(871), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [15067] = 5, - ACTIONS(3), 1, + [14729] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(714), 1, - anon_sym_LBRACE, - ACTIONS(718), 1, - anon_sym_QMARK2, - ACTIONS(873), 1, - anon_sym_DASH_GT, - STATE(407), 1, - sym_block, - [15083] = 5, + ACTIONS(856), 1, + anon_sym_SQUOTE, + STATE(296), 1, + aux_sym_string_literal_repeat2, + ACTIONS(858), 2, + sym_single_quote_string_body, + sym_escape_sequence, + [14743] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - ACTIONS(875), 1, + ACTIONS(861), 1, anon_sym_RBRACK, - [15099] = 4, - ACTIONS(790), 1, - sym_comment, - ACTIONS(824), 1, - anon_sym_DQUOTE, - STATE(312), 1, - aux_sym_string_literal_repeat1, - ACTIONS(877), 2, - sym_double_quote_string_body, - sym_escape_sequence, - [15113] = 4, - ACTIONS(790), 1, - sym_comment, - ACTIONS(879), 1, - anon_sym_DQUOTE, - STATE(308), 1, - aux_sym_string_literal_repeat1, - ACTIONS(881), 2, - sym_double_quote_string_body, - sym_escape_sequence, - [15127] = 4, - ACTIONS(790), 1, + [14759] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(884), 1, + ACTIONS(863), 1, anon_sym_DQUOTE, - STATE(308), 1, + STATE(298), 1, aux_sym_string_literal_repeat1, - ACTIONS(886), 2, + ACTIONS(865), 2, sym_double_quote_string_body, sym_escape_sequence, - [15141] = 4, - ACTIONS(790), 1, + [14773] = 4, + ACTIONS(782), 1, sym_comment, - ACTIONS(884), 1, + ACTIONS(868), 1, anon_sym_SQUOTE, - STATE(302), 1, + STATE(285), 1, aux_sym_string_literal_repeat2, - ACTIONS(888), 2, + ACTIONS(870), 2, sym_single_quote_string_body, sym_escape_sequence, - [15155] = 4, - ACTIONS(790), 1, + [14787] = 5, + ACTIONS(3), 1, sym_comment, - ACTIONS(890), 1, - anon_sym_SQUOTE, - STATE(302), 1, - aux_sym_string_literal_repeat2, - ACTIONS(888), 2, - sym_single_quote_string_body, - sym_escape_sequence, - [15169] = 4, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(677), 1, + anon_sym_QMARK2, ACTIONS(790), 1, + anon_sym_DASH_GT, + STATE(389), 1, + sym_block, + [14803] = 3, + ACTIONS(3), 1, sym_comment, - ACTIONS(890), 1, + ACTIONS(872), 2, + sym_interface, + sym_identifier, + ACTIONS(874), 2, + sym_constant, + anon_sym_STAR, + [14815] = 4, + ACTIONS(782), 1, + sym_comment, + ACTIONS(868), 1, anon_sym_DQUOTE, - STATE(308), 1, + STATE(283), 1, aux_sym_string_literal_repeat1, - ACTIONS(886), 2, + ACTIONS(876), 2, sym_double_quote_string_body, sym_escape_sequence, - [15183] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(892), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [15193] = 5, + [14829] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(180), 1, + STATE(8), 1, sym_class_name, - STATE(463), 1, + STATE(410), 1, sym_namespace, - [15209] = 5, + [14845] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_AMP, + ACTIONS(333), 1, + anon_sym_QMARK, + ACTIONS(466), 1, + anon_sym_PIPE, + ACTIONS(878), 1, + anon_sym_RBRACE, + [14861] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(824), 1, + anon_sym_LT, + STATE(351), 1, + sym_generics_bound, + ACTIONS(880), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [14875] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(824), 1, + anon_sym_LT, + STATE(356), 1, + sym_generics_bound, + ACTIONS(882), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [14889] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(8), 1, + STATE(174), 1, sym_class_name, - STATE(463), 1, + STATE(410), 1, sym_namespace, - [15225] = 5, + [14905] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(155), 1, - sym_class_name, - STATE(463), 1, + STATE(410), 1, sym_namespace, - [15241] = 5, + STATE(444), 1, + sym_class_name, + [14921] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(182), 1, + STATE(155), 1, sym_class_name, - STATE(463), 1, + STATE(410), 1, sym_namespace, - [15257] = 2, + [14937] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(894), 4, + ACTIONS(673), 1, + anon_sym_LBRACE, + ACTIONS(677), 1, + anon_sym_QMARK2, + ACTIONS(884), 1, + anon_sym_DASH_GT, + STATE(438), 1, + sym_block, + [14953] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(886), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15267] = 5, + [14963] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(35), 1, - sym_constant, - STATE(424), 1, - sym_class_name, - STATE(463), 1, - sym_namespace, - [15283] = 2, + ACTIONS(888), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [14973] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(896), 4, + ACTIONS(890), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15293] = 3, + [14983] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(898), 2, - sym_interface, - sym_identifier, - ACTIONS(900), 2, - sym_constant, - anon_sym_STAR, - [15305] = 5, + ACTIONS(892), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [14993] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(35), 1, - sym_constant, - STATE(9), 1, - sym_class_name, - STATE(463), 1, - sym_namespace, - [15321] = 4, + ACTIONS(894), 1, + anon_sym_COMMA, + ACTIONS(897), 1, + anon_sym_RBRACE, + STATE(315), 1, + aux_sym_record_type_repeat1, + [15006] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(902), 1, + ACTIONS(899), 1, anon_sym_COMMA, - ACTIONS(904), 1, + ACTIONS(902), 1, anon_sym_RBRACK, - STATE(346), 1, + STATE(316), 1, aux_sym_module_type_parameters_repeat1, - [15334] = 4, + [15019] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(904), 1, + anon_sym_RPAREN, ACTIONS(906), 1, anon_sym_COMMA, - ACTIONS(908), 1, - anon_sym_RBRACK, - STATE(334), 1, - aux_sym_method_type_parameters_repeat1, - [15347] = 4, + STATE(331), 1, + aux_sym_optional_positionals_repeat1, + [15032] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(79), 1, - anon_sym_LBRACK, - ACTIONS(910), 1, - anon_sym_EQ2, - STATE(441), 1, - sym_module_type_parameters, - [15360] = 4, + ACTIONS(909), 1, + anon_sym_COMMA, + ACTIONS(911), 1, + anon_sym_RBRACE, + STATE(324), 1, + aux_sym_record_type_repeat1, + [15045] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(912), 1, - anon_sym_LPAREN, - ACTIONS(914), 1, + ACTIONS(913), 1, + anon_sym_RPAREN, + ACTIONS(915), 1, + anon_sym_COMMA, + STATE(326), 1, + aux_sym_required_positionals_repeat1, + [15058] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(764), 3, + anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_COLON, - ACTIONS(916), 1, - anon_sym_LPAREN_RPAREN, - [15373] = 4, + [15067] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(918), 1, - sym_identifier, + anon_sym_RPAREN, ACTIONS(920), 1, - anon_sym_RBRACE, - STATE(339), 1, - sym__record_type_single, - [15386] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(822), 1, - anon_sym_RBRACK, - ACTIONS(922), 1, anon_sym_COMMA, - STATE(328), 1, - aux_sym_tuple_type_repeat1, - [15399] = 4, + STATE(321), 1, + aux_sym_required_positionals_repeat1, + [15080] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(925), 1, + ACTIONS(923), 1, sym_identifier, - ACTIONS(927), 1, - sym_constant, - ACTIONS(929), 1, - sym_interface, - [15412] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(918), 1, - sym_identifier, - ACTIONS(931), 1, + ACTIONS(925), 1, anon_sym_RBRACE, - STATE(371), 1, + STATE(377), 1, sym__record_type_single, - [15425] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(933), 1, - anon_sym_COMMA, - ACTIONS(936), 1, - anon_sym_RBRACE, - STATE(331), 1, - aux_sym_record_type_repeat1, - [15438] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(938), 3, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LT, - [15447] = 4, + [15093] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(940), 1, + ACTIONS(927), 1, anon_sym_RPAREN, - ACTIONS(942), 1, + ACTIONS(929), 1, anon_sym_COMMA, - STATE(354), 1, - aux_sym_optional_positionals_repeat1, - [15460] = 4, + STATE(321), 1, + aux_sym_required_positionals_repeat1, + [15106] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(945), 1, + ACTIONS(932), 1, anon_sym_COMMA, - ACTIONS(948), 1, - anon_sym_RBRACK, - STATE(334), 1, - aux_sym_method_type_parameters_repeat1, - [15473] = 4, + ACTIONS(934), 1, + anon_sym_RBRACE, + STATE(315), 1, + aux_sym_record_type_repeat1, + [15119] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(950), 1, + ACTIONS(936), 1, anon_sym_LPAREN, - ACTIONS(952), 1, + ACTIONS(938), 1, anon_sym_COLON, - ACTIONS(954), 1, + ACTIONS(940), 1, anon_sym_LPAREN_RPAREN, - [15486] = 2, + [15132] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(768), 3, + ACTIONS(942), 1, anon_sym_RPAREN, + ACTIONS(944), 1, anon_sym_COMMA, + STATE(321), 1, + aux_sym_required_positionals_repeat1, + [15145] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(947), 1, + anon_sym_LPAREN, + ACTIONS(949), 1, anon_sym_COLON, - [15495] = 4, + ACTIONS(951), 1, + anon_sym_LPAREN_RPAREN, + [15158] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(331), 1, anon_sym_AMP, - ACTIONS(373), 1, + ACTIONS(333), 1, anon_sym_QMARK, - ACTIONS(468), 1, + ACTIONS(466), 1, anon_sym_PIPE, - [15508] = 4, + [15171] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(956), 1, - anon_sym_RPAREN, - ACTIONS(958), 1, - anon_sym_COMMA, - STATE(357), 1, - aux_sym_required_positionals_repeat1, - [15521] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(961), 1, - anon_sym_COMMA, - ACTIONS(963), 1, - anon_sym_RBRACE, - STATE(349), 1, - aux_sym_record_type_repeat1, - [15534] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(770), 1, - anon_sym_LBRACK, - ACTIONS(965), 1, - anon_sym_DASH_GT, - STATE(429), 1, - sym_self_type_binding, - [15547] = 2, + ACTIONS(953), 1, + sym_identifier, + ACTIONS(955), 1, + sym_constant, + ACTIONS(957), 1, + sym_interface, + [15184] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(967), 3, + ACTIONS(959), 3, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15556] = 4, + [15193] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(798), 1, + ACTIONS(961), 1, + anon_sym_RPAREN, + ACTIONS(963), 1, anon_sym_COMMA, - ACTIONS(969), 1, - anon_sym_RBRACK, - STATE(328), 1, - aux_sym_tuple_type_repeat1, - [15569] = 4, + STATE(349), 1, + aux_sym_optional_positionals_repeat1, + [15206] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(971), 1, - anon_sym_RPAREN, - ACTIONS(973), 1, - anon_sym_COMMA, - STATE(357), 1, - aux_sym_required_positionals_repeat1, - [15582] = 4, + ACTIONS(760), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_DASH_GT, + STATE(420), 1, + sym_self_type_binding, + [15219] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(906), 1, - anon_sym_COMMA, - ACTIONS(976), 1, + ACTIONS(796), 1, anon_sym_RBRACK, - STATE(324), 1, - aux_sym_method_type_parameters_repeat1, - [15595] = 4, + ACTIONS(968), 1, + anon_sym_COMMA, + STATE(333), 1, + aux_sym_tuple_type_repeat1, + [15232] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(978), 1, - anon_sym_RPAREN, - ACTIONS(980), 1, + ACTIONS(195), 1, + anon_sym_RBRACK, + ACTIONS(971), 1, anon_sym_COMMA, - STATE(345), 1, - aux_sym_optional_positionals_repeat1, - [15608] = 4, + STATE(333), 1, + aux_sym_tuple_type_repeat1, + [15245] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(902), 1, + ACTIONS(973), 1, anon_sym_COMMA, - ACTIONS(983), 1, + ACTIONS(975), 1, anon_sym_RBRACK, - STATE(351), 1, + STATE(316), 1, aux_sym_module_type_parameters_repeat1, - [15621] = 4, + [15258] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(985), 1, - anon_sym_LPAREN, - ACTIONS(987), 1, - anon_sym_COLON, - ACTIONS(989), 1, - anon_sym_LPAREN_RPAREN, - [15634] = 4, + ACTIONS(79), 1, + anon_sym_LBRACK, + ACTIONS(977), 1, + anon_sym_EQ2, + STATE(428), 1, + sym_module_type_parameters, + [15271] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(991), 1, - anon_sym_RPAREN, - ACTIONS(993), 1, + ACTIONS(792), 1, anon_sym_COMMA, - STATE(338), 1, - aux_sym_required_positionals_repeat1, - [15647] = 4, + ACTIONS(979), 1, + anon_sym_RBRACK, + STATE(333), 1, + aux_sym_tuple_type_repeat1, + [15284] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(996), 1, - anon_sym_COMMA, - ACTIONS(998), 1, + ACTIONS(923), 1, + sym_identifier, + ACTIONS(981), 1, anon_sym_RBRACE, - STATE(331), 1, - aux_sym_record_type_repeat1, - [15660] = 4, + STATE(318), 1, + sym__record_type_single, + [15297] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(918), 1, + ACTIONS(923), 1, sym_identifier, - ACTIONS(1000), 1, + ACTIONS(983), 1, anon_sym_RBRACE, - STATE(371), 1, + STATE(377), 1, sym__record_type_single, - [15673] = 4, + [15310] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1002), 1, + ACTIONS(985), 1, anon_sym_COMMA, - ACTIONS(1005), 1, + ACTIONS(987), 1, anon_sym_RBRACK, - STATE(351), 1, - aux_sym_module_type_parameters_repeat1, - [15686] = 4, + STATE(342), 1, + aux_sym_method_type_parameters_repeat1, + [15323] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1007), 1, + ACTIONS(989), 1, anon_sym_LPAREN, - ACTIONS(1009), 1, + ACTIONS(991), 1, anon_sym_COLON, - ACTIONS(1011), 1, + ACTIONS(993), 1, anon_sym_LPAREN_RPAREN, - [15699] = 4, + [15336] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1013), 1, - anon_sym_RPAREN, - ACTIONS(1015), 1, + ACTIONS(985), 1, anon_sym_COMMA, - STATE(343), 1, - aux_sym_required_positionals_repeat1, - [15712] = 4, + ACTIONS(995), 1, + anon_sym_RBRACK, + STATE(344), 1, + aux_sym_method_type_parameters_repeat1, + [15349] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1018), 1, + ACTIONS(997), 1, anon_sym_RPAREN, - ACTIONS(1020), 1, + ACTIONS(999), 1, anon_sym_COMMA, - STATE(345), 1, - aux_sym_optional_positionals_repeat1, - [15725] = 4, + STATE(323), 1, + aux_sym_required_positionals_repeat1, + [15362] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 1, - anon_sym_RBRACK, - ACTIONS(1023), 1, + ACTIONS(1002), 1, anon_sym_COMMA, - STATE(328), 1, - aux_sym_tuple_type_repeat1, - [15738] = 4, + ACTIONS(1005), 1, + anon_sym_RBRACK, + STATE(344), 1, + aux_sym_method_type_parameters_repeat1, + [15375] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(770), 1, + ACTIONS(760), 1, anon_sym_LBRACK, - ACTIONS(1025), 1, + ACTIONS(1007), 1, anon_sym_DASH_GT, - STATE(416), 1, + STATE(436), 1, sym_self_type_binding, - [15751] = 4, + [15388] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1027), 1, - anon_sym_RPAREN, - ACTIONS(1029), 1, + ACTIONS(973), 1, anon_sym_COMMA, - STATE(357), 1, - aux_sym_required_positionals_repeat1, - [15764] = 2, + ACTIONS(1009), 1, + anon_sym_RBRACK, + STATE(335), 1, + aux_sym_module_type_parameters_repeat1, + [15401] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(828), 2, + ACTIONS(1011), 3, anon_sym_COMMA, anon_sym_RBRACK, - [15772] = 2, + anon_sym_LT, + [15410] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1013), 1, + anon_sym_LPAREN, + ACTIONS(1015), 1, + anon_sym_COLON, + ACTIONS(1017), 1, + anon_sym_LPAREN_RPAREN, + [15423] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1019), 1, + anon_sym_RPAREN, + ACTIONS(1021), 1, + anon_sym_COMMA, + STATE(349), 1, + aux_sym_optional_positionals_repeat1, + [15436] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1032), 2, + ACTIONS(1024), 1, anon_sym_RPAREN, + ACTIONS(1026), 1, anon_sym_COMMA, - [15780] = 3, + [15446] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1034), 1, + ACTIONS(882), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [15454] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1028), 1, sym_self, - STATE(207), 1, + STATE(210), 1, sym_singleton_method_name, - [15790] = 3, + [15464] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(927), 1, - sym_constant, - ACTIONS(1036), 1, - anon_sym_STAR, - [15800] = 3, + ACTIONS(669), 1, + anon_sym_LPAREN, + STATE(345), 1, + sym_parameters, + [15474] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1038), 1, + ACTIONS(768), 1, sym_constant, - ACTIONS(1040), 1, - sym_interface, - [15810] = 2, + STATE(306), 1, + sym_type_variable, + [15484] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1005), 2, + ACTIONS(880), 2, anon_sym_COMMA, anon_sym_RBRACK, - [15818] = 2, + [15492] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1042), 2, + ACTIONS(1030), 2, anon_sym_COMMA, anon_sym_RBRACK, - [15826] = 3, + [15500] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1038), 1, + ACTIONS(955), 1, sym_constant, - ACTIONS(1044), 1, - sym_identifier, - [15836] = 3, + ACTIONS(1032), 1, + sym_interface, + [15510] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(213), 1, - sym__scope, - ACTIONS(1046), 1, - anon_sym_COLON, - [15846] = 2, + ACTIONS(1034), 1, + sym_self, + STATE(210), 1, + sym_singleton_method_name, + [15520] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1048), 2, + ACTIONS(1036), 2, + anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_RBRACK, - [15854] = 2, + [15528] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(834), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [15862] = 3, + ACTIONS(213), 1, + sym__scope, + ACTIONS(1038), 1, + anon_sym_COLON, + [15538] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1050), 1, + ACTIONS(1040), 1, anon_sym_RPAREN, - ACTIONS(1052), 1, + ACTIONS(1042), 1, anon_sym_COMMA, - [15872] = 3, + [15548] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(918), 1, + ACTIONS(923), 1, sym_identifier, - STATE(371), 1, + STATE(377), 1, sym__record_type_single, - [15882] = 2, + [15558] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1044), 2, + anon_sym_DOT, + anon_sym_QMARK_DOT, + [15566] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(768), 1, + sym_constant, + STATE(305), 1, + sym_type_variable, + [15576] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1054), 2, + ACTIONS(1024), 1, + anon_sym_RPAREN, + ACTIONS(1046), 1, anon_sym_COMMA, - anon_sym_RBRACE, - [15890] = 3, + [15586] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(710), 1, - anon_sym_LPAREN, - STATE(340), 1, - sym_parameters, - [15900] = 2, + ACTIONS(918), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [15594] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1027), 2, + ACTIONS(1024), 1, anon_sym_RPAREN, + ACTIONS(1048), 1, anon_sym_COMMA, - [15908] = 3, + [15604] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, + ACTIONS(1050), 1, anon_sym_RPAREN, - ACTIONS(1058), 1, + ACTIONS(1052), 1, anon_sym_COMMA, - [15918] = 3, + [15614] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, + ACTIONS(1050), 1, anon_sym_RPAREN, - ACTIONS(1060), 1, + ACTIONS(1054), 1, anon_sym_COMMA, - [15928] = 2, + [15624] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1062), 2, + ACTIONS(1056), 1, anon_sym_RPAREN, + ACTIONS(1058), 1, anon_sym_COMMA, - [15936] = 3, + [15634] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(760), 1, + ACTIONS(752), 1, sym_identifier, - STATE(428), 1, + STATE(422), 1, sym_var_name, - [15946] = 3, + [15644] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1056), 1, anon_sym_RPAREN, - ACTIONS(1064), 1, + ACTIONS(1060), 1, anon_sym_COMMA, - [15956] = 3, + [15654] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, + ACTIONS(1050), 1, anon_sym_RPAREN, - ACTIONS(1068), 1, + ACTIONS(1062), 1, anon_sym_COMMA, - [15966] = 3, + [15664] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, + ACTIONS(1056), 1, anon_sym_RPAREN, - ACTIONS(1070), 1, + ACTIONS(1064), 1, anon_sym_COMMA, - [15976] = 3, + [15674] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, + ACTIONS(1066), 2, anon_sym_RPAREN, - ACTIONS(1072), 1, anon_sym_COMMA, - [15986] = 2, + [15682] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1074), 2, + ACTIONS(1068), 2, anon_sym_RPAREN, anon_sym_COMMA, - [15994] = 3, + [15690] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, - sym_constant, - STATE(287), 1, - sym_type_variable, - [16004] = 3, + ACTIONS(1070), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [15698] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(927), 1, - sym_constant, - ACTIONS(1040), 1, - sym_interface, - [16014] = 3, + ACTIONS(669), 1, + anon_sym_LPAREN, + STATE(332), 1, + sym_parameters, + [15708] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(207), 1, + sym__scope, + ACTIONS(1072), 1, + anon_sym_COLON, + [15718] = 3, ACTIONS(3), 1, sym_comment, + ACTIONS(1074), 1, + sym_identifier, ACTIONS(1076), 1, - anon_sym_RPAREN, + sym_constant, + [15728] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1005), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [15736] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(955), 1, + sym_constant, ACTIONS(1078), 1, + anon_sym_STAR, + [15746] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(768), 1, + sym_constant, + STATE(381), 1, + sym_type_variable, + [15756] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(902), 2, anon_sym_COMMA, - [16024] = 3, + anon_sym_RBRACK, + [15764] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 1, - anon_sym_RPAREN, - ACTIONS(1080), 1, + ACTIONS(1080), 2, anon_sym_COMMA, - [16034] = 3, + anon_sym_RBRACK, + [15772] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, + ACTIONS(1032), 1, + sym_interface, + ACTIONS(1076), 1, + sym_constant, + [15782] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(768), 1, sym_constant, - STATE(394), 1, + STATE(340), 1, sym_type_variable, - [16044] = 3, + [15792] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 1, + ACTIONS(1082), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [15800] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(884), 1, + anon_sym_DASH_GT, + [15807] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1084), 1, + anon_sym_COLON, + [15814] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1086), 1, + anon_sym_LPAREN, + [15821] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(993), 1, anon_sym_RPAREN, - ACTIONS(1082), 1, - anon_sym_COMMA, - [16054] = 2, + [15828] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1084), 2, - anon_sym_DOT, - anon_sym_QMARK_DOT, - [16062] = 3, + ACTIONS(991), 1, + anon_sym_COLON, + [15835] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(207), 1, + ACTIONS(213), 1, sym__scope, - ACTIONS(1086), 1, - anon_sym_COLON, - [16072] = 3, + [15842] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1088), 1, - sym_self, - STATE(207), 1, - sym_singleton_method_name, - [16082] = 2, + anon_sym_GT, + [15849] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1090), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [16090] = 3, + ACTIONS(1088), 1, + anon_sym_PIPE, + [15856] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, - sym_constant, - STATE(344), 1, - sym_type_variable, - [16100] = 2, + ACTIONS(1090), 1, + sym_ivar_name, + [15863] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(948), 2, - anon_sym_COMMA, + ACTIONS(1092), 1, + sym_ivar_name, + [15870] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1088), 1, anon_sym_RBRACK, - [16108] = 3, + [15877] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(710), 1, - anon_sym_LPAREN, - STATE(356), 1, - sym_parameters, - [16118] = 3, + ACTIONS(1094), 1, + anon_sym_COLON, + [15884] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(776), 1, - sym_constant, - STATE(289), 1, - sym_type_variable, - [16128] = 2, + ACTIONS(1088), 1, + anon_sym_RPAREN, + [15891] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1092), 1, + ACTIONS(1096), 1, anon_sym_RPAREN, - [16135] = 2, + [15898] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1094), 1, - anon_sym_COLON, - [16142] = 2, + ACTIONS(1088), 1, + anon_sym_RBRACE, + [15905] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1096), 1, - anon_sym_DOT, - [16149] = 2, + ACTIONS(840), 1, + anon_sym_DASH_GT, + [15912] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1098), 1, anon_sym_COLON, - [16156] = 2, + [15919] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1100), 1, sym_ivar_name, - [16163] = 2, + [15926] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1102), 1, - anon_sym_DOT, - [16170] = 2, + anon_sym_DASH_GT, + [15933] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1104), 1, - anon_sym_COLON, - [16177] = 2, + sym_constant, + [15940] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(873), 1, - anon_sym_DASH_GT, - [16184] = 2, + ACTIONS(1106), 1, + anon_sym_COLON, + [15947] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1106), 1, - anon_sym_RPAREN, - [16191] = 2, + ACTIONS(955), 1, + sym_constant, + [15954] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1108), 1, - sym_ivar_name, - [16198] = 2, + sym_constant, + [15961] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1110), 1, - anon_sym_DASH_GT, - [16205] = 2, + ACTIONS(207), 1, + sym__scope, + [15968] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1112), 1, + ACTIONS(1110), 1, anon_sym_COLON, - [16212] = 2, + [15975] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(802), 1, - anon_sym_DASH_GT, - [16219] = 2, + ACTIONS(1112), 1, + anon_sym_COLON, + [15982] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1114), 1, - anon_sym_LBRACE, - [16226] = 2, + anon_sym_RPAREN, + [15989] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 1, + ACTIONS(1116), 1, anon_sym_RPAREN, - [16233] = 2, + [15996] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1116), 1, - sym_self, - [16240] = 2, + ACTIONS(1114), 1, + anon_sym_RPAREN, + [16003] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1118), 1, - anon_sym_DASH_GT, - [16247] = 2, + anon_sym_COLON, + [16010] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1120), 1, - anon_sym_DASH_GT, - [16254] = 2, + anon_sym_COLON, + [16017] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1122), 1, - anon_sym_COLON, - [16261] = 2, + anon_sym_DASH_GT, + [16024] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(965), 1, - anon_sym_DASH_GT, - [16268] = 2, + ACTIONS(1024), 1, + anon_sym_RPAREN, + [16031] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1124), 1, - anon_sym_DOT, - [16275] = 2, + anon_sym_COLON, + [16038] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1126), 1, - anon_sym_COLON, - [16282] = 2, + anon_sym_RPAREN, + [16045] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1056), 1, + anon_sym_RPAREN, + [16052] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1128), 1, - anon_sym_DOT, - [16289] = 2, + sym_self, + [16059] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1130), 1, - sym_ivar_name, - [16296] = 2, + anon_sym_RPAREN, + [16066] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1132), 1, - anon_sym_COLON, - [16303] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(987), 1, - anon_sym_COLON, - [16310] = 2, + anon_sym_DASH_GT, + [16073] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1134), 1, - anon_sym_RPAREN, - [16317] = 2, + anon_sym_EQ2, + [16080] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1136), 1, - anon_sym_RPAREN, - [16324] = 2, + anon_sym_COLON, + [16087] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1138), 1, sym_constant, - [16331] = 2, + [16094] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1140), 1, - anon_sym_COLON, - [16338] = 2, + ts_builtin_sym_end, + [16101] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1142), 1, anon_sym_RPAREN, - [16345] = 2, + [16108] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1050), 1, + anon_sym_RPAREN, + [16115] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1144), 1, anon_sym_COLON, - [16352] = 2, + [16122] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1146), 1, - anon_sym_DASH_GT, - [16359] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1142), 1, - anon_sym_RPAREN, - [16366] = 2, + anon_sym_def, + [16129] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, - anon_sym_RPAREN, - [16373] = 2, + ACTIONS(966), 1, + anon_sym_DASH_GT, + [16136] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1148), 1, - anon_sym_COLON, - [16380] = 2, + anon_sym_DASH_GT, + [16143] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1150), 1, - anon_sym_RPAREN, - [16387] = 2, + anon_sym_DASH_GT, + [16150] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1152), 1, - anon_sym_DASH_GT, - [16394] = 2, + anon_sym_COLON, + [16157] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1154), 1, - sym_ivar_name, - [16401] = 2, + anon_sym_QMARK2, + [16164] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(914), 1, - anon_sym_COLON, - [16408] = 2, + ACTIONS(1040), 1, + anon_sym_RPAREN, + [16171] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1156), 1, - anon_sym_COLON, - [16415] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1056), 1, - anon_sym_RPAREN, - [16422] = 2, + anon_sym_DOT, + [16178] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1158), 1, - anon_sym_LPAREN, - [16429] = 2, + anon_sym_DOT, + [16185] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1160), 1, anon_sym_RPAREN, - [16436] = 2, + [16192] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1162), 1, - anon_sym_EQ2, - [16443] = 2, + anon_sym_DOT, + [16199] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(213), 1, - sym__scope, - [16450] = 2, + ACTIONS(1164), 1, + anon_sym_RPAREN, + [16206] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1164), 1, - anon_sym_def, - [16457] = 2, + ACTIONS(949), 1, + anon_sym_COLON, + [16213] = 2, ACTIONS(3), 1, sym_comment, + ACTIONS(802), 1, + anon_sym_def, + [16220] = 2, + ACTIONS(782), 1, + sym_comment, ACTIONS(1166), 1, - sym_constant, - [16464] = 2, + sym__annotation_text_without_angle_bracket, + [16227] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1168), 1, - anon_sym_DASH_GT, - [16471] = 2, + sym_ivar_name, + [16234] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1170), 1, - anon_sym_COLON, - [16478] = 2, - ACTIONS(3), 1, + anon_sym_DOT, + [16241] = 2, + ACTIONS(782), 1, sym_comment, ACTIONS(1172), 1, - anon_sym_DOT, - [16485] = 2, - ACTIONS(3), 1, + sym__annotation_text_without_bar, + [16248] = 2, + ACTIONS(782), 1, sym_comment, ACTIONS(1174), 1, - anon_sym_QMARK2, - [16492] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1050), 1, - anon_sym_RPAREN, - [16499] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(848), 1, - anon_sym_DASH_GT, - [16506] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1009), 1, - anon_sym_COLON, - [16513] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(916), 1, - anon_sym_RPAREN, - [16520] = 2, + sym__annotation_text_without_bracket, + [16255] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1176), 1, - sym_ivar_name, - [16527] = 2, + anon_sym_COLON, + [16262] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1178), 1, - anon_sym_RPAREN, - [16534] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(207), 1, - sym__scope, - [16541] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(810), 1, - anon_sym_def, - [16548] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1180), 1, - anon_sym_GT, - [16555] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1180), 1, - anon_sym_PIPE, - [16562] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1180), 1, - anon_sym_RBRACK, - [16569] = 2, + anon_sym_DOT, + [16269] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1180), 1, - anon_sym_RPAREN, - [16576] = 2, + ACTIONS(1015), 1, + anon_sym_COLON, + [16276] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1180), 1, - anon_sym_RBRACE, - [16583] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1011), 1, - anon_sym_RPAREN, - [16590] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(927), 1, - sym_constant, - [16597] = 2, - ACTIONS(3), 1, + sym_ivar_name, + [16283] = 2, + ACTIONS(782), 1, sym_comment, ACTIONS(1182), 1, - anon_sym_COLON, - [16604] = 2, - ACTIONS(3), 1, + sym__annotation_text_without_parenthesis, + [16290] = 2, + ACTIONS(782), 1, sym_comment, ACTIONS(1184), 1, - sym_constant, - [16611] = 2, + sym__annotation_text_without_brace, + [16297] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1186), 1, - ts_builtin_sym_end, - [16618] = 2, + anon_sym_DASH_GT, + [16304] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1188), 1, anon_sym_COLON, - [16625] = 2, - ACTIONS(790), 1, - sym_comment, - ACTIONS(1190), 1, - sym__annotation_text_without_angle_bracket, - [16632] = 2, - ACTIONS(790), 1, - sym_comment, - ACTIONS(1192), 1, - sym__annotation_text_without_bar, - [16639] = 2, - ACTIONS(790), 1, + [16311] = 2, + ACTIONS(3), 1, sym_comment, - ACTIONS(1194), 1, - sym__annotation_text_without_bracket, - [16646] = 2, ACTIONS(790), 1, + anon_sym_DASH_GT, + [16318] = 2, + ACTIONS(3), 1, sym_comment, - ACTIONS(1196), 1, - sym__annotation_text_without_parenthesis, - [16653] = 2, - ACTIONS(790), 1, + ACTIONS(1190), 1, + anon_sym_LBRACE, + [16325] = 2, + ACTIONS(3), 1, sym_comment, - ACTIONS(1198), 1, - sym__annotation_text_without_brace, - [16660] = 2, + ACTIONS(1017), 1, + anon_sym_RPAREN, + [16332] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1200), 1, + ACTIONS(1192), 1, anon_sym_DOT, - [16667] = 2, + [16339] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1202), 1, + ACTIONS(1194), 1, anon_sym_DOT, - [16674] = 2, + [16346] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1204), 1, + ACTIONS(1196), 1, anon_sym_COLON, }; @@ -17628,473 +17343,465 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(6)] = 516, [SMALL_STATE(7)] = 639, [SMALL_STATE(8)] = 762, - [SMALL_STATE(9)] = 888, - [SMALL_STATE(10)] = 1014, - [SMALL_STATE(11)] = 1131, - [SMALL_STATE(12)] = 1248, - [SMALL_STATE(13)] = 1359, - [SMALL_STATE(14)] = 1470, - [SMALL_STATE(15)] = 1581, - [SMALL_STATE(16)] = 1692, - [SMALL_STATE(17)] = 1803, - [SMALL_STATE(18)] = 1914, - [SMALL_STATE(19)] = 2025, - [SMALL_STATE(20)] = 2136, - [SMALL_STATE(21)] = 2247, - [SMALL_STATE(22)] = 2358, - [SMALL_STATE(23)] = 2469, - [SMALL_STATE(24)] = 2573, - [SMALL_STATE(25)] = 2674, - [SMALL_STATE(26)] = 2775, - [SMALL_STATE(27)] = 2876, - [SMALL_STATE(28)] = 2977, - [SMALL_STATE(29)] = 3078, - [SMALL_STATE(30)] = 3179, - [SMALL_STATE(31)] = 3280, - [SMALL_STATE(32)] = 3378, - [SMALL_STATE(33)] = 3476, - [SMALL_STATE(34)] = 3574, - [SMALL_STATE(35)] = 3672, - [SMALL_STATE(36)] = 3770, - [SMALL_STATE(37)] = 3868, - [SMALL_STATE(38)] = 3966, - [SMALL_STATE(39)] = 4064, - [SMALL_STATE(40)] = 4162, - [SMALL_STATE(41)] = 4260, - [SMALL_STATE(42)] = 4358, - [SMALL_STATE(43)] = 4456, - [SMALL_STATE(44)] = 4554, - [SMALL_STATE(45)] = 4652, - [SMALL_STATE(46)] = 4750, - [SMALL_STATE(47)] = 4848, - [SMALL_STATE(48)] = 4946, - [SMALL_STATE(49)] = 5044, - [SMALL_STATE(50)] = 5142, - [SMALL_STATE(51)] = 5240, - [SMALL_STATE(52)] = 5338, - [SMALL_STATE(53)] = 5436, - [SMALL_STATE(54)] = 5534, - [SMALL_STATE(55)] = 5632, - [SMALL_STATE(56)] = 5730, - [SMALL_STATE(57)] = 5828, - [SMALL_STATE(58)] = 5926, - [SMALL_STATE(59)] = 6024, - [SMALL_STATE(60)] = 6122, - [SMALL_STATE(61)] = 6220, - [SMALL_STATE(62)] = 6318, - [SMALL_STATE(63)] = 6416, - [SMALL_STATE(64)] = 6467, - [SMALL_STATE(65)] = 6518, - [SMALL_STATE(66)] = 6580, - [SMALL_STATE(67)] = 6642, - [SMALL_STATE(68)] = 6701, - [SMALL_STATE(69)] = 6760, - [SMALL_STATE(70)] = 6819, - [SMALL_STATE(71)] = 6878, - [SMALL_STATE(72)] = 6934, - [SMALL_STATE(73)] = 6990, - [SMALL_STATE(74)] = 7046, - [SMALL_STATE(75)] = 7102, - [SMALL_STATE(76)] = 7158, - [SMALL_STATE(77)] = 7214, - [SMALL_STATE(78)] = 7270, - [SMALL_STATE(79)] = 7326, - [SMALL_STATE(80)] = 7382, - [SMALL_STATE(81)] = 7427, - [SMALL_STATE(82)] = 7472, - [SMALL_STATE(83)] = 7521, - [SMALL_STATE(84)] = 7570, - [SMALL_STATE(85)] = 7619, - [SMALL_STATE(86)] = 7663, - [SMALL_STATE(87)] = 7707, - [SMALL_STATE(88)] = 7753, - [SMALL_STATE(89)] = 7797, - [SMALL_STATE(90)] = 7841, - [SMALL_STATE(91)] = 7885, - [SMALL_STATE(92)] = 7929, - [SMALL_STATE(93)] = 7973, - [SMALL_STATE(94)] = 8017, - [SMALL_STATE(95)] = 8060, - [SMALL_STATE(96)] = 8103, - [SMALL_STATE(97)] = 8146, - [SMALL_STATE(98)] = 8189, - [SMALL_STATE(99)] = 8232, - [SMALL_STATE(100)] = 8275, - [SMALL_STATE(101)] = 8318, - [SMALL_STATE(102)] = 8361, - [SMALL_STATE(103)] = 8404, - [SMALL_STATE(104)] = 8447, - [SMALL_STATE(105)] = 8490, - [SMALL_STATE(106)] = 8533, - [SMALL_STATE(107)] = 8576, - [SMALL_STATE(108)] = 8619, - [SMALL_STATE(109)] = 8666, - [SMALL_STATE(110)] = 8709, - [SMALL_STATE(111)] = 8756, - [SMALL_STATE(112)] = 8799, - [SMALL_STATE(113)] = 8842, - [SMALL_STATE(114)] = 8885, - [SMALL_STATE(115)] = 8932, - [SMALL_STATE(116)] = 8979, - [SMALL_STATE(117)] = 9022, - [SMALL_STATE(118)] = 9065, - [SMALL_STATE(119)] = 9108, - [SMALL_STATE(120)] = 9153, - [SMALL_STATE(121)] = 9196, - [SMALL_STATE(122)] = 9243, - [SMALL_STATE(123)] = 9286, - [SMALL_STATE(124)] = 9329, - [SMALL_STATE(125)] = 9375, - [SMALL_STATE(126)] = 9421, - [SMALL_STATE(127)] = 9462, - [SMALL_STATE(128)] = 9513, - [SMALL_STATE(129)] = 9587, - [SMALL_STATE(130)] = 9663, - [SMALL_STATE(131)] = 9705, - [SMALL_STATE(132)] = 9747, - [SMALL_STATE(133)] = 9789, - [SMALL_STATE(134)] = 9824, - [SMALL_STATE(135)] = 9859, - [SMALL_STATE(136)] = 9895, - [SMALL_STATE(137)] = 9935, - [SMALL_STATE(138)] = 9975, - [SMALL_STATE(139)] = 10015, - [SMALL_STATE(140)] = 10055, - [SMALL_STATE(141)] = 10091, - [SMALL_STATE(142)] = 10131, - [SMALL_STATE(143)] = 10171, - [SMALL_STATE(144)] = 10209, - [SMALL_STATE(145)] = 10249, - [SMALL_STATE(146)] = 10289, - [SMALL_STATE(147)] = 10327, - [SMALL_STATE(148)] = 10367, - [SMALL_STATE(149)] = 10407, - [SMALL_STATE(150)] = 10445, - [SMALL_STATE(151)] = 10478, - [SMALL_STATE(152)] = 10511, - [SMALL_STATE(153)] = 10548, - [SMALL_STATE(154)] = 10585, - [SMALL_STATE(155)] = 10622, - [SMALL_STATE(156)] = 10655, - [SMALL_STATE(157)] = 10688, - [SMALL_STATE(158)] = 10725, - [SMALL_STATE(159)] = 10792, - [SMALL_STATE(160)] = 10825, - [SMALL_STATE(161)] = 10858, - [SMALL_STATE(162)] = 10891, - [SMALL_STATE(163)] = 10928, - [SMALL_STATE(164)] = 10961, - [SMALL_STATE(165)] = 10998, - [SMALL_STATE(166)] = 11035, - [SMALL_STATE(167)] = 11102, - [SMALL_STATE(168)] = 11169, - [SMALL_STATE(169)] = 11202, - [SMALL_STATE(170)] = 11239, - [SMALL_STATE(171)] = 11276, - [SMALL_STATE(172)] = 11309, - [SMALL_STATE(173)] = 11342, - [SMALL_STATE(174)] = 11375, - [SMALL_STATE(175)] = 11408, - [SMALL_STATE(176)] = 11445, - [SMALL_STATE(177)] = 11482, - [SMALL_STATE(178)] = 11519, - [SMALL_STATE(179)] = 11552, - [SMALL_STATE(180)] = 11585, - [SMALL_STATE(181)] = 11622, - [SMALL_STATE(182)] = 11655, - [SMALL_STATE(183)] = 11688, - [SMALL_STATE(184)] = 11721, - [SMALL_STATE(185)] = 11758, - [SMALL_STATE(186)] = 11795, - [SMALL_STATE(187)] = 11827, - [SMALL_STATE(188)] = 11859, - [SMALL_STATE(189)] = 11893, - [SMALL_STATE(190)] = 11925, - [SMALL_STATE(191)] = 11957, - [SMALL_STATE(192)] = 11988, - [SMALL_STATE(193)] = 12019, - [SMALL_STATE(194)] = 12050, - [SMALL_STATE(195)] = 12081, - [SMALL_STATE(196)] = 12112, - [SMALL_STATE(197)] = 12143, - [SMALL_STATE(198)] = 12174, - [SMALL_STATE(199)] = 12205, - [SMALL_STATE(200)] = 12236, - [SMALL_STATE(201)] = 12267, - [SMALL_STATE(202)] = 12298, - [SMALL_STATE(203)] = 12329, - [SMALL_STATE(204)] = 12360, - [SMALL_STATE(205)] = 12391, - [SMALL_STATE(206)] = 12422, - [SMALL_STATE(207)] = 12453, - [SMALL_STATE(208)] = 12484, - [SMALL_STATE(209)] = 12515, - [SMALL_STATE(210)] = 12546, - [SMALL_STATE(211)] = 12577, - [SMALL_STATE(212)] = 12608, - [SMALL_STATE(213)] = 12639, - [SMALL_STATE(214)] = 12670, - [SMALL_STATE(215)] = 12701, - [SMALL_STATE(216)] = 12732, - [SMALL_STATE(217)] = 12794, - [SMALL_STATE(218)] = 12855, - [SMALL_STATE(219)] = 12910, - [SMALL_STATE(220)] = 12965, - [SMALL_STATE(221)] = 13020, - [SMALL_STATE(222)] = 13075, - [SMALL_STATE(223)] = 13133, - [SMALL_STATE(224)] = 13191, + [SMALL_STATE(9)] = 887, + [SMALL_STATE(10)] = 1012, + [SMALL_STATE(11)] = 1128, + [SMALL_STATE(12)] = 1244, + [SMALL_STATE(13)] = 1354, + [SMALL_STATE(14)] = 1464, + [SMALL_STATE(15)] = 1568, + [SMALL_STATE(16)] = 1678, + [SMALL_STATE(17)] = 1788, + [SMALL_STATE(18)] = 1898, + [SMALL_STATE(19)] = 2008, + [SMALL_STATE(20)] = 2118, + [SMALL_STATE(21)] = 2228, + [SMALL_STATE(22)] = 2338, + [SMALL_STATE(23)] = 2448, + [SMALL_STATE(24)] = 2558, + [SMALL_STATE(25)] = 2659, + [SMALL_STATE(26)] = 2760, + [SMALL_STATE(27)] = 2861, + [SMALL_STATE(28)] = 2962, + [SMALL_STATE(29)] = 3063, + [SMALL_STATE(30)] = 3164, + [SMALL_STATE(31)] = 3265, + [SMALL_STATE(32)] = 3363, + [SMALL_STATE(33)] = 3461, + [SMALL_STATE(34)] = 3559, + [SMALL_STATE(35)] = 3657, + [SMALL_STATE(36)] = 3755, + [SMALL_STATE(37)] = 3853, + [SMALL_STATE(38)] = 3951, + [SMALL_STATE(39)] = 4049, + [SMALL_STATE(40)] = 4147, + [SMALL_STATE(41)] = 4245, + [SMALL_STATE(42)] = 4343, + [SMALL_STATE(43)] = 4441, + [SMALL_STATE(44)] = 4539, + [SMALL_STATE(45)] = 4637, + [SMALL_STATE(46)] = 4735, + [SMALL_STATE(47)] = 4833, + [SMALL_STATE(48)] = 4931, + [SMALL_STATE(49)] = 5029, + [SMALL_STATE(50)] = 5127, + [SMALL_STATE(51)] = 5225, + [SMALL_STATE(52)] = 5323, + [SMALL_STATE(53)] = 5421, + [SMALL_STATE(54)] = 5519, + [SMALL_STATE(55)] = 5617, + [SMALL_STATE(56)] = 5715, + [SMALL_STATE(57)] = 5813, + [SMALL_STATE(58)] = 5911, + [SMALL_STATE(59)] = 6009, + [SMALL_STATE(60)] = 6107, + [SMALL_STATE(61)] = 6205, + [SMALL_STATE(62)] = 6303, + [SMALL_STATE(63)] = 6401, + [SMALL_STATE(64)] = 6452, + [SMALL_STATE(65)] = 6503, + [SMALL_STATE(66)] = 6565, + [SMALL_STATE(67)] = 6627, + [SMALL_STATE(68)] = 6686, + [SMALL_STATE(69)] = 6745, + [SMALL_STATE(70)] = 6804, + [SMALL_STATE(71)] = 6863, + [SMALL_STATE(72)] = 6919, + [SMALL_STATE(73)] = 6975, + [SMALL_STATE(74)] = 7031, + [SMALL_STATE(75)] = 7087, + [SMALL_STATE(76)] = 7143, + [SMALL_STATE(77)] = 7199, + [SMALL_STATE(78)] = 7255, + [SMALL_STATE(79)] = 7311, + [SMALL_STATE(80)] = 7367, + [SMALL_STATE(81)] = 7412, + [SMALL_STATE(82)] = 7461, + [SMALL_STATE(83)] = 7506, + [SMALL_STATE(84)] = 7555, + [SMALL_STATE(85)] = 7604, + [SMALL_STATE(86)] = 7648, + [SMALL_STATE(87)] = 7692, + [SMALL_STATE(88)] = 7736, + [SMALL_STATE(89)] = 7780, + [SMALL_STATE(90)] = 7824, + [SMALL_STATE(91)] = 7868, + [SMALL_STATE(92)] = 7912, + [SMALL_STATE(93)] = 7958, + [SMALL_STATE(94)] = 8002, + [SMALL_STATE(95)] = 8045, + [SMALL_STATE(96)] = 8088, + [SMALL_STATE(97)] = 8131, + [SMALL_STATE(98)] = 8178, + [SMALL_STATE(99)] = 8221, + [SMALL_STATE(100)] = 8264, + [SMALL_STATE(101)] = 8307, + [SMALL_STATE(102)] = 8350, + [SMALL_STATE(103)] = 8397, + [SMALL_STATE(104)] = 8440, + [SMALL_STATE(105)] = 8483, + [SMALL_STATE(106)] = 8526, + [SMALL_STATE(107)] = 8569, + [SMALL_STATE(108)] = 8612, + [SMALL_STATE(109)] = 8655, + [SMALL_STATE(110)] = 8698, + [SMALL_STATE(111)] = 8741, + [SMALL_STATE(112)] = 8784, + [SMALL_STATE(113)] = 8827, + [SMALL_STATE(114)] = 8870, + [SMALL_STATE(115)] = 8913, + [SMALL_STATE(116)] = 8958, + [SMALL_STATE(117)] = 9005, + [SMALL_STATE(118)] = 9048, + [SMALL_STATE(119)] = 9095, + [SMALL_STATE(120)] = 9138, + [SMALL_STATE(121)] = 9181, + [SMALL_STATE(122)] = 9224, + [SMALL_STATE(123)] = 9271, + [SMALL_STATE(124)] = 9314, + [SMALL_STATE(125)] = 9360, + [SMALL_STATE(126)] = 9406, + [SMALL_STATE(127)] = 9447, + [SMALL_STATE(128)] = 9498, + [SMALL_STATE(129)] = 9540, + [SMALL_STATE(130)] = 9616, + [SMALL_STATE(131)] = 9658, + [SMALL_STATE(132)] = 9732, + [SMALL_STATE(133)] = 9774, + [SMALL_STATE(134)] = 9809, + [SMALL_STATE(135)] = 9844, + [SMALL_STATE(136)] = 9884, + [SMALL_STATE(137)] = 9924, + [SMALL_STATE(138)] = 9960, + [SMALL_STATE(139)] = 9998, + [SMALL_STATE(140)] = 10038, + [SMALL_STATE(141)] = 10074, + [SMALL_STATE(142)] = 10114, + [SMALL_STATE(143)] = 10154, + [SMALL_STATE(144)] = 10194, + [SMALL_STATE(145)] = 10234, + [SMALL_STATE(146)] = 10272, + [SMALL_STATE(147)] = 10312, + [SMALL_STATE(148)] = 10352, + [SMALL_STATE(149)] = 10390, + [SMALL_STATE(150)] = 10430, + [SMALL_STATE(151)] = 10467, + [SMALL_STATE(152)] = 10500, + [SMALL_STATE(153)] = 10533, + [SMALL_STATE(154)] = 10566, + [SMALL_STATE(155)] = 10603, + [SMALL_STATE(156)] = 10636, + [SMALL_STATE(157)] = 10669, + [SMALL_STATE(158)] = 10736, + [SMALL_STATE(159)] = 10769, + [SMALL_STATE(160)] = 10802, + [SMALL_STATE(161)] = 10835, + [SMALL_STATE(162)] = 10868, + [SMALL_STATE(163)] = 10901, + [SMALL_STATE(164)] = 10934, + [SMALL_STATE(165)] = 10967, + [SMALL_STATE(166)] = 11000, + [SMALL_STATE(167)] = 11033, + [SMALL_STATE(168)] = 11070, + [SMALL_STATE(169)] = 11103, + [SMALL_STATE(170)] = 11170, + [SMALL_STATE(171)] = 11207, + [SMALL_STATE(172)] = 11274, + [SMALL_STATE(173)] = 11311, + [SMALL_STATE(174)] = 11344, + [SMALL_STATE(175)] = 11381, + [SMALL_STATE(176)] = 11418, + [SMALL_STATE(177)] = 11451, + [SMALL_STATE(178)] = 11488, + [SMALL_STATE(179)] = 11525, + [SMALL_STATE(180)] = 11558, + [SMALL_STATE(181)] = 11590, + [SMALL_STATE(182)] = 11622, + [SMALL_STATE(183)] = 11654, + [SMALL_STATE(184)] = 11686, + [SMALL_STATE(185)] = 11720, + [SMALL_STATE(186)] = 11752, + [SMALL_STATE(187)] = 11783, + [SMALL_STATE(188)] = 11814, + [SMALL_STATE(189)] = 11845, + [SMALL_STATE(190)] = 11876, + [SMALL_STATE(191)] = 11907, + [SMALL_STATE(192)] = 11938, + [SMALL_STATE(193)] = 11969, + [SMALL_STATE(194)] = 12000, + [SMALL_STATE(195)] = 12031, + [SMALL_STATE(196)] = 12062, + [SMALL_STATE(197)] = 12093, + [SMALL_STATE(198)] = 12124, + [SMALL_STATE(199)] = 12155, + [SMALL_STATE(200)] = 12186, + [SMALL_STATE(201)] = 12217, + [SMALL_STATE(202)] = 12248, + [SMALL_STATE(203)] = 12279, + [SMALL_STATE(204)] = 12310, + [SMALL_STATE(205)] = 12341, + [SMALL_STATE(206)] = 12372, + [SMALL_STATE(207)] = 12403, + [SMALL_STATE(208)] = 12434, + [SMALL_STATE(209)] = 12465, + [SMALL_STATE(210)] = 12496, + [SMALL_STATE(211)] = 12527, + [SMALL_STATE(212)] = 12589, + [SMALL_STATE(213)] = 12650, + [SMALL_STATE(214)] = 12705, + [SMALL_STATE(215)] = 12766, + [SMALL_STATE(216)] = 12827, + [SMALL_STATE(217)] = 12888, + [SMALL_STATE(218)] = 12943, + [SMALL_STATE(219)] = 12998, + [SMALL_STATE(220)] = 13053, + [SMALL_STATE(221)] = 13114, + [SMALL_STATE(222)] = 13169, + [SMALL_STATE(223)] = 13195, + [SMALL_STATE(224)] = 13221, [SMALL_STATE(225)] = 13249, - [SMALL_STATE(226)] = 13307, - [SMALL_STATE(227)] = 13333, - [SMALL_STATE(228)] = 13361, - [SMALL_STATE(229)] = 13413, - [SMALL_STATE(230)] = 13439, - [SMALL_STATE(231)] = 13485, - [SMALL_STATE(232)] = 13511, - [SMALL_STATE(233)] = 13537, - [SMALL_STATE(234)] = 13561, - [SMALL_STATE(235)] = 13582, - [SMALL_STATE(236)] = 13603, - [SMALL_STATE(237)] = 13624, - [SMALL_STATE(238)] = 13670, - [SMALL_STATE(239)] = 13716, - [SMALL_STATE(240)] = 13762, - [SMALL_STATE(241)] = 13808, - [SMALL_STATE(242)] = 13854, - [SMALL_STATE(243)] = 13900, - [SMALL_STATE(244)] = 13923, - [SMALL_STATE(245)] = 13946, - [SMALL_STATE(246)] = 13965, - [SMALL_STATE(247)] = 13982, - [SMALL_STATE(248)] = 13999, - [SMALL_STATE(249)] = 14032, - [SMALL_STATE(250)] = 14049, - [SMALL_STATE(251)] = 14084, - [SMALL_STATE(252)] = 14099, - [SMALL_STATE(253)] = 14114, - [SMALL_STATE(254)] = 14143, - [SMALL_STATE(255)] = 14159, - [SMALL_STATE(256)] = 14185, - [SMALL_STATE(257)] = 14211, - [SMALL_STATE(258)] = 14239, - [SMALL_STATE(259)] = 14265, - [SMALL_STATE(260)] = 14291, - [SMALL_STATE(261)] = 14317, - [SMALL_STATE(262)] = 14340, - [SMALL_STATE(263)] = 14363, - [SMALL_STATE(264)] = 14386, - [SMALL_STATE(265)] = 14409, - [SMALL_STATE(266)] = 14432, - [SMALL_STATE(267)] = 14455, - [SMALL_STATE(268)] = 14475, - [SMALL_STATE(269)] = 14497, - [SMALL_STATE(270)] = 14515, - [SMALL_STATE(271)] = 14533, - [SMALL_STATE(272)] = 14551, - [SMALL_STATE(273)] = 14571, - [SMALL_STATE(274)] = 14591, - [SMALL_STATE(275)] = 14613, - [SMALL_STATE(276)] = 14635, - [SMALL_STATE(277)] = 14654, - [SMALL_STATE(278)] = 14667, - [SMALL_STATE(279)] = 14686, - [SMALL_STATE(280)] = 14705, - [SMALL_STATE(281)] = 14724, - [SMALL_STATE(282)] = 14743, - [SMALL_STATE(283)] = 14760, - [SMALL_STATE(284)] = 14779, - [SMALL_STATE(285)] = 14796, - [SMALL_STATE(286)] = 14813, - [SMALL_STATE(287)] = 14827, - [SMALL_STATE(288)] = 14841, - [SMALL_STATE(289)] = 14857, - [SMALL_STATE(290)] = 14871, - [SMALL_STATE(291)] = 14887, - [SMALL_STATE(292)] = 14901, - [SMALL_STATE(293)] = 14915, - [SMALL_STATE(294)] = 14925, - [SMALL_STATE(295)] = 14941, - [SMALL_STATE(296)] = 14957, - [SMALL_STATE(297)] = 14969, - [SMALL_STATE(298)] = 14985, - [SMALL_STATE(299)] = 14997, - [SMALL_STATE(300)] = 15007, - [SMALL_STATE(301)] = 15019, - [SMALL_STATE(302)] = 15029, - [SMALL_STATE(303)] = 15043, - [SMALL_STATE(304)] = 15053, - [SMALL_STATE(305)] = 15067, - [SMALL_STATE(306)] = 15083, - [SMALL_STATE(307)] = 15099, - [SMALL_STATE(308)] = 15113, - [SMALL_STATE(309)] = 15127, - [SMALL_STATE(310)] = 15141, - [SMALL_STATE(311)] = 15155, - [SMALL_STATE(312)] = 15169, - [SMALL_STATE(313)] = 15183, - [SMALL_STATE(314)] = 15193, - [SMALL_STATE(315)] = 15209, - [SMALL_STATE(316)] = 15225, - [SMALL_STATE(317)] = 15241, - [SMALL_STATE(318)] = 15257, - [SMALL_STATE(319)] = 15267, - [SMALL_STATE(320)] = 15283, - [SMALL_STATE(321)] = 15293, - [SMALL_STATE(322)] = 15305, - [SMALL_STATE(323)] = 15321, - [SMALL_STATE(324)] = 15334, - [SMALL_STATE(325)] = 15347, - [SMALL_STATE(326)] = 15360, - [SMALL_STATE(327)] = 15373, - [SMALL_STATE(328)] = 15386, - [SMALL_STATE(329)] = 15399, - [SMALL_STATE(330)] = 15412, - [SMALL_STATE(331)] = 15425, - [SMALL_STATE(332)] = 15438, - [SMALL_STATE(333)] = 15447, - [SMALL_STATE(334)] = 15460, - [SMALL_STATE(335)] = 15473, - [SMALL_STATE(336)] = 15486, - [SMALL_STATE(337)] = 15495, - [SMALL_STATE(338)] = 15508, - [SMALL_STATE(339)] = 15521, - [SMALL_STATE(340)] = 15534, - [SMALL_STATE(341)] = 15547, - [SMALL_STATE(342)] = 15556, - [SMALL_STATE(343)] = 15569, - [SMALL_STATE(344)] = 15582, - [SMALL_STATE(345)] = 15595, - [SMALL_STATE(346)] = 15608, - [SMALL_STATE(347)] = 15621, - [SMALL_STATE(348)] = 15634, - [SMALL_STATE(349)] = 15647, - [SMALL_STATE(350)] = 15660, - [SMALL_STATE(351)] = 15673, - [SMALL_STATE(352)] = 15686, - [SMALL_STATE(353)] = 15699, - [SMALL_STATE(354)] = 15712, - [SMALL_STATE(355)] = 15725, - [SMALL_STATE(356)] = 15738, - [SMALL_STATE(357)] = 15751, - [SMALL_STATE(358)] = 15764, - [SMALL_STATE(359)] = 15772, - [SMALL_STATE(360)] = 15780, - [SMALL_STATE(361)] = 15790, - [SMALL_STATE(362)] = 15800, - [SMALL_STATE(363)] = 15810, - [SMALL_STATE(364)] = 15818, - [SMALL_STATE(365)] = 15826, - [SMALL_STATE(366)] = 15836, - [SMALL_STATE(367)] = 15846, - [SMALL_STATE(368)] = 15854, - [SMALL_STATE(369)] = 15862, - [SMALL_STATE(370)] = 15872, - [SMALL_STATE(371)] = 15882, - [SMALL_STATE(372)] = 15890, - [SMALL_STATE(373)] = 15900, - [SMALL_STATE(374)] = 15908, - [SMALL_STATE(375)] = 15918, - [SMALL_STATE(376)] = 15928, - [SMALL_STATE(377)] = 15936, - [SMALL_STATE(378)] = 15946, - [SMALL_STATE(379)] = 15956, - [SMALL_STATE(380)] = 15966, - [SMALL_STATE(381)] = 15976, - [SMALL_STATE(382)] = 15986, - [SMALL_STATE(383)] = 15994, - [SMALL_STATE(384)] = 16004, - [SMALL_STATE(385)] = 16014, - [SMALL_STATE(386)] = 16024, - [SMALL_STATE(387)] = 16034, - [SMALL_STATE(388)] = 16044, - [SMALL_STATE(389)] = 16054, - [SMALL_STATE(390)] = 16062, - [SMALL_STATE(391)] = 16072, - [SMALL_STATE(392)] = 16082, - [SMALL_STATE(393)] = 16090, - [SMALL_STATE(394)] = 16100, - [SMALL_STATE(395)] = 16108, - [SMALL_STATE(396)] = 16118, - [SMALL_STATE(397)] = 16128, - [SMALL_STATE(398)] = 16135, - [SMALL_STATE(399)] = 16142, - [SMALL_STATE(400)] = 16149, - [SMALL_STATE(401)] = 16156, - [SMALL_STATE(402)] = 16163, - [SMALL_STATE(403)] = 16170, - [SMALL_STATE(404)] = 16177, - [SMALL_STATE(405)] = 16184, - [SMALL_STATE(406)] = 16191, - [SMALL_STATE(407)] = 16198, - [SMALL_STATE(408)] = 16205, - [SMALL_STATE(409)] = 16212, - [SMALL_STATE(410)] = 16219, - [SMALL_STATE(411)] = 16226, - [SMALL_STATE(412)] = 16233, - [SMALL_STATE(413)] = 16240, - [SMALL_STATE(414)] = 16247, - [SMALL_STATE(415)] = 16254, - [SMALL_STATE(416)] = 16261, - [SMALL_STATE(417)] = 16268, - [SMALL_STATE(418)] = 16275, - [SMALL_STATE(419)] = 16282, - [SMALL_STATE(420)] = 16289, - [SMALL_STATE(421)] = 16296, - [SMALL_STATE(422)] = 16303, - [SMALL_STATE(423)] = 16310, - [SMALL_STATE(424)] = 16317, - [SMALL_STATE(425)] = 16324, - [SMALL_STATE(426)] = 16331, - [SMALL_STATE(427)] = 16338, - [SMALL_STATE(428)] = 16345, - [SMALL_STATE(429)] = 16352, - [SMALL_STATE(430)] = 16359, - [SMALL_STATE(431)] = 16366, - [SMALL_STATE(432)] = 16373, - [SMALL_STATE(433)] = 16380, - [SMALL_STATE(434)] = 16387, - [SMALL_STATE(435)] = 16394, - [SMALL_STATE(436)] = 16401, - [SMALL_STATE(437)] = 16408, - [SMALL_STATE(438)] = 16415, - [SMALL_STATE(439)] = 16422, - [SMALL_STATE(440)] = 16429, - [SMALL_STATE(441)] = 16436, - [SMALL_STATE(442)] = 16443, - [SMALL_STATE(443)] = 16450, - [SMALL_STATE(444)] = 16457, - [SMALL_STATE(445)] = 16464, - [SMALL_STATE(446)] = 16471, - [SMALL_STATE(447)] = 16478, - [SMALL_STATE(448)] = 16485, - [SMALL_STATE(449)] = 16492, - [SMALL_STATE(450)] = 16499, - [SMALL_STATE(451)] = 16506, - [SMALL_STATE(452)] = 16513, - [SMALL_STATE(453)] = 16520, - [SMALL_STATE(454)] = 16527, - [SMALL_STATE(455)] = 16534, - [SMALL_STATE(456)] = 16541, - [SMALL_STATE(457)] = 16548, - [SMALL_STATE(458)] = 16555, - [SMALL_STATE(459)] = 16562, - [SMALL_STATE(460)] = 16569, - [SMALL_STATE(461)] = 16576, - [SMALL_STATE(462)] = 16583, - [SMALL_STATE(463)] = 16590, - [SMALL_STATE(464)] = 16597, - [SMALL_STATE(465)] = 16604, - [SMALL_STATE(466)] = 16611, - [SMALL_STATE(467)] = 16618, - [SMALL_STATE(468)] = 16625, - [SMALL_STATE(469)] = 16632, - [SMALL_STATE(470)] = 16639, - [SMALL_STATE(471)] = 16646, - [SMALL_STATE(472)] = 16653, - [SMALL_STATE(473)] = 16660, - [SMALL_STATE(474)] = 16667, - [SMALL_STATE(475)] = 16674, + [SMALL_STATE(226)] = 13275, + [SMALL_STATE(227)] = 13301, + [SMALL_STATE(228)] = 13325, + [SMALL_STATE(229)] = 13371, + [SMALL_STATE(230)] = 13392, + [SMALL_STATE(231)] = 13413, + [SMALL_STATE(232)] = 13434, + [SMALL_STATE(233)] = 13480, + [SMALL_STATE(234)] = 13526, + [SMALL_STATE(235)] = 13572, + [SMALL_STATE(236)] = 13591, + [SMALL_STATE(237)] = 13614, + [SMALL_STATE(238)] = 13637, + [SMALL_STATE(239)] = 13654, + [SMALL_STATE(240)] = 13671, + [SMALL_STATE(241)] = 13704, + [SMALL_STATE(242)] = 13721, + [SMALL_STATE(243)] = 13756, + [SMALL_STATE(244)] = 13771, + [SMALL_STATE(245)] = 13786, + [SMALL_STATE(246)] = 13815, + [SMALL_STATE(247)] = 13841, + [SMALL_STATE(248)] = 13867, + [SMALL_STATE(249)] = 13893, + [SMALL_STATE(250)] = 13919, + [SMALL_STATE(251)] = 13947, + [SMALL_STATE(252)] = 13973, + [SMALL_STATE(253)] = 13989, + [SMALL_STATE(254)] = 14012, + [SMALL_STATE(255)] = 14035, + [SMALL_STATE(256)] = 14058, + [SMALL_STATE(257)] = 14081, + [SMALL_STATE(258)] = 14104, + [SMALL_STATE(259)] = 14127, + [SMALL_STATE(260)] = 14145, + [SMALL_STATE(261)] = 14165, + [SMALL_STATE(262)] = 14183, + [SMALL_STATE(263)] = 14205, + [SMALL_STATE(264)] = 14223, + [SMALL_STATE(265)] = 14245, + [SMALL_STATE(266)] = 14265, + [SMALL_STATE(267)] = 14285, + [SMALL_STATE(268)] = 14307, + [SMALL_STATE(269)] = 14324, + [SMALL_STATE(270)] = 14343, + [SMALL_STATE(271)] = 14360, + [SMALL_STATE(272)] = 14373, + [SMALL_STATE(273)] = 14392, + [SMALL_STATE(274)] = 14411, + [SMALL_STATE(275)] = 14430, + [SMALL_STATE(276)] = 14447, + [SMALL_STATE(277)] = 14466, + [SMALL_STATE(278)] = 14485, + [SMALL_STATE(279)] = 14497, + [SMALL_STATE(280)] = 14511, + [SMALL_STATE(281)] = 14525, + [SMALL_STATE(282)] = 14535, + [SMALL_STATE(283)] = 14551, + [SMALL_STATE(284)] = 14565, + [SMALL_STATE(285)] = 14577, + [SMALL_STATE(286)] = 14591, + [SMALL_STATE(287)] = 14607, + [SMALL_STATE(288)] = 14623, + [SMALL_STATE(289)] = 14637, + [SMALL_STATE(290)] = 14651, + [SMALL_STATE(291)] = 14663, + [SMALL_STATE(292)] = 14679, + [SMALL_STATE(293)] = 14689, + [SMALL_STATE(294)] = 14705, + [SMALL_STATE(295)] = 14715, + [SMALL_STATE(296)] = 14729, + [SMALL_STATE(297)] = 14743, + [SMALL_STATE(298)] = 14759, + [SMALL_STATE(299)] = 14773, + [SMALL_STATE(300)] = 14787, + [SMALL_STATE(301)] = 14803, + [SMALL_STATE(302)] = 14815, + [SMALL_STATE(303)] = 14829, + [SMALL_STATE(304)] = 14845, + [SMALL_STATE(305)] = 14861, + [SMALL_STATE(306)] = 14875, + [SMALL_STATE(307)] = 14889, + [SMALL_STATE(308)] = 14905, + [SMALL_STATE(309)] = 14921, + [SMALL_STATE(310)] = 14937, + [SMALL_STATE(311)] = 14953, + [SMALL_STATE(312)] = 14963, + [SMALL_STATE(313)] = 14973, + [SMALL_STATE(314)] = 14983, + [SMALL_STATE(315)] = 14993, + [SMALL_STATE(316)] = 15006, + [SMALL_STATE(317)] = 15019, + [SMALL_STATE(318)] = 15032, + [SMALL_STATE(319)] = 15045, + [SMALL_STATE(320)] = 15058, + [SMALL_STATE(321)] = 15067, + [SMALL_STATE(322)] = 15080, + [SMALL_STATE(323)] = 15093, + [SMALL_STATE(324)] = 15106, + [SMALL_STATE(325)] = 15119, + [SMALL_STATE(326)] = 15132, + [SMALL_STATE(327)] = 15145, + [SMALL_STATE(328)] = 15158, + [SMALL_STATE(329)] = 15171, + [SMALL_STATE(330)] = 15184, + [SMALL_STATE(331)] = 15193, + [SMALL_STATE(332)] = 15206, + [SMALL_STATE(333)] = 15219, + [SMALL_STATE(334)] = 15232, + [SMALL_STATE(335)] = 15245, + [SMALL_STATE(336)] = 15258, + [SMALL_STATE(337)] = 15271, + [SMALL_STATE(338)] = 15284, + [SMALL_STATE(339)] = 15297, + [SMALL_STATE(340)] = 15310, + [SMALL_STATE(341)] = 15323, + [SMALL_STATE(342)] = 15336, + [SMALL_STATE(343)] = 15349, + [SMALL_STATE(344)] = 15362, + [SMALL_STATE(345)] = 15375, + [SMALL_STATE(346)] = 15388, + [SMALL_STATE(347)] = 15401, + [SMALL_STATE(348)] = 15410, + [SMALL_STATE(349)] = 15423, + [SMALL_STATE(350)] = 15436, + [SMALL_STATE(351)] = 15446, + [SMALL_STATE(352)] = 15454, + [SMALL_STATE(353)] = 15464, + [SMALL_STATE(354)] = 15474, + [SMALL_STATE(355)] = 15484, + [SMALL_STATE(356)] = 15492, + [SMALL_STATE(357)] = 15500, + [SMALL_STATE(358)] = 15510, + [SMALL_STATE(359)] = 15520, + [SMALL_STATE(360)] = 15528, + [SMALL_STATE(361)] = 15538, + [SMALL_STATE(362)] = 15548, + [SMALL_STATE(363)] = 15558, + [SMALL_STATE(364)] = 15566, + [SMALL_STATE(365)] = 15576, + [SMALL_STATE(366)] = 15586, + [SMALL_STATE(367)] = 15594, + [SMALL_STATE(368)] = 15604, + [SMALL_STATE(369)] = 15614, + [SMALL_STATE(370)] = 15624, + [SMALL_STATE(371)] = 15634, + [SMALL_STATE(372)] = 15644, + [SMALL_STATE(373)] = 15654, + [SMALL_STATE(374)] = 15664, + [SMALL_STATE(375)] = 15674, + [SMALL_STATE(376)] = 15682, + [SMALL_STATE(377)] = 15690, + [SMALL_STATE(378)] = 15698, + [SMALL_STATE(379)] = 15708, + [SMALL_STATE(380)] = 15718, + [SMALL_STATE(381)] = 15728, + [SMALL_STATE(382)] = 15736, + [SMALL_STATE(383)] = 15746, + [SMALL_STATE(384)] = 15756, + [SMALL_STATE(385)] = 15764, + [SMALL_STATE(386)] = 15772, + [SMALL_STATE(387)] = 15782, + [SMALL_STATE(388)] = 15792, + [SMALL_STATE(389)] = 15800, + [SMALL_STATE(390)] = 15807, + [SMALL_STATE(391)] = 15814, + [SMALL_STATE(392)] = 15821, + [SMALL_STATE(393)] = 15828, + [SMALL_STATE(394)] = 15835, + [SMALL_STATE(395)] = 15842, + [SMALL_STATE(396)] = 15849, + [SMALL_STATE(397)] = 15856, + [SMALL_STATE(398)] = 15863, + [SMALL_STATE(399)] = 15870, + [SMALL_STATE(400)] = 15877, + [SMALL_STATE(401)] = 15884, + [SMALL_STATE(402)] = 15891, + [SMALL_STATE(403)] = 15898, + [SMALL_STATE(404)] = 15905, + [SMALL_STATE(405)] = 15912, + [SMALL_STATE(406)] = 15919, + [SMALL_STATE(407)] = 15926, + [SMALL_STATE(408)] = 15933, + [SMALL_STATE(409)] = 15940, + [SMALL_STATE(410)] = 15947, + [SMALL_STATE(411)] = 15954, + [SMALL_STATE(412)] = 15961, + [SMALL_STATE(413)] = 15968, + [SMALL_STATE(414)] = 15975, + [SMALL_STATE(415)] = 15982, + [SMALL_STATE(416)] = 15989, + [SMALL_STATE(417)] = 15996, + [SMALL_STATE(418)] = 16003, + [SMALL_STATE(419)] = 16010, + [SMALL_STATE(420)] = 16017, + [SMALL_STATE(421)] = 16024, + [SMALL_STATE(422)] = 16031, + [SMALL_STATE(423)] = 16038, + [SMALL_STATE(424)] = 16045, + [SMALL_STATE(425)] = 16052, + [SMALL_STATE(426)] = 16059, + [SMALL_STATE(427)] = 16066, + [SMALL_STATE(428)] = 16073, + [SMALL_STATE(429)] = 16080, + [SMALL_STATE(430)] = 16087, + [SMALL_STATE(431)] = 16094, + [SMALL_STATE(432)] = 16101, + [SMALL_STATE(433)] = 16108, + [SMALL_STATE(434)] = 16115, + [SMALL_STATE(435)] = 16122, + [SMALL_STATE(436)] = 16129, + [SMALL_STATE(437)] = 16136, + [SMALL_STATE(438)] = 16143, + [SMALL_STATE(439)] = 16150, + [SMALL_STATE(440)] = 16157, + [SMALL_STATE(441)] = 16164, + [SMALL_STATE(442)] = 16171, + [SMALL_STATE(443)] = 16178, + [SMALL_STATE(444)] = 16185, + [SMALL_STATE(445)] = 16192, + [SMALL_STATE(446)] = 16199, + [SMALL_STATE(447)] = 16206, + [SMALL_STATE(448)] = 16213, + [SMALL_STATE(449)] = 16220, + [SMALL_STATE(450)] = 16227, + [SMALL_STATE(451)] = 16234, + [SMALL_STATE(452)] = 16241, + [SMALL_STATE(453)] = 16248, + [SMALL_STATE(454)] = 16255, + [SMALL_STATE(455)] = 16262, + [SMALL_STATE(456)] = 16269, + [SMALL_STATE(457)] = 16276, + [SMALL_STATE(458)] = 16283, + [SMALL_STATE(459)] = 16290, + [SMALL_STATE(460)] = 16297, + [SMALL_STATE(461)] = 16304, + [SMALL_STATE(462)] = 16311, + [SMALL_STATE(463)] = 16318, + [SMALL_STATE(464)] = 16325, + [SMALL_STATE(465)] = 16332, + [SMALL_STATE(466)] = 16339, + [SMALL_STATE(467)] = 16346, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -18102,574 +17809,570 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(254), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(391), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(266), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(255), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), - [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), - [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), - [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(390), - [122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(447), - [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(322), - [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(321), - [131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(472), - [134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(471), - [137] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(470), - [140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(469), - [143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(468), - [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), - [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(315), - [151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(279), - [154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(281), - [157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(67), - [160] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(277), - [163] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(126), - [166] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(267), - [169] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(273), - [172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(272), - [175] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(65), - [178] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(446), - [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), - [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 1), - [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 1), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), - [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 2), - [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 2), - [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [129] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(360), + [132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(443), + [135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(293), + [138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(301), + [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(459), + [144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(458), + [147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(453), + [150] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(452), + [153] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(449), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), + [158] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(303), + [161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(269), + [164] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(276), + [167] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(68), + [170] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(271), + [173] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(126), + [176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(260), + [179] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(266), + [182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(265), + [185] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(65), + [188] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(467), + [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(278), + [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 2), + [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 2), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 1), + [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 1), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419), - [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), + [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(442), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), - [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(389), - [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(402), - [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417), - [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(203), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), - [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), - [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 1), - [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 1), - [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 2), - [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 2), - [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 1), - [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 1), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 1), - [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 1), + [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(261), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(445), + [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(363), + [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(455), + [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(451), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [247] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 2), + [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 2), + [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 1), + [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 1), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 1), + [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 1), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 1), + [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 1), [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 1), [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 1), - [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier_suffix, 2), - [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier_suffix, 2), - [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), - [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), - [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 1), - [287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 1), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_name, 1), - [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_name, 1), - [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_suffix, 2), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_suffix, 2), - [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_setter, 2), - [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_setter, 2), - [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 2), - [305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 2), - [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 1), - [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 1), - [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setter, 2), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setter, 2), - [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 14), - [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 3, .production_id = 14), - [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 2), - [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 2), - [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 3), - [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 3), - [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), - [329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3), - [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 2), - [333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 2), - [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), - [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), - [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3), - [341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3), - [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1), - [345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1), - [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), - [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 2), - [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2), - [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2), - [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), - [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), - [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 3), - [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 3), - [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), - [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 4), - [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 4), - [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 4), - [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 4), - [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 5), - [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 5), - [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 19), - [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 19), - [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 14), - [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 14), - [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4), - [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4), - [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 6), - [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 6), - [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 3), - [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 3), - [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 19), - [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 5, .production_id = 19), - [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_type, 4), - [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singleton_type, 4), - [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 2), - [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 2), - [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 3, .production_id = 15), - [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 3, .production_id = 15), - [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 2), - [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 2), - [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 3, .production_id = 15), - [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 3, .production_id = 15), - [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5), - [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5), - [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type, 2), - [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional_type, 2), - [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), - [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 1), + [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 1), + [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setter, 2), + [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setter, 2), + [285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier_suffix, 2), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier_suffix, 2), + [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_name, 1), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_name, 1), + [293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), + [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), + [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_suffix, 2), + [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_suffix, 2), + [301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_setter, 2), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_setter, 2), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 1), + [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 1), + [309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 2), + [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 2), + [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3), + [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3), + [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), + [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 2), + [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_type, 4), + [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singleton_type, 4), + [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 5), + [329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 5), + [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1), + [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1), + [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 2), + [341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 2), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4), + [345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4), + [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 2), + [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 2), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 6), + [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 6), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2), + [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2), + [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type, 2), + [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional_type, 2), + [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 14), + [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 3, .production_id = 14), + [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 2), + [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 2), + [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), + [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3), + [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), + [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 2), + [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 2), + [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 19), + [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 19), + [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 4), + [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 4), + [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 3, .production_id = 15), + [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 3, .production_id = 15), + [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 3, .production_id = 15), + [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 3, .production_id = 15), + [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 3), + [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 3), + [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 3), + [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 3), + [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5), + [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5), + [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 3), + [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 3), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 14), + [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 14), + [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 4), + [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 4), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 19), + [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 5, .production_id = 19), + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), [443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribyte_type, 1), [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribyte_type, 1), [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), - [449] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(472), - [452] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(471), - [455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(470), - [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(469), - [461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(468), - [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1), - [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 4), - [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 5), - [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_decl, 3), - [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3), - [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 1), - [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 4), - [480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 4), - [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 6), - [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 9), - [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 1), - [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 7), - [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 3), - [494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 3), - [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 4), - [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 5), - [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 4), - [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 10), - [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 5), - [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 3), + [449] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(459), + [452] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(458), + [455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(453), + [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(452), + [461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 2), SHIFT_REPEAT(449), + [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_decl, 3), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 5), + [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1), + [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 4), + [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__decl_repeat1, 1), + [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3), + [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 5), + [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 8), + [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 3), + [484] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 3), + [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_body, 3), + [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 5), + [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 4), + [492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 4), + [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 9), + [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 6), + [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 10), + [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 1), + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_body, 4), + [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 4), [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 3), - [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 8), - [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2), - [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4), - [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 3, .production_id = 3), - [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 2), - [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 2), - [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), - [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_alias_decl, 4, .production_id = 7), - [530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 3), - [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 8), - [538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 6, .production_id = 17), - [540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 6, .production_id = 16), - [542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 1), - [544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4, .production_id = 9), - [546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 2, .production_id = 2), - [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2), - [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), - [552] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(390), - [555] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(322), - [558] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(321), - [561] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(472), - [564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(471), - [567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(470), - [570] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(469), - [573] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(468), - [576] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(315), - [579] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(279), - [582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(281), - [585] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(467), - [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 3), - [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), - [592] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), SHIFT_REPEAT(228), - [595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 2), - [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 3), - [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 5, .production_id = 13), - [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 3), - [603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 12), - [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 3), - [607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 3, .production_id = 22), - [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 3, .production_id = 2), - [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5), - [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5, .production_id = 11), - [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 2), - [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4, .production_id = 5), - [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_alias_decl, 4, .production_id = 4), - [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4), - [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 4, .production_id = 22), - [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 2), - [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 3), - [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 2), - [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 3, .production_id = 22), - [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 4, .production_id = 24), - [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 3), - [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 3), - [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 1), - [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility_member, 2), - [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 3), + [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_body, 2), + [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 7), + [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 2), + [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 3), + [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4), + [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 5, .production_id = 13), + [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), + [524] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), SHIFT_REPEAT(221), + [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_alias_decl, 4, .production_id = 7), + [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 3), + [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 3), + [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 8), + [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4), + [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5), + [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5, .production_id = 11), + [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4, .production_id = 9), + [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 12), + [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4, .production_id = 5), + [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 3), + [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 3, .production_id = 3), + [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2), + [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 2), + [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), + [561] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(360), + [564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(293), + [567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(301), + [570] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(459), + [573] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(458), + [576] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(453), + [579] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(452), + [582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(449), + [585] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(303), + [588] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(269), + [591] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(276), + [594] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(434), + [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 2), + [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_alias_decl, 4, .production_id = 4), + [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 2), + [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 6, .production_id = 17), + [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 2), + [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 1), + [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 6, .production_id = 16), + [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2), + [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 1), + [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2, .production_id = 2), + [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 2), + [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 3, .production_id = 22), + [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 5), + [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 4), + [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_method_name, 3), + [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 3), + [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 3), + [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 6), + [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility_member, 2), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__member, 2, .production_id = 2), + [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 1), [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_type_binds, 2), - [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__member, 2, .production_id = 2), - [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 5), - [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 6), - [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_member, 3, .production_id = 10), - [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_method_name, 3), - [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 4), - [661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 4), - [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 3), - [665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 3), - [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 7), - [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), - [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [677] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(472), - [680] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(471), - [683] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(470), - [686] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(469), - [689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(468), - [692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), - [694] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(67), - [697] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(456), - [700] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(267), - [703] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(66), - [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), - [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), - [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), - [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), - [724] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), SHIFT_REPEAT(280), - [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_decl, 3), - [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), - [731] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(278), - [734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3), - [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), - [738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 2), - [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 1, .production_id = 1), - [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), - [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 3, .production_id = 6), - [746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 2), - [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__decl, 2, .production_id = 2), - [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 1), - [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 1), - [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), - [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 2, .production_id = 2), - [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), - [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 3), - [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 4), - [766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), - [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_name, 1), - [770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), - [772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1), - [776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), - [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), - [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), - [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [790] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), - [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 4, .production_id = 23), - [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), - [808] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility, 1), - [810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility, 1), - [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), - [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [816] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_type_single, 3, .production_id = 18), - [818] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 3, .production_id = 21), - [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), - [822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), - [824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), - [826] = {.entry = {.count = 1, .reusable = false}}, SHIFT(311), - [828] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 2), - [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), - [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), - [834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 3), - [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), - [838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [840] = {.entry = {.count = 1, .reusable = false}}, SHIFT(309), - [842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(310), - [844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 11), - [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), - [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [850] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 3), - [852] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 3), - [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 8), - [858] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 2), - [860] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 2), - [862] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), - [864] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), - [866] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), SHIFT_REPEAT(302), - [869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3), - [871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 1), - [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), - [877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(312), - [879] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), - [881] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(308), - [884] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), - [886] = {.entry = {.count = 1, .reusable = false}}, SHIFT(308), - [888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(302), - [890] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 3), + [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 7), + [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 3), + [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 3), + [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 4), + [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_member, 3, .production_id = 10), + [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [681] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(459), + [684] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(458), + [687] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(453), + [690] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(452), + [693] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(449), + [696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), + [698] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(68), + [701] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(448), + [704] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(260), + [707] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(66), + [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3), + [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [718] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 2), + [720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_decl, 3), + [722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), + [724] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(272), + [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), + [729] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), SHIFT_REPEAT(273), + [732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 1, .production_id = 1), + [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 3, .production_id = 6), + [738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 2), + [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__decl, 2, .production_id = 2), + [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 1), + [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 1), + [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 2, .production_id = 2), + [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [754] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 4), + [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 3), + [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_name, 1), + [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1), + [768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [782] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), + [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [800] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility, 1), + [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility, 1), + [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 3, .production_id = 21), + [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_type_single, 3, .production_id = 18), + [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 4, .production_id = 23), + [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(288), + [822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 1), + [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5), + [828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [830] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), + [832] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 3), + [834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 3), + [836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), + [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), + [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), + [844] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 2), + [846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 2), + [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [850] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 7), + [852] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), + [854] = {.entry = {.count = 1, .reusable = false}}, SHIFT(289), + [856] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), + [858] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), SHIFT_REPEAT(296), + [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [863] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), + [865] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(298), + [868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [870] = {.entry = {.count = 1, .reusable = false}}, SHIFT(285), + [872] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 1), + [874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 1), + [876] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283), + [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 2), + [882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 3), + [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 8), + [888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 11), + [890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3), [892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 9), - [894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5), - [896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 7), - [898] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 1), - [900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 1), - [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), - [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), - [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [912] = {.entry = {.count = 1, .reusable = false}}, SHIFT(453), - [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), - [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), - [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [922] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), SHIFT_REPEAT(33), - [925] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [929] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [933] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), SHIFT_REPEAT(370), - [936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), - [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variable, 1), - [940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 2), - [942] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 2), SHIFT(448), - [945] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), SHIFT_REPEAT(387), - [948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), - [950] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420), - [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), - [956] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 2), - [958] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 2), SHIFT(27), - [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), - [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_type_binding, 5), - [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), - [973] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), SHIFT(27), - [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), - [978] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), - [980] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), SHIFT_REPEAT(448), - [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(406), - [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), - [991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 1), - [993] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 1), SHIFT(27), - [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), - [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [1000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [1002] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), SHIFT_REPEAT(264), - [1005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), - [1007] = {.entry = {.count = 1, .reusable = false}}, SHIFT(401), - [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), - [1013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), - [1015] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), SHIFT(27), - [1018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 3), - [1020] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 3), SHIFT(448), - [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [1027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), - [1029] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), SHIFT_REPEAT(27), - [1032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2), - [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), - [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), - [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [1042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_bound, 2), - [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [1046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 2), - [1048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bound_type, 1), - [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), - [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), - [1054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 14), - [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), - [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [1062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rest_positional, 2), - [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [1066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), - [1068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), - [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), - [1072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [1074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 3), - [1076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), - [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [1080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [1082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [1084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [1086] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 1), - [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), - [1090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 4), - [1092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat_keyword, 2), - [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), - [1102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [1104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), - [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), - [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), - [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), - [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), + [894] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), SHIFT_REPEAT(362), + [897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), + [899] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), SHIFT_REPEAT(256), + [902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), + [904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 2), + [906] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 2), SHIFT(440), + [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [913] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), + [915] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), SHIFT(28), + [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), + [920] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), SHIFT_REPEAT(28), + [923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 2), + [929] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 2), SHIFT(28), + [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [936] = {.entry = {.count = 1, .reusable = false}}, SHIFT(450), + [938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), + [944] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), SHIFT(28), + [947] = {.entry = {.count = 1, .reusable = false}}, SHIFT(397), + [949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [953] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [957] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [959] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_type_binding, 5), + [961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 3), + [963] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 3), SHIFT(440), + [966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [968] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), SHIFT_REPEAT(47), + [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [989] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457), + [991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 1), + [999] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 1), SHIFT(28), + [1002] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), SHIFT_REPEAT(383), + [1005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), + [1007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [1011] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variable, 1), + [1013] = {.entry = {.count = 1, .reusable = false}}, SHIFT(398), + [1015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [1019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), + [1021] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), SHIFT_REPEAT(440), + [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [1030] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 4), + [1032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [1036] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2), + [1038] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 1), + [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [1042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [1046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [1048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [1062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [1066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 3), + [1068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rest_positional, 2), + [1070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 14), + [1072] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 2), + [1074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [1076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [1080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_bound, 2), + [1082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bound_type, 1), + [1084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [1086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [1102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), + [1104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_variance, 1), + [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [1114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keywords, 1), + [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [1118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), - [1132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), - [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [1138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_variance, 1), - [1140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keywords, 1), - [1144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [1150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 5, .production_id = 21), - [1152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 6), - [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), - [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), - [1160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 6, .production_id = 23), - [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [1168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 7), - [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), - [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), - [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), - [1180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), - [1186] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), - [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), - [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), - [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), - [1198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), - [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [1202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat_keyword, 2), + [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 5, .production_id = 21), + [1132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 6), + [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [1138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [1140] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 6, .production_id = 23), + [1144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [1148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 7), + [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [1152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), + [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), + [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), + [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [1180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [1186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), + [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), }; #ifdef __cplusplus diff --git a/test/corpus/annotations.txt b/test/corpus/annotations.txt index 191d7d1..94fd694 100644 --- a/test/corpus/annotations.txt +++ b/test/corpus/annotations.txt @@ -1,354 +1,360 @@ -================== +================================================================================ annotation with class decl -================== +================================================================================ %a{test} class Foo end ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (class_decl - (class_name - (constant)))) - -================== + (annotations + (annotation + (annotation_text))) + (class_decl + (class_name + (constant)))) + +================================================================================ annotation with module decl -================== +================================================================================ %a{test} module Foo end ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (module_decl - (module_name - (constant)))) - -================== + (annotations + (annotation + (annotation_text))) + (module_decl + (module_name + (constant)))) + +================================================================================ annotation with interface decl -================== +================================================================================ %a{test} interface _Foo end ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (interface_decl - (interface_name - (interface)))) - -================== + (annotations + (annotation + (annotation_text))) + (interface_decl + (interface_name + (interface)))) + +================================================================================ annotation with class alias decl -================== +================================================================================ %a{test} class Foo = Bar ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (class_alias_decl - (class_name - (constant)) - (class_name - (constant)))) - -================== + (annotations + (annotation + (annotation_text))) + (class_alias_decl + (class_name + (constant)) + (class_name + (constant)))) + +================================================================================ annotation with module alias decl -================== +================================================================================ %a{test} module Foo = Bar ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (module_alias_decl - (module_name - (constant)) - (module_name - (constant)))) - -================== + (annotations + (annotation + (annotation_text))) + (module_alias_decl + (module_name + (constant)) + (module_name + (constant)))) + +================================================================================ annotation with type alias decl -================== +================================================================================ %a{test} type foo = Bar ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (type_alias_decl - (alias_name - (identifier)) - (type - (class_type - (class_name - (constant)))))) + (annotations + (annotation + (annotation_text))) + (type_alias_decl + (alias_name + (identifier)) + (type + (class_type + (class_name + (constant)))))) -================== +================================================================================ annotation with const decl -================== +================================================================================ %a{test} Foo: String ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (const_decl - (const_name - (constant)) - (type - (class_type - (class_name - (constant)))))) + (annotations + (annotation + (annotation_text))) + (const_decl + (const_name + (constant)) + (type + (class_type + (class_name + (constant)))))) -================== +================================================================================ annotation with global decl -================== +================================================================================ %a{test} $foo: String ---- +-------------------------------------------------------------------------------- (program - (annotations - (annotation - (annotation_text))) - (global_decl - (global_name) - (type - (class_type - (class_name - (constant)))))) - + (annotations + (annotation + (annotation_text))) + (global_decl + (global_name) + (type + (class_type + (class_name + (constant)))))) -================== +================================================================================ annotation with class members -================== +================================================================================ class Foo %a(test) def foo: () -> String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (annotations - (annotation - (annotation_text))) - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (annotations + (annotation + (annotation_text))) + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ annotation with module members -================== +================================================================================ module Foo %a(test) def foo: () -> String end ---- +-------------------------------------------------------------------------------- (program - (module_decl - (module_name - (constant)) - (members - (annotations - (annotation - (annotation_text))) - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (module_decl + (module_name + (constant)) + (members + (annotations + (annotation + (annotation_text))) + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ annotation with interface members -================== +================================================================================ interface _Foo %a(test) def foo: () -> String end ---- +-------------------------------------------------------------------------------- (program - (interface_decl - (interface_name - (interface)) - (interface_members - (interface_member - (annotations - (annotation - (annotation_text))) - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant))))))))))) - - -================== + (interface_decl + (interface_name + (interface)) + (interface_members + (interface_member + (annotations + (annotation + (annotation_text))) + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)))))))))))) + +================================================================================ annotation with method visibility -================== +================================================================================ class Foo %a(test) private def foo: () -> String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (annotations - (annotation - (annotation_text))) - (method_member - (visibility) - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (annotations + (annotation + (annotation_text))) + (method_member + (visibility) + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ annotation with method types -================== +================================================================================ class Foo def foo: [A] %a{test1} () -> Array[A] end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type_parameters - (type_variable - (constant))) - (annotations - (annotation - (annotation_text))) - (method_type - (parameters) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant))))))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_parameters + (type_variable + (constant))) + (annotations + (annotation + (annotation_text))) + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant)))))))))))))) + +================================================================================ annotation with method overloading -================== +================================================================================ class Foo def foo: [A] %a{test1} () -> Array[A] | %a{test2} (String) -> Integer end ---- +-------------------------------------------------------------------------------- + (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type_parameters - (type_variable - (constant))) - (annotations - (annotation - (annotation_text))) - (method_type - (parameters) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant)))))))) - (annotations - (annotation - (annotation_text))) - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type - (class_name - (constant)))))))))) + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_parameters + (type_variable + (constant))) + (annotations + (annotation + (annotation_text))) + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant))))))))) + (method_type + (annotations + (annotation + (annotation_text))) + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant))))))))))) diff --git a/test/corpus/decls.txt b/test/corpus/decls.txt index 7a2fdef..882fed4 100644 --- a/test/corpus/decls.txt +++ b/test/corpus/decls.txt @@ -380,8 +380,9 @@ end (identifier)) (method_types (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))))))) + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))))))) diff --git a/test/corpus/members.txt b/test/corpus/members.txt index 2fa6df6..a5a5e3c 100644 --- a/test/corpus/members.txt +++ b/test/corpus/members.txt @@ -1,235 +1,235 @@ -================== +================================================================================ ivar member -================== +================================================================================ class Foo @foo: String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (ivar_member - (ivar_name) - (type - (class_type - (class_name - (constant)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (ivar_member + (ivar_name) + (type + (class_type + (class_name + (constant)))))))) + +================================================================================ method member -================== +================================================================================ class Foo def foo: () -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ singleton method member -================== +================================================================================ class Foo def self.foo: () -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (self) - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (self) + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ attribute member -================== +================================================================================ class Foo attr_reader foo: String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (attribute_member - (attribyte_type) - (method_name - (identifier)) - (type - (class_type - (class_name - (constant)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (attribute_member + (attribyte_type) + (method_name + (identifier)) + (type + (class_type + (class_name + (constant)))))))) + +================================================================================ attribute member with ivar -================== +================================================================================ class Foo attr_writer name (@raw_name): String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (attribute_member - (attribyte_type) - (method_name - (identifier)) - (ivar_name) - (type - (class_type - (class_name - (constant)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (attribute_member + (attribyte_type) + (method_name + (identifier)) + (ivar_name) + (type + (class_type + (class_name + (constant)))))))) + +================================================================================ attribute member for singleton -================== +================================================================================ class Foo attr_writer self.name: String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (attribute_member - (attribyte_type) - (self) - (method_name - (identifier)) - (type - (class_type - (class_name - (constant)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (attribute_member + (attribyte_type) + (self) + (method_name + (identifier)) + (type + (class_type + (class_name + (constant)))))))) + +================================================================================ include member -================== +================================================================================ class Foo include Mod end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (include_member + (class_decl (class_name - (constant)))))) - + (constant)) + (members + (include_member + (class_name + (constant)))))) -================== +================================================================================ extend member -================== +================================================================================ class Foo extend Mod end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (extend_member + (class_decl (class_name - (constant)))))) - + (constant)) + (members + (extend_member + (class_name + (constant)))))) -================== +================================================================================ prepend member -================== +================================================================================ class Foo prepend Mod end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (prepend_member + (class_decl (class_name - (constant)))))) + (constant)) + (members + (prepend_member + (class_name + (constant)))))) -================== +================================================================================ alias member -================== +================================================================================ class Foo alias bar foo end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (alias_member - (method_name - (identifier)) - (method_name - (identifier)))))) - -================== + (class_decl + (class_name + (constant)) + (members + (alias_member + (method_name + (identifier)) + (method_name + (identifier)))))) + +================================================================================ visibility member -================== +================================================================================ class Foo private @@ -238,44 +238,44 @@ class Foo private attr_reader bar: String end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (visibility_member - (visibility)) - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant))))))) - (method_member - (visibility) - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant))))))) - (attribute_member - (visibility) - (attribyte_type) - (method_name - (identifier)) - (type - (class_type - (class_name - (constant)))))))) - - + (class_decl + (class_name + (constant)) + (members + (visibility_member + (visibility)) + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)))))))) + (method_member + (visibility) + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)))))))) + (attribute_member + (visibility) + (attribyte_type) + (method_name + (identifier)) + (type + (class_type + (class_name + (constant)))))))) diff --git a/test/corpus/methods.txt b/test/corpus/methods.txt index e8c00aa..fde4d83 100644 --- a/test/corpus/methods.txt +++ b/test/corpus/methods.txt @@ -1,928 +1,945 @@ -================== +================================================================================ no args -================== +================================================================================ class Foo def foo: () -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ required args -================== +================================================================================ class Foo def foo: (String st, Integer) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ optional args -================== +================================================================================ class Foo def foo: (?Foo foo, ?Bar) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type + (class_decl (class_name - (constant)))))))))) + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ required args and optional args -================== +================================================================================ class Foo def foo: (String st, Integer it, Float fl, ?Foo foo, ?Bar) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier)))) - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type + (class_decl (class_name - (constant)))))))))) + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier)))) + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ optional args and trailing args -================== +================================================================================ class Foo def foo: (?Foo foo, ?Bar, String st, Integer int) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant)))))) - (trailing_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))))) - (type - (class_type + (class_decl (class_name - (constant)))))))))) - + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant)))))) + (trailing_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))))) + (type + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ keyword args -================== +================================================================================ class Foo def foo: (key: String, bar: Hash[Symbol, Integer]) -> Integer end ---- - +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (keywords - (required_keywords - (keyword + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (required_keywords - (keyword - (identifier)) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant)))) + (method_types + (method_type + (method_type_body + (parameters + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant)))) + (type + (class_type + (class_name + (constant)))))))))))) (type - (class_type - (class_name - (constant)))))))))))) - (type - (class_type - (class_name - (constant)))))))))) + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ required args and keyword args -================== +================================================================================ class Foo def foo: (String st, alias_type al, key1: String, ?key2: String?, **Hash) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (alias_type - (alias_name - (identifier)))) - (var_name - (identifier)))) - (keywords - (required_keywords - (keyword + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (optional_keywords - (keyword - (identifier)) - (type - (optional_type - (type - (class_type - (class_name - (constant)))))) - (keywords - (splat_keyword - (parameter + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (alias_type + (alias_name + (identifier)))) + (var_name + (identifier)))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (optional_keywords + (keyword + (identifier)) + (type + (optional_type + (type + (class_type + (class_name + (constant)))))) + (keywords + (splat_keyword + (parameter + (type + (class_type + (class_name + (constant)))))))))))) (type - (class_type - (class_name - (constant)))))))))))) - (type - (class_type - (class_name - (constant)))))))))) + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ optional args and keyword args -================== +================================================================================ class Foo def foo: (?String st, ?alias_type al, key1: String, ?key2: String?, **Hash) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))) - (parameter - (type - (alias_type - (alias_name - (identifier)))) - (var_name - (identifier)))) - (keywords - (required_keywords - (keyword + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (optional_keywords - (keyword - (identifier)) - (type - (optional_type - (type - (class_type - (class_name - (constant)))))) - (keywords - (splat_keyword - (parameter + (method_types + (method_type + (method_type_body + (parameters + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))) + (parameter + (type + (alias_type + (alias_name + (identifier)))) + (var_name + (identifier)))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (optional_keywords + (keyword + (identifier)) + (type + (optional_type + (type + (class_type + (class_name + (constant)))))) + (keywords + (splat_keyword + (parameter + (type + (class_type + (class_name + (constant)))))))))))) (type - (class_type - (class_name - (constant)))))))))))) - (type - (class_type - (class_name - (constant)))))))))) + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ optional args and trailing args and keyword args -================== +================================================================================ class Foo def foo: (?String st, Integer, key1: String, ?key2: String?, **Hash) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier)))) - (trailing_positionals - (parameter - (type - (class_type - (class_name - (constant)))))) - (keywords - (required_keywords - (keyword + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (optional_keywords - (keyword - (identifier)) - (type - (optional_type - (type - (class_type - (class_name - (constant)))))) - (keywords - (splat_keyword - (parameter + (method_types + (method_type + (method_type_body + (parameters + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier)))) + (trailing_positionals + (parameter + (type + (class_type + (class_name + (constant)))))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (optional_keywords + (keyword + (identifier)) + (type + (optional_type + (type + (class_type + (class_name + (constant)))))) + (keywords + (splat_keyword + (parameter + (type + (class_type + (class_name + (constant)))))))))))) (type - (class_type - (class_name - (constant)))))))))))) - (type - (class_type - (class_name - (constant)))))))))) + (class_type + (class_name + (constant))))))))))) -================== +================================================================================ block -================== +================================================================================ class Foo def foo: () { (Integer) -> void} -> void end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (block - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (builtin_type))) - (type - (builtin_type)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (block + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (builtin_type))) + (type + (builtin_type))))))))) + +================================================================================ literal type args -================== +================================================================================ class Foo def foo: ("foo", 123, :sym) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (string_literal - (double_quote_string_body)))) - (parameter - (type - (integer_literal))) - (parameter - (type - (symbol_literal))))) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (string_literal + (double_quote_string_body)))) + (parameter + (type + (integer_literal))) + (parameter + (type + (symbol_literal))))) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ block and self type binding -================== +================================================================================ class Foo def foo: () { (Integer) [self: String] -> void} -> void end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (block - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (self_type_binding - (self) - (type - (class_type - (class_name - (constant))))) - (type - (builtin_type))) - (type - (builtin_type)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (block + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (self_type_binding + (self) + (type + (class_type + (class_name + (constant))))) + (type + (builtin_type))) + (type + (builtin_type))))))))) + +================================================================================ complex args -================== +================================================================================ class Foo def foo: (String st, ?Integer, ?{a: TypeA, b: TypeB}, *Array[String | Integer] rest, key1: String, key2: String, ?key3: String?, **Hash opts) {(String st) -> void} -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier)))) - (optional_positionals - (parameter - (type - (class_type - (class_name - (constant))))) - (parameter - (type - (record_type - (record_key) - (type - (class_type - (class_name - (constant)))) - (record_key) - (type - (class_type - (class_name - (constant)))))))) - (rest_positional - (parameter - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (union_type - (type - (class_type - (class_name - (constant)))) - (type - (class_type - (class_name - (constant))))))))) - (var_name - (identifier)))) - (keywords - (required_keywords - (keyword + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (required_keywords - (keyword - (identifier)) - (type - (class_type - (class_name - (constant)))) - (keywords - (optional_keywords - (keyword - (identifier)) - (type - (optional_type - (type - (class_type - (class_name - (constant)))))) - (keywords - (splat_keyword - (parameter + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier)))) + (optional_positionals + (parameter + (type + (class_type + (class_name + (constant))))) + (parameter + (type + (record_type + (record_key) + (type + (class_type + (class_name + (constant)))) + (record_key) + (type + (class_type + (class_name + (constant)))))))) + (rest_positional + (parameter + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (union_type + (type + (class_type + (class_name + (constant)))) + (type + (class_type + (class_name + (constant))))))))) + (var_name + (identifier)))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (required_keywords + (keyword + (identifier)) + (type + (class_type + (class_name + (constant)))) + (keywords + (optional_keywords + (keyword + (identifier)) + (type + (optional_type + (type + (class_type + (class_name + (constant)))))) + (keywords + (splat_keyword + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier)))))))))))) + (block + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant)))) + (var_name + (identifier))))) (type - (class_type + (builtin_type))) + (type + (class_type (class_name - (constant)))) - (var_name - (identifier)))))))))))) - (block - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant)))) - (var_name - (identifier))))) - (type - (builtin_type))) - (type - (class_type - (class_name - (constant)))))))))) + (constant))))))))))) -================== +================================================================================ constant name method -================== +================================================================================ class Foo def Bar: () -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (constant)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (constant)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ ? end method -================== +================================================================================ class Foo def foo?: () -> bool end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier_suffix - (identifier))) - (method_types - (method_type - (parameters) - (type - (builtin_type)))))))) - - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier_suffix + (identifier))) + (method_types + (method_type + (method_type_body + (parameters) + (type + (builtin_type))))))))) + +================================================================================ operator method -================== +================================================================================ class Foo def +: (Integer) -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (operator)) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (operator)) + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ setter method -================== +================================================================================ class Foo def foo=: (Integer) -> void end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (setter - (identifier))) - (method_types - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (builtin_type)))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (setter + (identifier))) + (method_types + (method_type + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (builtin_type))))))))) + +================================================================================ multibyte method name -================== +================================================================================ class Foo def ใƒ†ใ‚นใƒˆ: () -> Integer end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type - (parameters) - (type - (class_type - (class_name - (constant)))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant))))))))))) + +================================================================================ has method type parameters -================== +================================================================================ class Foo def foo: [A] () -> Array[A] end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type_parameters - (type_variable - (constant))) - (method_type - (parameters) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant))))))))))))) - -================== + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_parameters + (type_variable + (constant))) + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant)))))))))))))) + +================================================================================ method type overload -================== +================================================================================ class Foo def foo: [A] () -> Array[A] | [B] (B) -> Array[B] end ---- +-------------------------------------------------------------------------------- (program - (class_decl - (class_name - (constant)) - (members - (method_member - (method_name - (identifier)) - (method_types - (method_type_parameters - (type_variable - (constant))) - (method_type - (parameters) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant)))))))) - (method_type_parameters - (type_variable - (constant))) - (method_type - (parameters - (required_positionals - (parameter - (type - (class_type - (class_name - (constant))))))) - (type - (class_type - (class_name - (constant)) - (type_arguments - (type - (class_type - (class_name - (constant))))))))))))) + (class_decl + (class_name + (constant)) + (members + (method_member + (method_name + (identifier)) + (method_types + (method_type + (method_type_parameters + (type_variable + (constant))) + (method_type_body + (parameters) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant))))))))) + (method_type + (method_type_parameters + (type_variable + (constant))) + (method_type_body + (parameters + (required_positionals + (parameter + (type + (class_type + (class_name + (constant))))))) + (type + (class_type + (class_name + (constant)) + (type_arguments + (type + (class_type + (class_name + (constant))))))))))))))