diff --git a/grammar.js b/grammar.js index 5e138bd..1e199c0 100644 --- a/grammar.js +++ b/grammar.js @@ -15,6 +15,7 @@ module.exports = grammar({ $._no_parantheses_type, $._parantheses_type, $._nestable_decls, + $._attribute_name, ], conflicts: $ => [ @@ -170,8 +171,8 @@ module.exports = grammar({ ), decl: $ => seq( - alias(repeat($.annotation), $.annotations), - choice( + field("annotations", alias(repeat($.annotation), $.annotations)), + field("body", choice( $.class_decl, $.module_decl, $.class_alias_decl, @@ -180,7 +181,7 @@ module.exports = grammar({ $.type_alias_decl, $.const_decl, $.global_decl, - ) + )) ), _nestable_decls: $ => choice( @@ -196,46 +197,52 @@ module.exports = grammar({ class_decl: $ => choice( seq( "class", - $.class_name, - optional($.module_type_parameters), - optional($.superclass), - alias(repeat(choice($.member, $._nestable_decls)), $.members), + field("name", $.class_name), + field("type_parameters", optional($.module_type_parameters)), + field("superclass", optional($.superclass)), + field("body", alias(repeat(choice($.member, $._nestable_decls)), $.members)), "end" ) ), - superclass: $ => seq("<", $.class_name, optional($.type_arguments)), + superclass: $ => seq("<", field("name", $.class_name), field("type_arguments", optional($.type_arguments))), module_decl: $ => choice( seq( "module", - alias($.class_name, $.module_name), - optional($.module_type_parameters), - optional($.module_self_type_binds), - alias(repeat(choice($.member, $._nestable_decls)), $.members), + field("name", alias($.class_name, $.module_name)), + field("type_parameters", optional($.module_type_parameters)), + field("self_type_binds", optional($.module_self_type_binds)), + field("body", alias(repeat(choice($.member, $._nestable_decls)), $.members)), "end" ) ), module_self_type_binds: $ => seq(":", $.module_self_types), - class_alias_decl: $ => seq("class", field("new_name", $.class_name), "=", field("origin_name", $.class_name)), - module_alias_decl: $ => seq("module", field("new_name", alias($.class_name, $.module_name)), "=", field("origin_name", alias($.class_name, $.module_name))), + class_alias_decl: $ => seq("class", field("name", $.class_name), "=", field("origin_name", $.class_name)), + module_alias_decl: $ => seq("module", field("name", alias($.class_name, $.module_name)), "=", field("origin_name", alias($.class_name, $.module_name))), module_self_types: $ => choice( seq($.class_name, optional($.type_arguments), optional(seq(",", $.module_self_types))), seq($.interface_name, optional($.type_arguments), optional(seq(",", $.module_self_types))), ), - interface_decl: $ => seq("interface", $.interface_name, optional($.module_type_parameters), alias(repeat($.interface_member), $.interface_members), "end"), + interface_decl: $ => seq( + "interface", + field("name", $.interface_name), + field("type_parameters", optional($.module_type_parameters)), + field("body", alias(repeat($.interface_member), $.interface_members)), + "end" + ), interface_member: $ => seq( - alias(repeat($.annotation), $.annotations), - choice( + field("annotations", alias(repeat($.annotation), $.annotations)), + field("body", choice( $.method_member, $.include_member, $.alias_member, - ) + )) ), type_alias_decl: $ => seq("type", $.alias_name, optional($.module_type_parameters), "=", $.type), @@ -331,8 +338,8 @@ module.exports = grammar({ ), member: $ => seq( - alias(repeat($.annotation), $.annotations), - choice( + field("annotations", alias(repeat($.annotation), $.annotations)), + field("body", choice( $.ivar_member, $.method_member, prec.right($.attribute_member), @@ -341,22 +348,25 @@ module.exports = grammar({ $.prepend_member, $.alias_member, prec.left($.visibility_member), - ) + )) ), ivar_member: $ => choice( - seq($.ivar_name, ":", $.type), - seq($.self, ".", $.ivar_name, ":", $.type), - seq($.cvar_name, ":", $.type), + seq(field("name", $.ivar_name), ":", $.type), + seq(field("name", seq($.self, ".", $.ivar_name)), ":", $.type), + seq(field("name", $.cvar_name), ":", $.type), ), method_member: $ => choice( - seq(optional($.visibility), "def", $.method_name, ":", $.method_types), - seq(optional($.visibility), "def", $.self, ".", $.method_name, ":", $.method_types), - seq("def", $.self, "?.", $.method_name, ":", $.method_types), + seq(optional($.visibility), "def", field("name", $.method_name), ":", $.method_types), + seq(optional($.visibility), "def", field("name", seq($.self, ".", $.method_name)), ":", $.method_types), + seq("def", field("name", seq($.self, "?.", $.method_name)), ":", $.method_types), ), - method_type: $ => seq(optional($.method_type_parameters), alias(repeat($.annotation), $.annotations), $.method_type_body), + method_type: $ => seq( + field("type_parameters", optional($.method_type_parameters)), + field("annotations", alias(repeat($.annotation), $.annotations)), + field("body", $.method_type_body)), method_types: $ => choice( sep1($.method_type, "|"), @@ -366,36 +376,29 @@ module.exports = grammar({ method_type_parameters: $ => seq("[", commaSep1($.type_variable), "]"), attribute_member: $ => choice( - seq(optional($.visibility), $.attribyte_type, optional(seq($.self, ".")), $.method_name, ":", $.type), - seq(optional($.visibility), $.attribyte_type, optional(seq($.self, ".")), $.method_name, "(", $.ivar_name, ")", ":", $.type), - seq(optional($.visibility), $.attribyte_type, optional(seq($.self, ".")), $.method_name, "()", ":", $.type), + seq(optional($.visibility), $.attribyte_type, field("name", $._attribute_name), ":", $.type), + seq(optional($.visibility), $.attribyte_type, field("name", $._attribute_name), "(", $.ivar_name, ")", ":", $.type), + seq(optional($.visibility), $.attribyte_type, field("name", $._attribute_name), "()", ":", $.type), ), + _attribute_name: $ => seq(optional(seq($.self, ".")), $.method_name), + visibility_member : $ => seq($.visibility, token.immediate(/\n/)), visibility: $ => choice("public", "private"), attribyte_type: $ => choice("attr_reader", "attr_writer", "attr_accessor"), - include_member: $ => choice( - seq("include", $.class_name, optional($.type_arguments)), - seq("include", $.interface_name, optional($.type_arguments)), - ), + include_member: $ => seq("include", field("name", choice($.class_name, $.interface_name)), optional($.type_arguments)), - extend_member: $ => choice( - seq("extend", $.class_name, optional($.type_arguments)), - seq("extend", $.interface_name, optional($.type_arguments)), - ), + extend_member: $ => seq("extend", field("name", choice($.class_name, $.interface_name)), optional($.type_arguments)), - prepend_member: $ => choice( - seq("prepend", $.class_name, optional($.type_arguments)), - seq("prepend", $.interface_name, optional($.type_arguments)), - ), + prepend_member: $ => seq("prepend", field("name", choice($.class_name, $.interface_name)), optional($.type_arguments)), singleton_method_name: $ => seq($.self, ".", $.method_name), alias_member: $ => choice( - seq("alias", field("new_name", $.method_name), field("origin_name", $.method_name)), - seq("alias", field("new_name", $.singleton_method_name), field("origin_name", $.singleton_method_name)), + seq("alias", field("name", $.method_name), field("origin_name", $.method_name)), + seq("alias", field("name", $.singleton_method_name), field("origin_name", $.singleton_method_name)), ), ivar_name: $ => /@[a-zA-Z]\w*/, diff --git a/src/grammar.json b/src/grammar.json index ef96146..2488fd5 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1206,53 +1206,61 @@ "type": "SEQ", "members": [ { - "type": "ALIAS", + "type": "FIELD", + "name": "annotations", "content": { - "type": "REPEAT", + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "annotation" - } - }, - "named": true, - "value": "annotations" + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "annotation" + } + }, + "named": true, + "value": "annotations" + } }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "class_decl" - }, - { - "type": "SYMBOL", - "name": "module_decl" - }, - { - "type": "SYMBOL", - "name": "class_alias_decl" - }, - { - "type": "SYMBOL", - "name": "module_alias_decl" - }, - { - "type": "SYMBOL", - "name": "interface_decl" - }, - { - "type": "SYMBOL", - "name": "type_alias_decl" - }, - { - "type": "SYMBOL", - "name": "const_decl" - }, - { - "type": "SYMBOL", - "name": "global_decl" - } - ] + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "class_decl" + }, + { + "type": "SYMBOL", + "name": "module_decl" + }, + { + "type": "SYMBOL", + "name": "class_alias_decl" + }, + { + "type": "SYMBOL", + "name": "module_alias_decl" + }, + { + "type": "SYMBOL", + "name": "interface_decl" + }, + { + "type": "SYMBOL", + "name": "type_alias_decl" + }, + { + "type": "SYMBOL", + "name": "const_decl" + }, + { + "type": "SYMBOL", + "name": "global_decl" + } + ] + } } ] }, @@ -1300,53 +1308,69 @@ "value": "class" }, { - "type": "SYMBOL", - "name": "class_name" + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "class_name" + } }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "module_type_parameters" - }, - { - "type": "BLANK" - } - ] + "type": "FIELD", + "name": "type_parameters", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "module_type_parameters" + }, + { + "type": "BLANK" + } + ] + } }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "superclass" - }, - { - "type": "BLANK" - } - ] + "type": "FIELD", + "name": "superclass", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "superclass" + }, + { + "type": "BLANK" + } + ] + } }, { - "type": "ALIAS", + "type": "FIELD", + "name": "body", "content": { - "type": "REPEAT", + "type": "ALIAS", "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "member" - }, - { - "type": "SYMBOL", - "name": "_nestable_decls" - } - ] - } - }, - "named": true, - "value": "members" + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "member" + }, + { + "type": "SYMBOL", + "name": "_nestable_decls" + } + ] + } + }, + "named": true, + "value": "members" + } }, { "type": "STRING", @@ -1364,20 +1388,28 @@ "value": "<" }, { - "type": "SYMBOL", - "name": "class_name" + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "class_name" + } }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "type_arguments" - }, - { - "type": "BLANK" - } - ] + "type": "FIELD", + "name": "type_arguments", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_arguments" + }, + { + "type": "BLANK" + } + ] + } } ] }, @@ -1392,58 +1424,74 @@ "value": "module" }, { - "type": "ALIAS", + "type": "FIELD", + "name": "name", "content": { - "type": "SYMBOL", - "name": "class_name" - }, - "named": true, - "value": "module_name" - }, - { - "type": "CHOICE", - "members": [ - { + "type": "ALIAS", + "content": { "type": "SYMBOL", - "name": "module_type_parameters" + "name": "class_name" }, - { - "type": "BLANK" - } - ] + "named": true, + "value": "module_name" + } }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "module_self_type_binds" - }, - { - "type": "BLANK" - } - ] + "type": "FIELD", + "name": "type_parameters", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "module_type_parameters" + }, + { + "type": "BLANK" + } + ] + } }, { - "type": "ALIAS", + "type": "FIELD", + "name": "self_type_binds", "content": { - "type": "REPEAT", + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "module_self_type_binds" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "ALIAS", "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "member" - }, - { - "type": "SYMBOL", - "name": "_nestable_decls" - } - ] - } - }, - "named": true, - "value": "members" + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "member" + }, + { + "type": "SYMBOL", + "name": "_nestable_decls" + } + ] + } + }, + "named": true, + "value": "members" + } }, { "type": "STRING", @@ -1475,7 +1523,7 @@ }, { "type": "FIELD", - "name": "new_name", + "name": "name", "content": { "type": "SYMBOL", "name": "class_name" @@ -1504,7 +1552,7 @@ }, { "type": "FIELD", - "name": "new_name", + "name": "name", "content": { "type": "ALIAS", "content": { @@ -1631,32 +1679,44 @@ "value": "interface" }, { - "type": "SYMBOL", - "name": "interface_name" + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "interface_name" + } }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "module_type_parameters" - }, - { - "type": "BLANK" - } - ] + "type": "FIELD", + "name": "type_parameters", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "module_type_parameters" + }, + { + "type": "BLANK" + } + ] + } }, { - "type": "ALIAS", + "type": "FIELD", + "name": "body", "content": { - "type": "REPEAT", + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "interface_member" - } - }, - "named": true, - "value": "interface_members" + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "interface_member" + } + }, + "named": true, + "value": "interface_members" + } }, { "type": "STRING", @@ -1668,33 +1728,41 @@ "type": "SEQ", "members": [ { - "type": "ALIAS", + "type": "FIELD", + "name": "annotations", "content": { - "type": "REPEAT", + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "annotation" - } - }, - "named": true, - "value": "annotations" + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "annotation" + } + }, + "named": true, + "value": "annotations" + } }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "method_member" - }, - { - "type": "SYMBOL", - "name": "include_member" - }, - { - "type": "SYMBOL", - "name": "alias_member" - } - ] + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "method_member" + }, + { + "type": "SYMBOL", + "name": "include_member" + }, + { + "type": "SYMBOL", + "name": "alias_member" + } + ] + } } ] }, @@ -2859,61 +2927,69 @@ "type": "SEQ", "members": [ { - "type": "ALIAS", + "type": "FIELD", + "name": "annotations", "content": { - "type": "REPEAT", + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "annotation" - } - }, - "named": true, - "value": "annotations" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "ivar_member" - }, - { - "type": "SYMBOL", - "name": "method_member" - }, - { - "type": "PREC_RIGHT", - "value": 0, + "type": "REPEAT", "content": { "type": "SYMBOL", - "name": "attribute_member" + "name": "annotation" } }, - { - "type": "SYMBOL", - "name": "include_member" - }, - { - "type": "SYMBOL", - "name": "extend_member" - }, - { - "type": "SYMBOL", - "name": "prepend_member" - }, - { - "type": "SYMBOL", - "name": "alias_member" - }, - { - "type": "PREC_LEFT", - "value": 0, - "content": { + "named": true, + "value": "annotations" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ivar_member" + }, + { + "type": "SYMBOL", + "name": "method_member" + }, + { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SYMBOL", + "name": "attribute_member" + } + }, + { + "type": "SYMBOL", + "name": "include_member" + }, + { "type": "SYMBOL", - "name": "visibility_member" + "name": "extend_member" + }, + { + "type": "SYMBOL", + "name": "prepend_member" + }, + { + "type": "SYMBOL", + "name": "alias_member" + }, + { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "SYMBOL", + "name": "visibility_member" + } } - } - ] + ] + } } ] }, @@ -2924,8 +3000,12 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "ivar_name" + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "ivar_name" + } }, { "type": "STRING", @@ -2941,16 +3021,25 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "self" - }, - { - "type": "STRING", - "value": "." - }, - { - "type": "SYMBOL", - "name": "ivar_name" + "type": "FIELD", + "name": "name", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "self" + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "SYMBOL", + "name": "ivar_name" + } + ] + } }, { "type": "STRING", @@ -2966,8 +3055,12 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "cvar_name" + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "cvar_name" + } }, { "type": "STRING", @@ -3004,8 +3097,12 @@ "value": "def" }, { - "type": "SYMBOL", - "name": "method_name" + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "method_name" + } }, { "type": "STRING", @@ -3037,16 +3134,25 @@ "value": "def" }, { - "type": "SYMBOL", - "name": "self" - }, - { - "type": "STRING", - "value": "." - }, - { - "type": "SYMBOL", - "name": "method_name" + "type": "FIELD", + "name": "name", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "self" + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "SYMBOL", + "name": "method_name" + } + ] + } }, { "type": "STRING", @@ -3066,16 +3172,25 @@ "value": "def" }, { - "type": "SYMBOL", - "name": "self" - }, - { - "type": "STRING", - "value": "?." - }, - { - "type": "SYMBOL", - "name": "method_name" + "type": "FIELD", + "name": "name", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "self" + }, + { + "type": "STRING", + "value": "?." + }, + { + "type": "SYMBOL", + "name": "method_name" + } + ] + } }, { "type": "STRING", @@ -3093,32 +3208,44 @@ "type": "SEQ", "members": [ { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "method_type_parameters" - }, - { - "type": "BLANK" - } - ] + "type": "FIELD", + "name": "type_parameters", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "method_type_parameters" + }, + { + "type": "BLANK" + } + ] + } }, { - "type": "ALIAS", + "type": "FIELD", + "name": "annotations", "content": { - "type": "REPEAT", + "type": "ALIAS", "content": { - "type": "SYMBOL", - "name": "annotation" - } - }, - "named": true, - "value": "annotations" + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "annotation" + } + }, + "named": true, + "value": "annotations" + } }, { - "type": "SYMBOL", - "name": "method_type_body" + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "method_type_body" + } } ] }, @@ -3214,32 +3341,15 @@ }, { "type": "SYMBOL", - "name": "attribyte_type" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "self" - }, - { - "type": "STRING", - "value": "." - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "SYMBOL", - "name": "method_name" + "name": "attribyte_type" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_attribute_name" + } }, { "type": "STRING", @@ -3271,29 +3381,12 @@ "name": "attribyte_type" }, { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "self" - }, - { - "type": "STRING", - "value": "." - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "SYMBOL", - "name": "method_name" + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_attribute_name" + } }, { "type": "STRING", @@ -3337,29 +3430,12 @@ "name": "attribyte_type" }, { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "self" - }, - { - "type": "STRING", - "value": "." - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "SYMBOL", - "name": "method_name" + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_attribute_name" + } }, { "type": "STRING", @@ -3377,6 +3453,36 @@ } ] }, + "_attribute_name": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "self" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "method_name" + } + ] + }, "visibility_member": { "type": "SEQ", "members": [ @@ -3424,165 +3530,114 @@ ] }, "include_member": { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "include" - }, - { - "type": "SYMBOL", - "name": "class_name" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "type_arguments" - }, - { - "type": "BLANK" - } - ] - } - ] + "type": "STRING", + "value": "include" }, { - "type": "SEQ", + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "class_name" + }, + { + "type": "SYMBOL", + "name": "interface_name" + } + ] + } + }, + { + "type": "CHOICE", "members": [ - { - "type": "STRING", - "value": "include" - }, { "type": "SYMBOL", - "name": "interface_name" + "name": "type_arguments" }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "type_arguments" - }, - { - "type": "BLANK" - } - ] + "type": "BLANK" } ] } ] }, "extend_member": { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "extend" - }, - { - "type": "SYMBOL", - "name": "class_name" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "type_arguments" - }, - { - "type": "BLANK" - } - ] - } - ] + "type": "STRING", + "value": "extend" }, { - "type": "SEQ", + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "class_name" + }, + { + "type": "SYMBOL", + "name": "interface_name" + } + ] + } + }, + { + "type": "CHOICE", "members": [ - { - "type": "STRING", - "value": "extend" - }, { "type": "SYMBOL", - "name": "interface_name" + "name": "type_arguments" }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "type_arguments" - }, - { - "type": "BLANK" - } - ] + "type": "BLANK" } ] } ] }, "prepend_member": { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "prepend" - }, - { - "type": "SYMBOL", - "name": "class_name" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "type_arguments" - }, - { - "type": "BLANK" - } - ] - } - ] + "type": "STRING", + "value": "prepend" }, { - "type": "SEQ", + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "class_name" + }, + { + "type": "SYMBOL", + "name": "interface_name" + } + ] + } + }, + { + "type": "CHOICE", "members": [ - { - "type": "STRING", - "value": "prepend" - }, { "type": "SYMBOL", - "name": "interface_name" + "name": "type_arguments" }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "type_arguments" - }, - { - "type": "BLANK" - } - ] + "type": "BLANK" } ] } @@ -3617,7 +3672,7 @@ }, { "type": "FIELD", - "name": "new_name", + "name": "name", "content": { "type": "SYMBOL", "name": "method_name" @@ -3642,7 +3697,7 @@ }, { "type": "FIELD", - "name": "new_name", + "name": "name", "content": { "type": "SYMBOL", "name": "singleton_method_name" @@ -3941,7 +3996,8 @@ "inline": [ "_no_parantheses_type", "_parantheses_type", - "_nestable_decls" + "_nestable_decls", + "_attribute_name" ], "supertypes": [] } diff --git a/src/node-types.json b/src/node-types.json index c3ce735..7264dd1 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -3,7 +3,7 @@ "type": "alias_member", "named": true, "fields": { - "new_name": { + "name": { "multiple": false, "required": true, "types": [ @@ -104,7 +104,26 @@ { "type": "attribute_member", "named": true, - "fields": {}, + "fields": { + "name": { + "multiple": true, + "required": true, + "types": [ + { + "type": ".", + "named": false + }, + { + "type": "method_name", + "named": true + }, + { + "type": "self", + "named": true + } + ] + } + }, "children": { "multiple": true, "required": true, @@ -117,14 +136,6 @@ "type": "ivar_name", "named": true }, - { - "type": "method_name", - "named": true - }, - { - "type": "self", - "named": true - }, { "type": "type", "named": true @@ -206,7 +217,7 @@ "type": "class_alias_decl", "named": true, "fields": { - "new_name": { + "name": { "multiple": false, "required": true, "types": [ @@ -231,28 +242,47 @@ { "type": "class_decl", "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "class_name", - "named": true - }, - { - "type": "members", - "named": true - }, - { - "type": "module_type_parameters", - "named": true - }, - { - "type": "superclass", - "named": true - } - ] + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "members", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "class_name", + "named": true + } + ] + }, + "superclass": { + "multiple": false, + "required": false, + "types": [ + { + "type": "superclass", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "module_type_parameters", + "named": true + } + ] + } } }, { @@ -364,66 +394,80 @@ { "type": "decl", "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "annotations", - "named": true - }, - { - "type": "class_alias_decl", - "named": true - }, - { - "type": "class_decl", - "named": true - }, - { - "type": "const_decl", - "named": true - }, - { - "type": "global_decl", - "named": true - }, - { - "type": "interface_decl", - "named": true - }, - { - "type": "module_alias_decl", - "named": true - }, - { - "type": "module_decl", - "named": true - }, - { - "type": "type_alias_decl", - "named": true - } - ] + "fields": { + "annotations": { + "multiple": false, + "required": false, + "types": [ + { + "type": "annotations", + "named": true + } + ] + }, + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "class_alias_decl", + "named": true + }, + { + "type": "class_decl", + "named": true + }, + { + "type": "const_decl", + "named": true + }, + { + "type": "global_decl", + "named": true + }, + { + "type": "interface_decl", + "named": true + }, + { + "type": "module_alias_decl", + "named": true + }, + { + "type": "module_decl", + "named": true + }, + { + "type": "type_alias_decl", + "named": true + } + ] + } } }, { "type": "extend_member", "named": true, - "fields": {}, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "class_name", + "named": true + }, + { + "type": "interface_name", + "named": true + } + ] + } + }, "children": { - "multiple": true, - "required": true, + "multiple": false, + "required": false, "types": [ - { - "type": "class_name", - "named": true - }, - { - "type": "interface_name", - "named": true - }, { "type": "type_arguments", "named": true @@ -488,19 +532,26 @@ { "type": "include_member", "named": true, - "fields": {}, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "class_name", + "named": true + }, + { + "type": "interface_name", + "named": true + } + ] + } + }, "children": { - "multiple": true, - "required": true, + "multiple": false, + "required": false, "types": [ - { - "type": "class_name", - "named": true - }, - { - "type": "interface_name", - "named": true - }, { "type": "type_arguments", "named": true @@ -511,51 +562,71 @@ { "type": "interface_decl", "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "interface_members", - "named": true - }, - { - "type": "interface_name", - "named": true - }, - { - "type": "module_type_parameters", - "named": true - } - ] + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "interface_members", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "interface_name", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "module_type_parameters", + "named": true + } + ] + } } }, { "type": "interface_member", "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "alias_member", - "named": true - }, - { - "type": "annotations", - "named": true - }, - { - "type": "include_member", - "named": true - }, - { - "type": "method_member", - "named": true - } - ] + "fields": { + "annotations": { + "multiple": false, + "required": false, + "types": [ + { + "type": "annotations", + "named": true + } + ] + }, + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "alias_member", + "named": true + }, + { + "type": "include_member", + "named": true + }, + { + "type": "method_member", + "named": true + } + ] + } } }, { @@ -640,23 +711,34 @@ { "type": "ivar_member", "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "cvar_name", - "named": true - }, - { - "type": "ivar_name", - "named": true - }, - { - "type": "self", - "named": true - }, + "fields": { + "name": { + "multiple": true, + "required": true, + "types": [ + { + "type": ".", + "named": false + }, + { + "type": "cvar_name", + "named": true + }, + { + "type": "ivar_name", + "named": true + }, + { + "type": "self", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ { "type": "type", "named": true @@ -705,48 +787,55 @@ { "type": "member", "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "alias_member", - "named": true - }, - { - "type": "annotations", - "named": true - }, - { - "type": "attribute_member", - "named": true - }, - { - "type": "extend_member", - "named": true - }, - { - "type": "include_member", - "named": true - }, - { - "type": "ivar_member", - "named": true - }, - { - "type": "method_member", - "named": true - }, - { - "type": "prepend_member", - "named": true - }, - { - "type": "visibility_member", - "named": true - } - ] + "fields": { + "annotations": { + "multiple": false, + "required": false, + "types": [ + { + "type": "annotations", + "named": true + } + ] + }, + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "alias_member", + "named": true + }, + { + "type": "attribute_member", + "named": true + }, + { + "type": "extend_member", + "named": true + }, + { + "type": "include_member", + "named": true + }, + { + "type": "ivar_member", + "named": true + }, + { + "type": "method_member", + "named": true + }, + { + "type": "prepend_member", + "named": true + }, + { + "type": "visibility_member", + "named": true + } + ] + } } }, { @@ -795,23 +884,38 @@ { "type": "method_member", "named": true, - "fields": {}, + "fields": { + "name": { + "multiple": true, + "required": true, + "types": [ + { + "type": ".", + "named": false + }, + { + "type": "?.", + "named": false + }, + { + "type": "method_name", + "named": true + }, + { + "type": "self", + "named": true + } + ] + } + }, "children": { "multiple": true, "required": true, "types": [ - { - "type": "method_name", - "named": true - }, { "type": "method_types", "named": true }, - { - "type": "self", - "named": true - }, { "type": "visibility", "named": true @@ -861,24 +965,37 @@ { "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 - } - ] + "fields": { + "annotations": { + "multiple": false, + "required": false, + "types": [ + { + "type": "annotations", + "named": true + } + ] + }, + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "method_type_body", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "method_type_parameters", + "named": true + } + ] + } } }, { @@ -938,7 +1055,7 @@ "type": "module_alias_decl", "named": true, "fields": { - "new_name": { + "name": { "multiple": false, "required": true, "types": [ @@ -963,28 +1080,47 @@ { "type": "module_decl", "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "members", - "named": true - }, - { - "type": "module_name", - "named": true - }, - { - "type": "module_self_type_binds", - "named": true - }, - { - "type": "module_type_parameters", - "named": true - } - ] + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "members", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "module_name", + "named": true + } + ] + }, + "self_type_binds": { + "multiple": false, + "required": false, + "types": [ + { + "type": "module_self_type_binds", + "named": true + } + ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "module_type_parameters", + "named": true + } + ] + } } }, { @@ -1220,19 +1356,26 @@ { "type": "prepend_member", "named": true, - "fields": {}, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "class_name", + "named": true + }, + { + "type": "interface_name", + "named": true + } + ] + } + }, "children": { - "multiple": true, - "required": true, + "multiple": false, + "required": false, "types": [ - { - "type": "class_name", - "named": true - }, - { - "type": "interface_name", - "named": true - }, { "type": "type_arguments", "named": true @@ -1474,20 +1617,27 @@ { "type": "superclass", "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "class_name", - "named": true - }, - { - "type": "type_arguments", - "named": true - } - ] + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "class_name", + "named": true + } + ] + }, + "type_arguments": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_arguments", + "named": true + } + ] + } } }, { diff --git a/src/parser.c b/src/parser.c index 07849d2..3fb05c6 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 472 +#define STATE_COUNT 490 #define LARGE_STATE_COUNT 2 #define SYMBOL_COUNT 203 #define ALIAS_COUNT 8 #define TOKEN_COUNT 108 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 6 +#define FIELD_COUNT 12 #define MAX_ALIAS_SEQUENCE_LENGTH 11 -#define PRODUCTION_ID_COUNT 24 +#define PRODUCTION_ID_COUNT 41 enum { sym_identifier = 1, @@ -1505,119 +1505,250 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { }; enum { - field_key = 1, - field_left = 2, - field_new_name = 3, - field_origin_name = 4, - field_right = 5, - field_value = 6, + field_annotations = 1, + field_body = 2, + field_key = 3, + field_left = 4, + field_name = 5, + field_origin_name = 6, + field_right = 7, + field_self_type_binds = 8, + field_superclass = 9, + field_type_arguments = 10, + field_type_parameters = 11, + field_value = 12, }; static const char * const ts_field_names[] = { [0] = NULL, + [field_annotations] = "annotations", + [field_body] = "body", [field_key] = "key", [field_left] = "left", - [field_new_name] = "new_name", + [field_name] = "name", [field_origin_name] = "origin_name", [field_right] = "right", + [field_self_type_binds] = "self_type_binds", + [field_superclass] = "superclass", + [field_type_arguments] = "type_arguments", + [field_type_parameters] = "type_parameters", [field_value] = "value", }; static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { - [4] = {.index = 0, .length = 2}, - [7] = {.index = 0, .length = 2}, - [10] = {.index = 2, .length = 2}, - [14] = {.index = 4, .length = 2}, - [15] = {.index = 6, .length = 2}, - [18] = {.index = 8, .length = 2}, - [19] = {.index = 10, .length = 4}, - [20] = {.index = 14, .length = 4}, + [1] = {.index = 0, .length = 1}, + [3] = {.index = 1, .length = 2}, + [4] = {.index = 3, .length = 1}, + [5] = {.index = 3, .length = 1}, + [6] = {.index = 4, .length = 2}, + [7] = {.index = 6, .length = 2}, + [8] = {.index = 8, .length = 2}, + [9] = {.index = 10, .length = 2}, + [11] = {.index = 4, .length = 2}, + [12] = {.index = 12, .length = 2}, + [13] = {.index = 8, .length = 2}, + [14] = {.index = 10, .length = 2}, + [15] = {.index = 10, .length = 2}, + [16] = {.index = 14, .length = 2}, + [17] = {.index = 16, .length = 2}, + [18] = {.index = 18, .length = 1}, + [19] = {.index = 19, .length = 3}, + [20] = {.index = 22, .length = 3}, + [21] = {.index = 25, .length = 3}, + [22] = {.index = 28, .length = 3}, + [23] = {.index = 31, .length = 3}, + [24] = {.index = 25, .length = 3}, + [25] = {.index = 25, .length = 3}, + [26] = {.index = 34, .length = 2}, + [27] = {.index = 36, .length = 2}, + [28] = {.index = 38, .length = 4}, + [29] = {.index = 42, .length = 4}, + [30] = {.index = 46, .length = 2}, + [31] = {.index = 48, .length = 4}, + [32] = {.index = 52, .length = 4}, + [33] = {.index = 56, .length = 3}, + [34] = {.index = 59, .length = 2}, + [35] = {.index = 61, .length = 1}, + [37] = {.index = 62, .length = 3}, + [38] = {.index = 65, .length = 3}, + [40] = {.index = 68, .length = 3}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = - {field_new_name, 1}, + {field_body, 0}, + [1] = + {field_annotations, 0}, + {field_body, 1}, + [3] = + {field_name, 1}, + [4] = + {field_name, 1}, {field_origin_name, 3}, - [2] = - {field_new_name, 1}, + [6] = + {field_name, 1}, + {field_superclass, 2}, + [8] = + {field_name, 1}, + {field_type_parameters, 2}, + [10] = + {field_body, 2}, + {field_name, 1}, + [12] = + {field_name, 1}, + {field_self_type_binds, 2}, + [14] = + {field_name, 1}, + {field_type_arguments, 2}, + [16] = + {field_name, 1}, {field_origin_name, 2}, - [4] = + [18] = + {field_name, 0}, + [19] = + {field_body, 3}, + {field_name, 1}, + {field_superclass, 2}, + [22] = + {field_name, 1}, + {field_superclass, 3}, + {field_type_parameters, 2}, + [25] = + {field_body, 3}, + {field_name, 1}, + {field_type_parameters, 2}, + [28] = + {field_body, 3}, + {field_name, 1}, + {field_self_type_binds, 2}, + [31] = + {field_name, 1}, + {field_self_type_binds, 3}, + {field_type_parameters, 2}, + [34] = {field_key, 1, .inherited = true}, {field_value, 1, .inherited = true}, - [6] = + [36] = {field_left, 0}, {field_right, 2}, - [8] = + [38] = + {field_body, 4}, + {field_name, 1}, + {field_superclass, 3}, + {field_type_parameters, 2}, + [42] = + {field_body, 4}, + {field_name, 1}, + {field_self_type_binds, 3}, + {field_type_parameters, 2}, + [46] = {field_key, 0}, {field_value, 2}, - [10] = + [48] = {field_key, 1, .inherited = true}, {field_key, 2, .inherited = true}, {field_value, 1, .inherited = true}, {field_value, 2, .inherited = true}, - [14] = + [52] = {field_key, 0, .inherited = true}, {field_key, 1, .inherited = true}, {field_value, 0, .inherited = true}, {field_value, 1, .inherited = true}, + [56] = + {field_name, 0}, + {field_name, 1}, + {field_name, 2}, + [59] = + {field_body, 1}, + {field_type_parameters, 0}, + [61] = + {field_name, 2}, + [62] = + {field_name, 1}, + {field_name, 2}, + {field_name, 3}, + [65] = + {field_annotations, 1}, + {field_body, 2}, + {field_type_parameters, 0}, + [68] = + {field_name, 2}, + {field_name, 3}, + {field_name, 4}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, - [1] = { + [2] = { [0] = alias_sym_type_name, }, - [2] = { + [3] = { [0] = alias_sym_annotations, }, - [3] = { + [5] = { [1] = alias_sym_module_name, }, - [5] = { + [9] = { [2] = alias_sym_members, }, - [6] = { + [10] = { [0] = alias_sym_type_name, [2] = alias_sym_simple_type_name, }, - [7] = { + [11] = { [1] = alias_sym_module_name, [3] = alias_sym_module_name, }, - [8] = { + [12] = { + [1] = alias_sym_module_name, + }, + [13] = { + [1] = alias_sym_module_name, + }, + [14] = { [1] = alias_sym_module_name, [2] = alias_sym_members, }, - [9] = { + [15] = { [2] = alias_sym_interface_members, }, - [11] = { + [19] = { [3] = alias_sym_members, }, - [12] = { + [21] = { + [3] = alias_sym_members, + }, + [22] = { [1] = alias_sym_module_name, [3] = alias_sym_members, }, - [13] = { + [23] = { + [1] = alias_sym_module_name, + }, + [24] = { + [1] = alias_sym_module_name, + [3] = alias_sym_members, + }, + [25] = { [3] = alias_sym_interface_members, }, - [16] = { + [28] = { [4] = alias_sym_members, }, - [17] = { + [29] = { [1] = alias_sym_module_name, [4] = alias_sym_members, }, - [18] = { + [30] = { [0] = alias_sym_record_key, }, - [21] = { + [36] = { [0] = alias_sym_keyword, }, - [22] = { + [38] = { [1] = alias_sym_annotations, }, - [23] = { + [39] = { [1] = alias_sym_keyword, }, }; @@ -1709,27 +1840,27 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [63] = 63, [64] = 64, [65] = 65, - [66] = 65, + [66] = 66, [67] = 67, [68] = 68, [69] = 69, [70] = 70, [71] = 71, [72] = 72, - [73] = 71, - [74] = 71, + [73] = 72, + [74] = 74, [75] = 75, [76] = 76, [77] = 77, [78] = 78, - [79] = 78, + [79] = 79, [80] = 80, [81] = 81, [82] = 82, [83] = 83, - [84] = 84, - [85] = 85, - [86] = 86, + [84] = 81, + [85] = 82, + [86] = 82, [87] = 87, [88] = 88, [89] = 89, @@ -1795,8 +1926,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [149] = 149, [150] = 150, [151] = 151, - [152] = 125, - [153] = 124, + [152] = 152, + [153] = 153, [154] = 154, [155] = 155, [156] = 156, @@ -1829,7 +1960,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [183] = 183, [184] = 184, [185] = 185, - [186] = 86, + [186] = 186, [187] = 187, [188] = 188, [189] = 189, @@ -1837,19 +1968,19 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [191] = 191, [192] = 192, [193] = 193, - [194] = 92, - [195] = 91, + [194] = 132, + [195] = 131, [196] = 196, [197] = 197, [198] = 198, [199] = 199, - [200] = 87, + [200] = 200, [201] = 201, - [202] = 202, - [203] = 203, - [204] = 89, + [202] = 95, + [203] = 100, + [204] = 204, [205] = 205, - [206] = 90, + [206] = 206, [207] = 207, [208] = 208, [209] = 209, @@ -1861,18 +1992,18 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [215] = 215, [216] = 216, [217] = 217, - [218] = 218, + [218] = 98, [219] = 219, [220] = 220, [221] = 221, [222] = 222, [223] = 223, [224] = 224, - [225] = 225, + [225] = 92, [226] = 226, - [227] = 227, + [227] = 93, [228] = 228, - [229] = 229, + [229] = 96, [230] = 230, [231] = 231, [232] = 232, @@ -1882,8 +2013,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [236] = 236, [237] = 237, [238] = 238, - [239] = 125, - [240] = 124, + [239] = 239, + [240] = 240, [241] = 241, [242] = 242, [243] = 243, @@ -1897,24 +2028,24 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [251] = 251, [252] = 252, [253] = 253, - [254] = 254, + [254] = 131, [255] = 255, [256] = 256, - [257] = 257, + [257] = 132, [258] = 258, [259] = 259, [260] = 260, [261] = 261, [262] = 262, [263] = 263, - [264] = 124, + [264] = 264, [265] = 265, [266] = 266, [267] = 267, [268] = 268, [269] = 269, [270] = 270, - [271] = 125, + [271] = 271, [272] = 272, [273] = 273, [274] = 274, @@ -1924,10 +2055,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [278] = 278, [279] = 279, [280] = 280, - [281] = 281, + [281] = 131, [282] = 282, [283] = 283, - [284] = 284, + [284] = 132, [285] = 285, [286] = 286, [287] = 287, @@ -2003,7 +2134,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [357] = 357, [358] = 358, [359] = 359, - [360] = 355, + [360] = 360, [361] = 361, [362] = 362, [363] = 363, @@ -2016,7 +2147,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [370] = 370, [371] = 371, [372] = 372, - [373] = 373, + [373] = 372, [374] = 374, [375] = 375, [376] = 376, @@ -2095,7 +2226,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [449] = 449, [450] = 450, [451] = 451, - [452] = 279, + [452] = 452, [453] = 453, [454] = 454, [455] = 455, @@ -2112,9 +2243,27 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [466] = 466, [467] = 467, [468] = 468, - [469] = 400, - [470] = 400, + [469] = 469, + [470] = 294, [471] = 471, + [472] = 472, + [473] = 473, + [474] = 474, + [475] = 475, + [476] = 476, + [477] = 477, + [478] = 478, + [479] = 479, + [480] = 480, + [481] = 481, + [482] = 482, + [483] = 483, + [484] = 484, + [485] = 485, + [486] = 486, + [487] = 486, + [488] = 486, + [489] = 489, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -3790,10 +3939,10 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [5] = {.lex_state = 60}, [6] = {.lex_state = 60}, [7] = {.lex_state = 60}, - [8] = {.lex_state = 61}, - [9] = {.lex_state = 60}, - [10] = {.lex_state = 61}, - [11] = {.lex_state = 60}, + [8] = {.lex_state = 60}, + [9] = {.lex_state = 61}, + [10] = {.lex_state = 60}, + [11] = {.lex_state = 61}, [12] = {.lex_state = 60}, [13] = {.lex_state = 60}, [14] = {.lex_state = 60}, @@ -3845,15 +3994,15 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [60] = {.lex_state = 60}, [61] = {.lex_state = 60}, [62] = {.lex_state = 60}, - [63] = {.lex_state = 61}, - [64] = {.lex_state = 61}, - [65] = {.lex_state = 12}, - [66] = {.lex_state = 12}, - [67] = {.lex_state = 12}, - [68] = {.lex_state = 12}, - [69] = {.lex_state = 12}, - [70] = {.lex_state = 12}, - [71] = {.lex_state = 12}, + [63] = {.lex_state = 60}, + [64] = {.lex_state = 60}, + [65] = {.lex_state = 60}, + [66] = {.lex_state = 60}, + [67] = {.lex_state = 60}, + [68] = {.lex_state = 60}, + [69] = {.lex_state = 60}, + [70] = {.lex_state = 61}, + [71] = {.lex_state = 61}, [72] = {.lex_state = 12}, [73] = {.lex_state = 12}, [74] = {.lex_state = 12}, @@ -3862,27 +4011,27 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [77] = {.lex_state = 12}, [78] = {.lex_state = 12}, [79] = {.lex_state = 12}, - [80] = {.lex_state = 61}, - [81] = {.lex_state = 61}, - [82] = {.lex_state = 61}, - [83] = {.lex_state = 61}, - [84] = {.lex_state = 61}, - [85] = {.lex_state = 63}, + [80] = {.lex_state = 12}, + [81] = {.lex_state = 12}, + [82] = {.lex_state = 12}, + [83] = {.lex_state = 12}, + [84] = {.lex_state = 12}, + [85] = {.lex_state = 12}, [86] = {.lex_state = 12}, - [87] = {.lex_state = 12}, + [87] = {.lex_state = 61}, [88] = {.lex_state = 61}, - [89] = {.lex_state = 12}, - [90] = {.lex_state = 12}, - [91] = {.lex_state = 12}, + [89] = {.lex_state = 61}, + [90] = {.lex_state = 61}, + [91] = {.lex_state = 61}, [92] = {.lex_state = 12}, - [93] = {.lex_state = 61}, + [93] = {.lex_state = 12}, [94] = {.lex_state = 61}, - [95] = {.lex_state = 61}, - [96] = {.lex_state = 61}, - [97] = {.lex_state = 61}, - [98] = {.lex_state = 61}, + [95] = {.lex_state = 12}, + [96] = {.lex_state = 12}, + [97] = {.lex_state = 63}, + [98] = {.lex_state = 12}, [99] = {.lex_state = 61}, - [100] = {.lex_state = 61}, + [100] = {.lex_state = 12}, [101] = {.lex_state = 61}, [102] = {.lex_state = 61}, [103] = {.lex_state = 61}, @@ -3906,24 +4055,24 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [121] = {.lex_state = 61}, [122] = {.lex_state = 61}, [123] = {.lex_state = 61}, - [124] = {.lex_state = 12}, - [125] = {.lex_state = 12}, - [126] = {.lex_state = 12}, - [127] = {.lex_state = 60}, + [124] = {.lex_state = 61}, + [125] = {.lex_state = 61}, + [126] = {.lex_state = 61}, + [127] = {.lex_state = 61}, [128] = {.lex_state = 61}, [129] = {.lex_state = 61}, - [130] = {.lex_state = 60}, - [131] = {.lex_state = 60}, - [132] = {.lex_state = 61}, - [133] = {.lex_state = 60}, + [130] = {.lex_state = 61}, + [131] = {.lex_state = 12}, + [132] = {.lex_state = 12}, + [133] = {.lex_state = 12}, [134] = {.lex_state = 60}, [135] = {.lex_state = 61}, - [136] = {.lex_state = 61}, - [137] = {.lex_state = 60}, - [138] = {.lex_state = 61}, + [136] = {.lex_state = 60}, + [137] = {.lex_state = 61}, + [138] = {.lex_state = 60}, [139] = {.lex_state = 61}, - [140] = {.lex_state = 61}, - [141] = {.lex_state = 61}, + [140] = {.lex_state = 60}, + [141] = {.lex_state = 60}, [142] = {.lex_state = 61}, [143] = {.lex_state = 61}, [144] = {.lex_state = 61}, @@ -3932,18 +4081,18 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [147] = {.lex_state = 61}, [148] = {.lex_state = 61}, [149] = {.lex_state = 61}, - [150] = {.lex_state = 60}, - [151] = {.lex_state = 60}, - [152] = {.lex_state = 63}, - [153] = {.lex_state = 63}, - [154] = {.lex_state = 60}, - [155] = {.lex_state = 60}, - [156] = {.lex_state = 60}, - [157] = {.lex_state = 60}, - [158] = {.lex_state = 60}, + [150] = {.lex_state = 61}, + [151] = {.lex_state = 61}, + [152] = {.lex_state = 61}, + [153] = {.lex_state = 61}, + [154] = {.lex_state = 61}, + [155] = {.lex_state = 61}, + [156] = {.lex_state = 61}, + [157] = {.lex_state = 61}, + [158] = {.lex_state = 61}, [159] = {.lex_state = 60}, - [160] = {.lex_state = 60}, - [161] = {.lex_state = 60}, + [160] = {.lex_state = 61}, + [161] = {.lex_state = 61}, [162] = {.lex_state = 60}, [163] = {.lex_state = 60}, [164] = {.lex_state = 60}, @@ -3976,8 +4125,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [191] = {.lex_state = 60}, [192] = {.lex_state = 60}, [193] = {.lex_state = 60}, - [194] = {.lex_state = 60}, - [195] = {.lex_state = 60}, + [194] = {.lex_state = 63}, + [195] = {.lex_state = 63}, [196] = {.lex_state = 60}, [197] = {.lex_state = 60}, [198] = {.lex_state = 60}, @@ -4010,7 +4159,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [225] = {.lex_state = 60}, [226] = {.lex_state = 60}, [227] = {.lex_state = 60}, - [228] = {.lex_state = 61}, + [228] = {.lex_state = 60}, [229] = {.lex_state = 60}, [230] = {.lex_state = 60}, [231] = {.lex_state = 60}, @@ -4021,13 +4170,13 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [236] = {.lex_state = 60}, [237] = {.lex_state = 60}, [238] = {.lex_state = 60}, - [239] = {.lex_state = 63}, - [240] = {.lex_state = 63}, + [239] = {.lex_state = 60}, + [240] = {.lex_state = 60}, [241] = {.lex_state = 60}, [242] = {.lex_state = 60}, [243] = {.lex_state = 60}, [244] = {.lex_state = 60}, - [245] = {.lex_state = 0}, + [245] = {.lex_state = 61}, [246] = {.lex_state = 60}, [247] = {.lex_state = 60}, [248] = {.lex_state = 60}, @@ -4036,107 +4185,107 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [251] = {.lex_state = 60}, [252] = {.lex_state = 60}, [253] = {.lex_state = 60}, - [254] = {.lex_state = 60}, + [254] = {.lex_state = 63}, [255] = {.lex_state = 60}, - [256] = {.lex_state = 16}, - [257] = {.lex_state = 61}, - [258] = {.lex_state = 0}, - [259] = {.lex_state = 0}, - [260] = {.lex_state = 0}, - [261] = {.lex_state = 0}, + [256] = {.lex_state = 60}, + [257] = {.lex_state = 63}, + [258] = {.lex_state = 60}, + [259] = {.lex_state = 60}, + [260] = {.lex_state = 60}, + [261] = {.lex_state = 60}, [262] = {.lex_state = 0}, - [263] = {.lex_state = 61}, - [264] = {.lex_state = 16}, - [265] = {.lex_state = 0}, - [266] = {.lex_state = 61}, + [263] = {.lex_state = 60}, + [264] = {.lex_state = 60}, + [265] = {.lex_state = 60}, + [266] = {.lex_state = 60}, [267] = {.lex_state = 60}, - [268] = {.lex_state = 0}, - [269] = {.lex_state = 0}, - [270] = {.lex_state = 5}, - [271] = {.lex_state = 16}, - [272] = {.lex_state = 0}, - [273] = {.lex_state = 61}, + [268] = {.lex_state = 60}, + [269] = {.lex_state = 60}, + [270] = {.lex_state = 16}, + [271] = {.lex_state = 60}, + [272] = {.lex_state = 60}, + [273] = {.lex_state = 0}, [274] = {.lex_state = 0}, [275] = {.lex_state = 0}, - [276] = {.lex_state = 61}, + [276] = {.lex_state = 0}, [277] = {.lex_state = 61}, - [278] = {.lex_state = 61}, + [278] = {.lex_state = 0}, [279] = {.lex_state = 5}, - [280] = {.lex_state = 0}, - [281] = {.lex_state = 0}, - [282] = {.lex_state = 0}, - [283] = {.lex_state = 60}, - [284] = {.lex_state = 15}, - [285] = {.lex_state = 60}, - [286] = {.lex_state = 61}, - [287] = {.lex_state = 20}, - [288] = {.lex_state = 15}, - [289] = {.lex_state = 61}, - [290] = {.lex_state = 20}, - [291] = {.lex_state = 60}, - [292] = {.lex_state = 20}, - [293] = {.lex_state = 60}, - [294] = {.lex_state = 15}, - [295] = {.lex_state = 20}, - [296] = {.lex_state = 15}, - [297] = {.lex_state = 61}, + [280] = {.lex_state = 61}, + [281] = {.lex_state = 16}, + [282] = {.lex_state = 60}, + [283] = {.lex_state = 61}, + [284] = {.lex_state = 16}, + [285] = {.lex_state = 0}, + [286] = {.lex_state = 0}, + [287] = {.lex_state = 0}, + [288] = {.lex_state = 61}, + [289] = {.lex_state = 0}, + [290] = {.lex_state = 61}, + [291] = {.lex_state = 0}, + [292] = {.lex_state = 61}, + [293] = {.lex_state = 0}, + [294] = {.lex_state = 5}, + [295] = {.lex_state = 0}, + [296] = {.lex_state = 61}, + [297] = {.lex_state = 0}, [298] = {.lex_state = 0}, - [299] = {.lex_state = 0}, - [300] = {.lex_state = 0}, - [301] = {.lex_state = 15}, - [302] = {.lex_state = 61}, + [299] = {.lex_state = 61}, + [300] = {.lex_state = 15}, + [301] = {.lex_state = 60}, + [302] = {.lex_state = 60}, [303] = {.lex_state = 61}, - [304] = {.lex_state = 0}, + [304] = {.lex_state = 60}, [305] = {.lex_state = 60}, - [306] = {.lex_state = 60}, - [307] = {.lex_state = 20}, - [308] = {.lex_state = 61}, - [309] = {.lex_state = 0}, - [310] = {.lex_state = 61}, + [306] = {.lex_state = 0}, + [307] = {.lex_state = 15}, + [308] = {.lex_state = 20}, + [309] = {.lex_state = 61}, + [310] = {.lex_state = 20}, [311] = {.lex_state = 60}, - [312] = {.lex_state = 60}, - [313] = {.lex_state = 60}, - [314] = {.lex_state = 60}, - [315] = {.lex_state = 60}, - [316] = {.lex_state = 60}, - [317] = {.lex_state = 61}, - [318] = {.lex_state = 60}, - [319] = {.lex_state = 60}, - [320] = {.lex_state = 0}, + [312] = {.lex_state = 0}, + [313] = {.lex_state = 15}, + [314] = {.lex_state = 20}, + [315] = {.lex_state = 61}, + [316] = {.lex_state = 20}, + [317] = {.lex_state = 15}, + [318] = {.lex_state = 15}, + [319] = {.lex_state = 61}, + [320] = {.lex_state = 60}, [321] = {.lex_state = 0}, - [322] = {.lex_state = 0}, - [323] = {.lex_state = 12}, - [324] = {.lex_state = 12}, + [322] = {.lex_state = 20}, + [323] = {.lex_state = 60}, + [324] = {.lex_state = 60}, [325] = {.lex_state = 0}, - [326] = {.lex_state = 60}, + [326] = {.lex_state = 61}, [327] = {.lex_state = 0}, - [328] = {.lex_state = 0}, - [329] = {.lex_state = 0}, - [330] = {.lex_state = 0}, - [331] = {.lex_state = 0}, - [332] = {.lex_state = 12}, - [333] = {.lex_state = 0}, - [334] = {.lex_state = 0}, + [328] = {.lex_state = 60}, + [329] = {.lex_state = 60}, + [330] = {.lex_state = 61}, + [331] = {.lex_state = 60}, + [332] = {.lex_state = 60}, + [333] = {.lex_state = 61}, + [334] = {.lex_state = 60}, [335] = {.lex_state = 0}, - [336] = {.lex_state = 60}, - [337] = {.lex_state = 0}, + [336] = {.lex_state = 0}, + [337] = {.lex_state = 61}, [338] = {.lex_state = 60}, - [339] = {.lex_state = 61}, - [340] = {.lex_state = 0}, - [341] = {.lex_state = 12}, - [342] = {.lex_state = 0}, - [343] = {.lex_state = 0}, + [339] = {.lex_state = 0}, + [340] = {.lex_state = 12}, + [341] = {.lex_state = 0}, + [342] = {.lex_state = 60}, + [343] = {.lex_state = 60}, [344] = {.lex_state = 0}, [345] = {.lex_state = 0}, - [346] = {.lex_state = 0}, - [347] = {.lex_state = 12}, - [348] = {.lex_state = 0}, + [346] = {.lex_state = 12}, + [347] = {.lex_state = 60}, + [348] = {.lex_state = 60}, [349] = {.lex_state = 0}, [350] = {.lex_state = 0}, [351] = {.lex_state = 0}, - [352] = {.lex_state = 60}, + [352] = {.lex_state = 0}, [353] = {.lex_state = 0}, - [354] = {.lex_state = 0}, + [354] = {.lex_state = 12}, [355] = {.lex_state = 0}, [356] = {.lex_state = 0}, [357] = {.lex_state = 0}, @@ -4144,13 +4293,13 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [359] = {.lex_state = 0}, [360] = {.lex_state = 0}, [361] = {.lex_state = 0}, - [362] = {.lex_state = 0}, + [362] = {.lex_state = 12}, [363] = {.lex_state = 0}, - [364] = {.lex_state = 0}, + [364] = {.lex_state = 12}, [365] = {.lex_state = 0}, [366] = {.lex_state = 0}, - [367] = {.lex_state = 60}, - [368] = {.lex_state = 61}, + [367] = {.lex_state = 0}, + [368] = {.lex_state = 0}, [369] = {.lex_state = 0}, [370] = {.lex_state = 0}, [371] = {.lex_state = 0}, @@ -4161,9 +4310,9 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [376] = {.lex_state = 0}, [377] = {.lex_state = 0}, [378] = {.lex_state = 0}, - [379] = {.lex_state = 0}, - [380] = {.lex_state = 18}, - [381] = {.lex_state = 0}, + [379] = {.lex_state = 18}, + [380] = {.lex_state = 0}, + [381] = {.lex_state = 60}, [382] = {.lex_state = 0}, [383] = {.lex_state = 0}, [384] = {.lex_state = 0}, @@ -4174,86 +4323,104 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [389] = {.lex_state = 0}, [390] = {.lex_state = 0}, [391] = {.lex_state = 0}, - [392] = {.lex_state = 60}, + [392] = {.lex_state = 0}, [393] = {.lex_state = 0}, - [394] = {.lex_state = 60}, + [394] = {.lex_state = 61}, [395] = {.lex_state = 0}, [396] = {.lex_state = 0}, - [397] = {.lex_state = 12}, - [398] = {.lex_state = 12}, - [399] = {.lex_state = 12}, + [397] = {.lex_state = 0}, + [398] = {.lex_state = 0}, + [399] = {.lex_state = 0}, [400] = {.lex_state = 0}, [401] = {.lex_state = 0}, [402] = {.lex_state = 0}, [403] = {.lex_state = 0}, - [404] = {.lex_state = 0}, - [405] = {.lex_state = 12}, - [406] = {.lex_state = 12}, + [404] = {.lex_state = 60}, + [405] = {.lex_state = 0}, + [406] = {.lex_state = 0}, [407] = {.lex_state = 0}, [408] = {.lex_state = 0}, [409] = {.lex_state = 12}, - [410] = {.lex_state = 60}, + [410] = {.lex_state = 12}, [411] = {.lex_state = 0}, [412] = {.lex_state = 12}, - [413] = {.lex_state = 0}, + [413] = {.lex_state = 12}, [414] = {.lex_state = 60}, [415] = {.lex_state = 0}, - [416] = {.lex_state = 12}, + [416] = {.lex_state = 0}, [417] = {.lex_state = 60}, - [418] = {.lex_state = 60}, - [419] = {.lex_state = 0}, - [420] = {.lex_state = 0}, - [421] = {.lex_state = 0}, + [418] = {.lex_state = 12}, + [419] = {.lex_state = 12}, + [420] = {.lex_state = 60}, + [421] = {.lex_state = 60}, [422] = {.lex_state = 0}, - [423] = {.lex_state = 12}, + [423] = {.lex_state = 0}, [424] = {.lex_state = 0}, [425] = {.lex_state = 0}, - [426] = {.lex_state = 60}, - [427] = {.lex_state = 0}, + [426] = {.lex_state = 0}, + [427] = {.lex_state = 60}, [428] = {.lex_state = 0}, - [429] = {.lex_state = 60}, + [429] = {.lex_state = 0}, [430] = {.lex_state = 0}, - [431] = {.lex_state = 60}, - [432] = {.lex_state = 60}, - [433] = {.lex_state = 12}, + [431] = {.lex_state = 0}, + [432] = {.lex_state = 12}, + [433] = {.lex_state = 60}, [434] = {.lex_state = 0}, - [435] = {.lex_state = 60}, + [435] = {.lex_state = 0}, [436] = {.lex_state = 0}, - [437] = {.lex_state = 60}, - [438] = {.lex_state = 0}, + [437] = {.lex_state = 0}, + [438] = {.lex_state = 12}, [439] = {.lex_state = 12}, [440] = {.lex_state = 12}, - [441] = {.lex_state = 60}, + [441] = {.lex_state = 0}, [442] = {.lex_state = 12}, - [443] = {.lex_state = 12}, - [444] = {.lex_state = 12}, + [443] = {.lex_state = 60}, + [444] = {.lex_state = 0}, [445] = {.lex_state = 0}, [446] = {.lex_state = 12}, [447] = {.lex_state = 0}, - [448] = {.lex_state = 0}, + [448] = {.lex_state = 60}, [449] = {.lex_state = 0}, [450] = {.lex_state = 0}, - [451] = {.lex_state = 0}, + [451] = {.lex_state = 60}, [452] = {.lex_state = 0}, - [453] = {.lex_state = 0}, + [453] = {.lex_state = 12}, [454] = {.lex_state = 0}, - [455] = {.lex_state = 12}, - [456] = {.lex_state = 0}, - [457] = {.lex_state = 0}, - [458] = {.lex_state = 0}, - [459] = {.lex_state = 21}, + [455] = {.lex_state = 0}, + [456] = {.lex_state = 21}, + [457] = {.lex_state = 60}, + [458] = {.lex_state = 12}, + [459] = {.lex_state = 60}, [460] = {.lex_state = 22}, - [461] = {.lex_state = 23}, - [462] = {.lex_state = 122}, - [463] = {.lex_state = 117}, - [464] = {.lex_state = 60}, - [465] = {.lex_state = 0}, + [461] = {.lex_state = 0}, + [462] = {.lex_state = 0}, + [463] = {.lex_state = 0}, + [464] = {.lex_state = 0}, + [465] = {.lex_state = 12}, [466] = {.lex_state = 0}, [467] = {.lex_state = 0}, - [468] = {.lex_state = 12}, - [469] = {.lex_state = 0}, + [468] = {.lex_state = 0}, + [469] = {.lex_state = 12}, [470] = {.lex_state = 0}, - [471] = {.lex_state = 60}, + [471] = {.lex_state = 23}, + [472] = {.lex_state = 0}, + [473] = {.lex_state = 0}, + [474] = {.lex_state = 122}, + [475] = {.lex_state = 117}, + [476] = {.lex_state = 60}, + [477] = {.lex_state = 60}, + [478] = {.lex_state = 12}, + [479] = {.lex_state = 0}, + [480] = {.lex_state = 0}, + [481] = {.lex_state = 12}, + [482] = {.lex_state = 0}, + [483] = {.lex_state = 60}, + [484] = {.lex_state = 12}, + [485] = {.lex_state = 0}, + [486] = {.lex_state = 0}, + [487] = {.lex_state = 0}, + [488] = {.lex_state = 0}, + [489] = {.lex_state = 12}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -4344,23 +4511,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_method_name_token1] = ACTIONS(1), }, [1] = { - [sym_program] = STATE(454), - [sym_namespace] = STATE(453), - [sym_use_directive] = STATE(131), - [sym_annotation] = STATE(133), - [sym_decl] = STATE(155), - [sym_class_decl] = STATE(241), - [sym_module_decl] = STATE(241), - [sym_class_alias_decl] = STATE(241), - [sym_module_alias_decl] = STATE(241), - [sym_interface_decl] = STATE(241), - [sym_type_alias_decl] = STATE(241), - [sym_const_decl] = STATE(241), - [sym_const_name] = STATE(443), - [sym_global_decl] = STATE(241), - [aux_sym_program_repeat1] = STATE(131), - [aux_sym_program_repeat2] = STATE(155), - [aux_sym_decl_repeat1] = STATE(214), + [sym_program] = STATE(428), + [sym_namespace] = STATE(422), + [sym_use_directive] = STATE(138), + [sym_annotation] = STATE(141), + [sym_decl] = STATE(193), + [sym_class_decl] = STATE(255), + [sym_module_decl] = STATE(255), + [sym_class_alias_decl] = STATE(255), + [sym_module_alias_decl] = STATE(255), + [sym_interface_decl] = STATE(255), + [sym_type_alias_decl] = STATE(255), + [sym_const_decl] = STATE(255), + [sym_const_name] = STATE(418), + [sym_global_decl] = STATE(255), + [aux_sym_program_repeat1] = STATE(138), + [aux_sym_program_repeat2] = STATE(193), + [aux_sym_decl_repeat1] = STATE(230), [ts_builtin_sym_end] = ACTIONS(5), [sym_constant] = ACTIONS(7), [anon_sym_class] = ACTIONS(9), @@ -4423,34 +4590,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_QMARK2, ACTIONS(73), 1, anon_sym_STAR_STAR, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(257), 1, + STATE(277), 1, sym_type, - STATE(334), 1, - sym_parameter, - STATE(345), 1, + STATE(336), 1, sym_namespace, STATE(363), 1, - sym_required_positionals, - STATE(364), 1, - sym_optional_positionals, - STATE(365), 1, + sym_parameter, + STATE(389), 1, sym_rest_positional, - STATE(446), 1, - sym_var_name, - STATE(448), 1, - sym_splat_keyword, - STATE(449), 1, + STATE(390), 1, + sym_optional_positionals, + STATE(391), 1, + sym_required_positionals, + STATE(455), 1, sym_keywords, + STATE(461), 1, + sym_splat_keyword, + STATE(465), 1, + sym_var_name, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(447), 2, + STATE(464), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4463,7 +4630,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4519,32 +4686,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(257), 1, + STATE(277), 1, sym_type, - STATE(335), 1, - sym_parameter, - STATE(345), 1, + STATE(336), 1, sym_namespace, - STATE(370), 1, - sym_trailing_positionals, - STATE(371), 1, + STATE(366), 1, + sym_parameter, + STATE(383), 1, sym_rest_positional, - STATE(428), 1, - sym_keywords, - STATE(446), 1, - sym_var_name, - STATE(448), 1, + STATE(387), 1, + sym_trailing_positionals, + STATE(461), 1, sym_splat_keyword, + STATE(465), 1, + sym_var_name, + STATE(467), 1, + sym_keywords, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(447), 2, + STATE(464), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4557,7 +4724,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4613,32 +4780,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(257), 1, + STATE(277), 1, sym_type, - STATE(335), 1, - sym_parameter, - STATE(345), 1, + STATE(336), 1, sym_namespace, - STATE(373), 1, - sym_rest_positional, - STATE(377), 1, + STATE(366), 1, + sym_parameter, + STATE(395), 1, sym_trailing_positionals, - STATE(425), 1, + STATE(399), 1, + sym_rest_positional, + STATE(445), 1, sym_keywords, - STATE(446), 1, - sym_var_name, - STATE(448), 1, + STATE(461), 1, sym_splat_keyword, + STATE(465), 1, + sym_var_name, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(447), 2, + STATE(464), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4651,7 +4818,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4705,30 +4872,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(257), 1, + STATE(277), 1, sym_type, - STATE(335), 1, - sym_parameter, - STATE(345), 1, + STATE(336), 1, sym_namespace, - STATE(377), 1, + STATE(366), 1, + sym_parameter, + STATE(392), 1, sym_trailing_positionals, - STATE(425), 1, + STATE(445), 1, sym_keywords, - STATE(446), 1, - sym_var_name, - STATE(448), 1, + STATE(461), 1, sym_splat_keyword, + STATE(465), 1, + sym_var_name, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(447), 2, + STATE(464), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4741,7 +4908,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4795,30 +4962,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(257), 1, + STATE(277), 1, sym_type, - STATE(335), 1, - sym_parameter, - STATE(345), 1, + STATE(336), 1, sym_namespace, STATE(366), 1, + sym_parameter, + STATE(387), 1, sym_trailing_positionals, - STATE(445), 1, - sym_keywords, - STATE(446), 1, - sym_var_name, - STATE(448), 1, + STATE(461), 1, sym_splat_keyword, + STATE(465), 1, + sym_var_name, + STATE(467), 1, + sym_keywords, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(447), 2, + STATE(464), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4831,7 +4998,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4885,30 +5052,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(257), 1, + STATE(277), 1, sym_type, - STATE(335), 1, - sym_parameter, - STATE(345), 1, + STATE(336), 1, sym_namespace, - STATE(369), 1, + STATE(366), 1, + sym_parameter, + STATE(386), 1, sym_trailing_positionals, - STATE(428), 1, + STATE(461), 1, + sym_splat_keyword, + STATE(463), 1, sym_keywords, - STATE(446), 1, + STATE(465), 1, sym_var_name, - STATE(448), 1, - sym_splat_keyword, ACTIONS(51), 2, anon_sym_true, anon_sym_false, - STATE(447), 2, + STATE(464), 2, sym_required_keywords, sym_optional_keywords, ACTIONS(39), 9, @@ -4921,7 +5088,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -4966,9 +5133,9 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(79), 1, anon_sym_LBRACK, ACTIONS(81), 1, - anon_sym_COLON, - ACTIONS(83), 1, anon_sym_end, + ACTIONS(83), 1, + anon_sym_LT, ACTIONS(85), 1, anon_sym_EQ2, ACTIONS(87), 1, @@ -4983,25 +5150,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, STATE(10), 1, sym_module_type_parameters, - STATE(13), 1, + STATE(16), 1, aux_sym_class_decl_repeat1, - STATE(15), 1, - sym_module_self_type_binds, - STATE(70), 1, + STATE(18), 1, + sym_superclass, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5013,14 +5180,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5069,32 +5236,32 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(99), 1, anon_sym_alias, ACTIONS(103), 1, - anon_sym_end, + anon_sym_COLON, ACTIONS(105), 1, - anon_sym_LT, + anon_sym_end, ACTIONS(107), 1, anon_sym_EQ2, STATE(11), 1, sym_module_type_parameters, - STATE(16), 1, + STATE(12), 1, aux_sym_class_decl_repeat1, STATE(17), 1, - sym_superclass, - STATE(70), 1, + sym_module_self_type_binds, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5106,14 +5273,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5149,8 +5316,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type, ACTIONS(77), 1, sym_self, - ACTIONS(81), 1, - anon_sym_COLON, + ACTIONS(83), 1, + anon_sym_LT, ACTIONS(87), 1, anon_sym_def, ACTIONS(93), 1, @@ -5163,25 +5330,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, ACTIONS(109), 1, anon_sym_end, - STATE(12), 1, - sym_module_self_type_binds, - STATE(19), 1, + STATE(21), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(24), 1, + sym_superclass, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5193,14 +5360,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5246,29 +5413,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(105), 1, - anon_sym_LT, + ACTIONS(103), 1, + anon_sym_COLON, ACTIONS(111), 1, anon_sym_end, - STATE(18), 1, + STATE(19), 1, + sym_module_self_type_binds, + STATE(20), 1, aux_sym_class_decl_repeat1, - STATE(23), 1, - sym_superclass, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5280,14 +5447,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5335,23 +5502,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, ACTIONS(113), 1, anon_sym_end, - STATE(20), 1, + STATE(15), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5363,14 +5530,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5418,23 +5585,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, ACTIONS(115), 1, anon_sym_end, - STATE(22), 1, + STATE(15), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5446,14 +5613,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5462,81 +5629,158 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_member, - [1500] = 33, + [1500] = 27, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, - sym_constant, - ACTIONS(9), 1, - anon_sym_class, ACTIONS(11), 1, sym__scope, - ACTIONS(15), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, - anon_sym_PERCENTa_LT, - ACTIONS(25), 1, - anon_sym_module, - ACTIONS(27), 1, - anon_sym_interface, - ACTIONS(29), 1, - anon_sym_type, - ACTIONS(77), 1, - sym_self, - ACTIONS(87), 1, - anon_sym_def, - ACTIONS(93), 1, - anon_sym_include, - ACTIONS(95), 1, + 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(87), 1, + sym_alias_name, + STATE(88), 1, + sym_class_name, + STATE(89), 1, + sym_interface_name, + STATE(277), 1, + sym_type, + STATE(336), 1, + sym_namespace, + STATE(345), 1, + sym_parameter, + STATE(432), 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(101), 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, + [1604] = 33, + ACTIONS(3), 1, + sym_comment, + ACTIONS(117), 1, + sym_constant, + ACTIONS(120), 1, + sym_self, + ACTIONS(123), 1, + anon_sym_class, + ACTIONS(126), 1, + sym__scope, + ACTIONS(129), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(132), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(135), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(138), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(141), 1, + anon_sym_PERCENTa_LT, + ACTIONS(144), 1, + anon_sym_end, + ACTIONS(146), 1, + anon_sym_module, + ACTIONS(149), 1, + anon_sym_interface, + ACTIONS(152), 1, + anon_sym_type, + ACTIONS(155), 1, + anon_sym_def, + ACTIONS(164), 1, + anon_sym_include, + ACTIONS(167), 1, anon_sym_extend, - ACTIONS(97), 1, + ACTIONS(170), 1, anon_sym_prepend, - ACTIONS(99), 1, + ACTIONS(173), 1, anon_sym_alias, - ACTIONS(117), 1, - anon_sym_end, - STATE(22), 1, + STATE(15), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, - ACTIONS(89), 2, + ACTIONS(158), 2, anon_sym_public, anon_sym_private, - ACTIONS(101), 2, + ACTIONS(176), 2, sym_ivar_name, sym_cvar_name, - ACTIONS(91), 3, + ACTIONS(161), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5545,7 +5789,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_member, - [1616] = 33, + [1720] = 33, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5582,25 +5826,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(109), 1, + ACTIONS(179), 1, anon_sym_end, - STATE(19), 1, + STATE(15), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5612,14 +5856,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5628,7 +5872,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_member, - [1732] = 33, + [1836] = 33, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5665,25 +5909,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(119), 1, + ACTIONS(181), 1, anon_sym_end, - STATE(22), 1, + STATE(13), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5695,14 +5939,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5711,7 +5955,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_member, - [1848] = 33, + [1952] = 33, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5748,25 +5992,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(111), 1, + ACTIONS(183), 1, anon_sym_end, - STATE(18), 1, + STATE(25), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5778,14 +6022,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5794,7 +6038,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_member, - [1964] = 33, + [2068] = 33, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5831,25 +6075,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(121), 1, + ACTIONS(185), 1, anon_sym_end, STATE(22), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5861,14 +6105,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5877,7 +6121,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_member, - [2080] = 33, + [2184] = 33, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5914,25 +6158,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(123), 1, + ACTIONS(187), 1, anon_sym_end, - STATE(22), 1, + STATE(15), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -5944,14 +6188,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -5960,7 +6204,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_member, - [2196] = 33, + [2300] = 33, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -5997,25 +6241,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(125), 1, + ACTIONS(189), 1, anon_sym_end, - STATE(22), 1, + STATE(15), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -6027,14 +6271,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -6043,158 +6287,81 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_member, - [2312] = 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(80), 1, - sym_class_name, - STATE(82), 1, - sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(257), 1, - sym_type, - STATE(321), 1, - sym_parameter, - STATE(345), 1, - sym_namespace, - STATE(398), 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(111), 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, [2416] = 33, ACTIONS(3), 1, sym_comment, - ACTIONS(127), 1, + ACTIONS(7), 1, sym_constant, - ACTIONS(130), 1, - sym_self, - ACTIONS(133), 1, + ACTIONS(9), 1, anon_sym_class, - ACTIONS(136), 1, + ACTIONS(11), 1, sym__scope, - ACTIONS(139), 1, + ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, - ACTIONS(142), 1, + ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(145), 1, + ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(148), 1, + ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(151), 1, + ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(154), 1, - anon_sym_end, - ACTIONS(156), 1, + ACTIONS(25), 1, anon_sym_module, - ACTIONS(159), 1, + ACTIONS(27), 1, anon_sym_interface, - ACTIONS(162), 1, + ACTIONS(29), 1, anon_sym_type, - ACTIONS(165), 1, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, anon_sym_def, - ACTIONS(174), 1, + ACTIONS(93), 1, anon_sym_include, - ACTIONS(177), 1, + ACTIONS(95), 1, anon_sym_extend, - ACTIONS(180), 1, + ACTIONS(97), 1, anon_sym_prepend, - ACTIONS(183), 1, + ACTIONS(99), 1, anon_sym_alias, - STATE(22), 1, + ACTIONS(191), 1, + anon_sym_end, + STATE(15), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, - sym_visibility_member, - STATE(201), 1, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, - ACTIONS(168), 2, + ACTIONS(89), 2, anon_sym_public, anon_sym_private, - ACTIONS(186), 2, + ACTIONS(101), 2, sym_ivar_name, sym_cvar_name, - ACTIONS(171), 3, + ACTIONS(91), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -6240,25 +6407,191 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, ACTIONS(99), 1, anon_sym_alias, - ACTIONS(189), 1, + ACTIONS(193), 1, anon_sym_end, - STATE(14), 1, + STATE(15), 1, aux_sym_class_decl_repeat1, - STATE(70), 1, + STATE(74), 1, sym_attribyte_type, - STATE(130), 1, + STATE(136), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(191), 1, + STATE(205), 1, + sym_attribute_member, + STATE(228), 1, sym_visibility_member, - STATE(201), 1, + STATE(279), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(422), 1, + sym_namespace, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(215), 6, + sym_ivar_member, + sym_method_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + STATE(217), 8, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_member, + [2648] = 33, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, + ACTIONS(11), 1, + sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(25), 1, + anon_sym_module, + ACTIONS(27), 1, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(195), 1, + anon_sym_end, + STATE(23), 1, + aux_sym_class_decl_repeat1, + STATE(74), 1, + sym_attribyte_type, + STATE(136), 1, + aux_sym_decl_repeat1, + STATE(141), 1, + sym_annotation, + STATE(205), 1, sym_attribute_member, - STATE(270), 1, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, sym_visibility, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, + sym_namespace, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, + sym_ivar_name, + sym_cvar_name, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(215), 6, + sym_ivar_member, + sym_method_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + STATE(217), 8, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_member, + [2764] = 33, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, + anon_sym_class, + ACTIONS(11), 1, + sym__scope, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(25), 1, + anon_sym_module, + ACTIONS(27), 1, + anon_sym_interface, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(77), 1, + sym_self, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(95), 1, + anon_sym_extend, + ACTIONS(97), 1, + anon_sym_prepend, + ACTIONS(99), 1, + anon_sym_alias, + ACTIONS(197), 1, + anon_sym_end, + STATE(15), 1, + aux_sym_class_decl_repeat1, + STATE(74), 1, + sym_attribyte_type, + STATE(136), 1, + aux_sym_decl_repeat1, + STATE(141), 1, + sym_annotation, + STATE(205), 1, + sym_attribute_member, + STATE(228), 1, + sym_visibility_member, + STATE(279), 1, + sym_visibility, + STATE(418), 1, + sym_const_name, + STATE(422), 1, sym_namespace, ACTIONS(89), 2, anon_sym_public, @@ -6270,14 +6603,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(193), 6, + STATE(215), 6, sym_ivar_member, sym_method_member, sym_include_member, sym_extend_member, sym_prepend_member, sym_alias_member, - STATE(199), 8, + STATE(217), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -6286,7 +6619,7 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_member, - [2648] = 26, + [2880] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6319,19 +6652,19 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(257), 1, + STATE(277), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, - STATE(396), 1, + STATE(370), 1, sym_parameter, ACTIONS(51), 2, anon_sym_true, @@ -6346,7 +6679,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6361,7 +6694,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2749] = 26, + [2981] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6394,20 +6727,20 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + ACTIONS(201), 1, + anon_sym_RBRACK, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(257), 1, + STATE(283), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, - STATE(374), 1, - sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6421,7 +6754,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6436,7 +6769,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2850] = 26, + [3082] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6469,20 +6802,20 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - ACTIONS(193), 1, - anon_sym_RBRACK, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(278), 1, + STATE(277), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, + STATE(400), 1, + sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6496,7 +6829,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6511,7 +6844,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [2951] = 26, + [3183] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6544,20 +6877,20 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - ACTIONS(195), 1, - anon_sym_RBRACK, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(263), 1, + STATE(277), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, + STATE(431), 1, + sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6571,7 +6904,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6586,7 +6919,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3052] = 26, + [3284] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6619,19 +6952,19 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - ACTIONS(197), 1, + ACTIONS(203), 1, anon_sym_RBRACK, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(278), 1, + STATE(290), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -6646,7 +6979,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6661,7 +6994,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3153] = 26, + [3385] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6694,19 +7027,19 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(257), 1, + STATE(277), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, - STATE(358), 1, + STATE(380), 1, sym_parameter, ACTIONS(51), 2, anon_sym_true, @@ -6721,7 +7054,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6736,7 +7069,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3254] = 26, + [3486] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6769,20 +7102,20 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + ACTIONS(205), 1, + anon_sym_RBRACK, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(257), 1, + STATE(290), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, - STATE(388), 1, - sym_parameter, ACTIONS(51), 2, anon_sym_true, anon_sym_false, @@ -6796,7 +7129,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6811,7 +7144,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3355] = 25, + [3587] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6844,17 +7177,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(112), 1, + STATE(319), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -6869,7 +7202,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6884,7 +7217,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3453] = 25, + [3685] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6917,17 +7250,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(139), 1, + STATE(155), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -6942,7 +7275,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -6957,7 +7290,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3551] = 25, + [3783] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -6990,17 +7323,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(146), 1, + STATE(147), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7015,7 +7348,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7030,7 +7363,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3649] = 25, + [3881] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7063,17 +7396,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(276), 1, + STATE(146), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7088,7 +7421,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7103,7 +7436,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3747] = 25, + [3979] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7136,17 +7469,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(308), 1, + STATE(150), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7161,7 +7494,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7176,7 +7509,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3845] = 25, + [4077] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7209,17 +7542,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(144), 1, + STATE(145), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7234,7 +7567,80 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 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, + [4175] = 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(67), 1, + anon_sym_CARET, + ACTIONS(199), 1, + sym_identifier, + ACTIONS(209), 1, + sym_integer_literal, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, + sym_class_name, + STATE(89), 1, + sym_interface_name, + STATE(336), 1, + sym_namespace, + STATE(337), 1, + sym_type, + ACTIONS(207), 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(333), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7249,7 +7655,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [3943] = 25, + [4273] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7282,17 +7688,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(317), 1, + STATE(137), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7307,7 +7713,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7322,7 +7728,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4041] = 25, + [4371] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7355,17 +7761,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(117), 1, + STATE(290), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7380,7 +7786,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7395,7 +7801,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4139] = 25, + [4469] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7428,17 +7834,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(310), 1, + STATE(108), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7453,7 +7859,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7468,7 +7874,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4237] = 25, + [4567] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7501,17 +7907,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(278), 1, + STATE(245), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7526,7 +7932,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7541,7 +7947,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4335] = 25, + [4665] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7574,17 +7980,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(142), 1, + STATE(139), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7599,7 +8005,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7614,7 +8020,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4433] = 25, + [4763] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7643,23 +8049,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, + ACTIONS(199), 1, sym_identifier, - ACTIONS(201), 1, - sym_integer_literal, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(339), 1, + STATE(135), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, - ACTIONS(199), 2, + ACTIONS(51), 2, anon_sym_true, anon_sym_false, ACTIONS(39), 9, @@ -7672,7 +8078,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(302), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7687,7 +8093,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4531] = 25, + [4861] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7720,17 +8126,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(228), 1, + STATE(153), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7745,7 +8151,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7760,7 +8166,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4629] = 25, + [4959] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7793,17 +8199,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(141), 1, + STATE(315), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7818,7 +8224,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7833,7 +8239,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4727] = 25, + [5057] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7866,17 +8272,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(129), 1, + STATE(296), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7891,7 +8297,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7906,7 +8312,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4825] = 25, + [5155] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -7939,17 +8345,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(128), 1, + STATE(160), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -7964,7 +8370,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -7979,7 +8385,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [4923] = 25, + [5253] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8012,17 +8418,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(266), 1, + STATE(330), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8037,7 +8443,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8052,7 +8458,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5021] = 25, + [5351] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8085,17 +8491,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(286), 1, + STATE(104), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8110,7 +8516,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8125,7 +8531,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5119] = 25, + [5449] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8158,17 +8564,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(136), 1, + STATE(292), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8183,7 +8589,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8198,7 +8604,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5217] = 25, + [5547] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8231,17 +8637,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(140), 1, + STATE(107), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8256,7 +8662,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8271,7 +8677,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5315] = 25, + [5645] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8304,17 +8710,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(147), 1, + STATE(113), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8329,7 +8735,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8344,7 +8750,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5413] = 25, + [5743] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8377,17 +8783,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(120), 1, + STATE(158), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8402,7 +8808,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8417,7 +8823,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5511] = 25, + [5841] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8450,17 +8856,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(132), 1, + STATE(157), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8475,7 +8881,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8490,7 +8896,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5609] = 25, + [5939] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8523,17 +8929,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(102), 1, + STATE(114), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8548,7 +8954,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8563,7 +8969,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5707] = 25, + [6037] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8596,17 +9002,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(148), 1, + STATE(280), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8621,7 +9027,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8636,7 +9042,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5805] = 25, + [6135] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8669,17 +9075,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(273), 1, + STATE(156), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8694,7 +9100,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8709,7 +9115,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [5903] = 25, + [6233] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8742,17 +9148,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(138), 1, + STATE(149), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8767,7 +9173,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8782,7 +9188,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6001] = 25, + [6331] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8815,17 +9221,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(277), 1, + STATE(142), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8840,7 +9246,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8855,7 +9261,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6099] = 25, + [6429] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8888,17 +9294,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(122), 1, + STATE(309), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8913,7 +9319,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -8928,7 +9334,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6197] = 25, + [6527] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -8961,17 +9367,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(135), 1, + STATE(288), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -8986,7 +9392,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -9001,7 +9407,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6295] = 25, + [6625] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -9034,17 +9440,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(149), 1, + STATE(129), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -9059,7 +9465,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -9074,7 +9480,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6393] = 25, + [6723] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, @@ -9107,17 +9513,17 @@ static const uint16_t ts_small_parse_table[] = { sym_integer_literal, ACTIONS(67), 1, anon_sym_CARET, - ACTIONS(191), 1, + ACTIONS(199), 1, sym_identifier, - STATE(80), 1, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(83), 1, - sym_alias_name, - STATE(121), 1, + STATE(151), 1, sym_type, - STATE(345), 1, + STATE(336), 1, sym_namespace, ACTIONS(51), 2, anon_sym_true, @@ -9132,7 +9538,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_top, anon_sym_bot, anon_sym_void, - STATE(111), 14, + STATE(101), 14, sym_builtin_type, sym_class_type, sym_interface_type, @@ -9147,122 +9553,810 @@ static const uint16_t ts_small_parse_table[] = { sym_string_literal, sym_symbol_literal, sym_proc, - [6491] = 4, + [6821] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(207), 1, + ACTIONS(11), 1, sym__scope, - ACTIONS(203), 20, - ts_builtin_sym_end, + ACTIONS(35), 1, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, + 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(199), 1, + sym_identifier, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, + sym_class_name, + STATE(89), 1, + sym_interface_name, + STATE(152), 1, + sym_type, + STATE(336), 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(101), 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, + [6919] = 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(199), 1, + sym_identifier, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, + sym_class_name, + STATE(89), 1, + sym_interface_name, + STATE(161), 1, + sym_type, + STATE(336), 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(101), 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, + [7017] = 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(199), 1, + sym_identifier, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, + sym_class_name, + STATE(89), 1, + sym_interface_name, + STATE(143), 1, + sym_type, + STATE(336), 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(101), 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, + [7115] = 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(199), 1, + sym_identifier, + STATE(87), 1, + sym_alias_name, + STATE(88), 1, + sym_class_name, + STATE(89), 1, + sym_interface_name, + STATE(154), 1, + sym_type, + STATE(336), 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(101), 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, + [7213] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(215), 1, + sym__scope, + ACTIONS(211), 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, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, anon_sym_LT, - anon_sym_EQ2, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(205), 20, + anon_sym_EQ2, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + ACTIONS(213), 20, + sym_self, + anon_sym_class, + anon_sym_COLON, + anon_sym_use, + anon_sym_as, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + [7264] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(221), 1, + sym__scope, + ACTIONS(217), 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, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_LT, + anon_sym_EQ2, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + ACTIONS(219), 20, + sym_self, + anon_sym_class, + anon_sym_COLON, + anon_sym_use, + anon_sym_as, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + [7315] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(223), 1, + sym_identifier, + ACTIONS(225), 1, + sym_constant, + ACTIONS(227), 1, + sym_self, + ACTIONS(233), 1, + aux_sym_method_name_token1, + STATE(84), 1, + sym_method_name, + STATE(373), 1, + sym_singleton_method_name, + STATE(95), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(231), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(229), 18, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [7377] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(223), 1, + sym_identifier, + ACTIONS(225), 1, + sym_constant, + ACTIONS(227), 1, + sym_self, + ACTIONS(233), 1, + aux_sym_method_name_token1, + STATE(81), 1, + sym_method_name, + STATE(372), 1, + sym_singleton_method_name, + STATE(95), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(231), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(229), 18, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [7439] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(233), 1, + aux_sym_method_name_token1, + ACTIONS(235), 1, + sym_identifier, + ACTIONS(237), 1, + sym_constant, + ACTIONS(239), 1, sym_self, - anon_sym_class, - anon_sym_COLON, - anon_sym_use, - anon_sym_as, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, + STATE(346), 1, + sym_method_name, + STATE(95), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(231), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(229), 18, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [7498] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(233), 1, + aux_sym_method_name_token1, + ACTIONS(235), 1, + sym_identifier, + ACTIONS(237), 1, + sym_constant, + ACTIONS(241), 1, + sym_self, + STATE(446), 1, + sym_method_name, + STATE(95), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(231), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(229), 18, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [7557] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(233), 1, + aux_sym_method_name_token1, + ACTIONS(235), 1, + sym_identifier, + ACTIONS(237), 1, + sym_constant, + ACTIONS(243), 1, + sym_self, + STATE(354), 1, + sym_method_name, + STATE(95), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(231), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(229), 18, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [7616] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(233), 1, + aux_sym_method_name_token1, + ACTIONS(235), 1, + sym_identifier, + ACTIONS(237), 1, + sym_constant, + ACTIONS(245), 1, + sym_self, + STATE(478), 1, + sym_method_name, + STATE(95), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(231), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(229), 18, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [7675] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(233), 1, + aux_sym_method_name_token1, + ACTIONS(237), 1, + sym_constant, + ACTIONS(247), 1, sym_identifier, - [6542] = 4, + STATE(453), 1, + sym_method_name, + STATE(95), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(231), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(229), 18, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [7731] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(213), 1, - sym__scope, - ACTIONS(209), 20, - ts_builtin_sym_end, + ACTIONS(233), 1, + aux_sym_method_name_token1, + ACTIONS(237), 1, sym_constant, - anon_sym_RPAREN, + ACTIONS(247), 1, + sym_identifier, + STATE(469), 1, + sym_method_name, + STATE(95), 5, + sym_operator, + sym_setter, + sym_constant_setter, + sym_identifier_suffix, + sym_constant_suffix, + ACTIONS(231), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(229), 18, anon_sym_PIPE, anon_sym_AMP, - anon_sym_QMARK, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_LT, - anon_sym_EQ2, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(211), 20, - sym_self, - anon_sym_class, - anon_sym_COLON, - anon_sym_use, - anon_sym_as, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, - sym_identifier, - [6593] = 10, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + [7787] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(215), 1, - sym_identifier, - ACTIONS(217), 1, - sym_constant, - ACTIONS(219), 1, - sym_self, - ACTIONS(225), 1, + ACTIONS(233), 1, aux_sym_method_name_token1, - STATE(79), 1, + ACTIONS(237), 1, + sym_constant, + ACTIONS(247), 1, + sym_identifier, + STATE(364), 1, sym_method_name, - STATE(355), 1, - sym_singleton_method_name, - STATE(91), 5, + STATE(95), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(231), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9274,7 +10368,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(229), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9293,28 +10387,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6655] = 10, + [7843] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(215), 1, + ACTIONS(249), 1, sym_identifier, - ACTIONS(217), 1, + ACTIONS(251), 1, sym_constant, - ACTIONS(219), 1, - sym_self, - ACTIONS(225), 1, + ACTIONS(257), 1, aux_sym_method_name_token1, - STATE(78), 1, + STATE(223), 1, sym_method_name, - STATE(360), 1, - sym_singleton_method_name, - STATE(91), 5, + STATE(202), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(255), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9326,7 +10416,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(253), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9345,26 +10435,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6717] = 9, + [7899] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, + ACTIONS(233), 1, aux_sym_method_name_token1, - ACTIONS(227), 1, - sym_identifier, - ACTIONS(229), 1, + ACTIONS(237), 1, sym_constant, - ACTIONS(231), 1, - sym_self, - STATE(399), 1, + ACTIONS(247), 1, + sym_identifier, + STATE(210), 1, sym_method_name, - STATE(91), 5, + STATE(95), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(231), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9376,7 +10464,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(229), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9395,26 +10483,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6776] = 9, + [7955] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, + ACTIONS(233), 1, aux_sym_method_name_token1, - ACTIONS(227), 1, - sym_identifier, - ACTIONS(229), 1, + ACTIONS(237), 1, sym_constant, - ACTIONS(233), 1, - sym_self, - STATE(440), 1, + ACTIONS(247), 1, + sym_identifier, + STATE(362), 1, sym_method_name, - STATE(91), 5, + STATE(95), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(231), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9426,7 +10512,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(229), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9445,26 +10531,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6835] = 9, + [8011] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, + ACTIONS(257), 1, aux_sym_method_name_token1, - ACTIONS(227), 1, + ACTIONS(259), 1, sym_identifier, - ACTIONS(229), 1, + ACTIONS(261), 1, sym_constant, - ACTIONS(235), 1, - sym_self, - STATE(347), 1, + STATE(223), 1, sym_method_name, - STATE(91), 5, + STATE(202), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(255), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9476,7 +10560,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(253), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9495,26 +10579,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6894] = 9, + [8067] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, + ACTIONS(257), 1, aux_sym_method_name_token1, - ACTIONS(227), 1, + ACTIONS(259), 1, sym_identifier, - ACTIONS(229), 1, + ACTIONS(261), 1, sym_constant, - ACTIONS(237), 1, - sym_self, - STATE(332), 1, + STATE(210), 1, sym_method_name, - STATE(91), 5, + STATE(202), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(255), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9526,7 +10608,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(253), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9545,24 +10627,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [6953] = 8, + [8123] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, - aux_sym_method_name_token1, - ACTIONS(229), 1, - sym_constant, - ACTIONS(239), 1, + ACTIONS(249), 1, sym_identifier, - STATE(192), 1, + ACTIONS(251), 1, + sym_constant, + ACTIONS(257), 1, + aux_sym_method_name_token1, + STATE(210), 1, sym_method_name, - STATE(91), 5, + STATE(202), 5, sym_operator, sym_setter, sym_constant_setter, sym_identifier_suffix, sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(255), 11, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9574,7 +10656,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(253), 18, anon_sym_PIPE, anon_sym_AMP, anon_sym_CARET, @@ -9593,120 +10675,228 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7009] = 8, + [8179] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, - aux_sym_method_name_token1, - ACTIONS(229), 1, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(111), 1, + sym_type_arguments, + ACTIONS(265), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(263), 18, + ts_builtin_sym_end, sym_constant, - ACTIONS(239), 1, + 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, + [8228] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(102), 1, + sym_type_arguments, + ACTIONS(271), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_identifier, + ACTIONS(269), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8277] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(115), 1, + sym_type_arguments, + ACTIONS(275), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, sym_identifier, - STATE(412), 1, - sym_method_name, - STATE(91), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(223), 11, - anon_sym_STAR, - anon_sym_GT, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(273), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - [7065] = 8, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8326] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(241), 1, + ACTIONS(279), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, sym_identifier, - ACTIONS(243), 1, + ACTIONS(277), 20, + ts_builtin_sym_end, sym_constant, - ACTIONS(249), 1, - aux_sym_method_name_token1, - STATE(192), 1, - sym_method_name, - STATE(195), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(247), 11, - anon_sym_STAR, - anon_sym_GT, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - ACTIONS(245), 18, + anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - [7121] = 8, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_EQ2, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8371] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(249), 1, - aux_sym_method_name_token1, - ACTIONS(251), 1, + ACTIONS(283), 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(253), 1, + ACTIONS(281), 20, + ts_builtin_sym_end, sym_constant, - STATE(192), 1, - sym_method_name, - STATE(195), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(247), 11, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_EQ2, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8416] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(285), 14, + sym_self, + anon_sym_LPAREN, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9718,11 +10908,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(245), 18, + sym_identifier, + ACTIONS(287), 22, + sym_constant, anon_sym_PIPE, anon_sym_AMP, + anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -9737,24 +10931,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7177] = 8, + aux_sym_method_name_token1, + [8460] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, - aux_sym_method_name_token1, - ACTIONS(229), 1, - sym_constant, - ACTIONS(239), 1, - sym_identifier, - STATE(323), 1, - sym_method_name, - STATE(91), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(289), 14, + sym_self, + anon_sym_LPAREN, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9766,11 +10949,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + sym_identifier, + ACTIONS(291), 22, + sym_constant, anon_sym_PIPE, anon_sym_AMP, + anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -9785,72 +10972,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7233] = 8, + aux_sym_method_name_token1, + [8504] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, - aux_sym_method_name_token1, - ACTIONS(229), 1, - sym_constant, - ACTIONS(239), 1, + ACTIONS(295), 17, + sym_self, + anon_sym_class, + anon_sym_end, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, sym_identifier, - STATE(416), 1, - sym_method_name, - STATE(91), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(223), 11, - anon_sym_STAR, - anon_sym_GT, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - ACTIONS(221), 18, + ACTIONS(293), 19, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - [7289] = 8, + anon_sym_QMARK, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [8548] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(225), 1, - aux_sym_method_name_token1, - ACTIONS(229), 1, - sym_constant, - ACTIONS(239), 1, - sym_identifier, - STATE(341), 1, - sym_method_name, - STATE(91), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(223), 11, + ACTIONS(297), 14, + sym_self, + anon_sym_LPAREN, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9862,11 +11031,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(221), 18, + sym_identifier, + ACTIONS(299), 22, + sym_constant, anon_sym_PIPE, anon_sym_AMP, + anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -9881,24 +11054,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7345] = 8, + aux_sym_method_name_token1, + [8592] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(249), 1, - aux_sym_method_name_token1, - ACTIONS(251), 1, - sym_identifier, - ACTIONS(253), 1, - sym_constant, - STATE(213), 1, - sym_method_name, - STATE(195), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(247), 11, + ACTIONS(301), 14, + sym_self, + anon_sym_LPAREN, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9910,11 +11072,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(245), 18, + sym_identifier, + ACTIONS(303), 22, + sym_constant, anon_sym_PIPE, anon_sym_AMP, + anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -9929,24 +11095,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7401] = 8, + aux_sym_method_name_token1, + [8636] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(241), 1, - sym_identifier, - ACTIONS(243), 1, + ACTIONS(309), 2, + anon_sym_QMARK, + anon_sym_EQ, + ACTIONS(305), 17, + ts_builtin_sym_end, sym_constant, - ACTIONS(249), 1, - aux_sym_method_name_token1, - STATE(213), 1, - sym_method_name, - STATE(195), 5, - sym_operator, - sym_setter, - sym_constant_setter, - sym_identifier_suffix, - sym_constant_suffix, - ACTIONS(247), 11, + 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(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, + [8682] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(311), 14, + sym_self, + anon_sym_LPAREN, anon_sym_STAR, anon_sym_GT, anon_sym_LT, @@ -9958,11 +11155,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, anon_sym_LBRACK_RBRACK, anon_sym_BQUOTE, - ACTIONS(245), 18, + sym_identifier, + ACTIONS(313), 22, + sym_constant, anon_sym_PIPE, anon_sym_AMP, + anon_sym_COLON, anon_sym_CARET, anon_sym_STAR_STAR, + anon_sym_LPAREN_RPAREN, anon_sym_DOT_DOT, anon_sym_LT_EQ_GT, anon_sym_EQ_EQ_EQ, @@ -9977,14 +11178,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_AT, anon_sym_TILDE_AT, anon_sym_LBRACK_RBRACK_EQ, - [7457] = 5, + aux_sym_method_name_token1, + [8726] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, - anon_sym_LBRACK, - STATE(97), 1, - sym_type_arguments, - ACTIONS(257), 17, + ACTIONS(317), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10002,13 +11200,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(255), 18, + ACTIONS(315), 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, @@ -10021,56 +11220,51 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7506] = 3, + [8770] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(263), 17, + ACTIONS(319), 14, sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - anon_sym_include, - anon_sym_extend, - anon_sym_prepend, - anon_sym_alias, + anon_sym_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(261), 20, - ts_builtin_sym_end, + ACTIONS(321), 22, sym_constant, - anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_QMARK, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_EQ2, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - [7551] = 5, + 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, + [8814] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, - anon_sym_LBRACK, - STATE(99), 1, - sym_type_arguments, - ACTIONS(267), 17, + ACTIONS(325), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10088,7 +11282,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(265), 18, + ACTIONS(323), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10107,14 +11301,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7600] = 5, + [8857] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, - anon_sym_LBRACK, - STATE(118), 1, - sym_type_arguments, - ACTIONS(271), 17, + ACTIONS(329), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10132,7 +11322,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(269), 18, + ACTIONS(327), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10151,10 +11341,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7649] = 3, + [8900] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(275), 17, + ACTIONS(333), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10172,14 +11362,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(273), 20, + ACTIONS(331), 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, @@ -10189,22 +11378,21 @@ 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, - [7694] = 4, + [8943] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(281), 2, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, anon_sym_QMARK, - anon_sym_EQ, - ACTIONS(277), 17, + ACTIONS(335), 16, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, - anon_sym_AMP, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -10217,7 +11405,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(279), 17, + ACTIONS(337), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10230,97 +11418,15 @@ static const uint16_t ts_small_parse_table[] = { 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, - [7740] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(283), 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(285), 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, - [7784] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(287), 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, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, sym_identifier, - ACTIONS(289), 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, - [7828] = 3, + [8990] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(293), 17, + ACTIONS(345), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10338,14 +11444,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(291), 19, + ACTIONS(343), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, anon_sym_QMARK, - anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -10358,174 +11463,134 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [7872] = 3, + [9033] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(295), 14, + ACTIONS(349), 17, 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, + 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(297), 22, + ACTIONS(347), 18, + ts_builtin_sym_end, sym_constant, + anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_COLON, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_LPAREN_RPAREN, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [7916] = 3, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [9076] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(299), 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(301), 22, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(351), 16, + ts_builtin_sym_end, sym_constant, + anon_sym_RPAREN, anon_sym_PIPE, - anon_sym_AMP, - anon_sym_COLON, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_LPAREN_RPAREN, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [7960] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(303), 14, + 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_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, + 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(305), 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, - [8004] = 3, + [9123] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(307), 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(309), 22, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(355), 16, + ts_builtin_sym_end, sym_constant, + anon_sym_RPAREN, anon_sym_PIPE, - anon_sym_AMP, - anon_sym_COLON, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_LPAREN_RPAREN, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [8048] = 3, + 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(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, + [9170] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(313), 17, + ACTIONS(361), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10543,14 +11608,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(311), 19, + ACTIONS(359), 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, @@ -10563,10 +11627,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8092] = 3, + [9213] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(317), 17, + ACTIONS(307), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10584,7 +11648,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(315), 18, + ACTIONS(305), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10603,10 +11667,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8135] = 3, + [9256] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(321), 17, + ACTIONS(365), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10624,7 +11688,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(319), 18, + ACTIONS(363), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10643,10 +11707,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8178] = 3, + [9299] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(325), 17, + ACTIONS(369), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10664,7 +11728,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(323), 18, + ACTIONS(367), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10683,10 +11747,31 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8221] = 3, + [9342] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(329), 17, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(371), 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(373), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10704,13 +11789,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(327), 18, + [9389] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(375), 17, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, - anon_sym_QMARK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -10723,10 +11812,28 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8264] = 3, + 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, + [9434] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(333), 17, + ACTIONS(381), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10744,7 +11851,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(331), 18, + ACTIONS(379), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10763,10 +11870,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8307] = 3, + [9477] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(337), 17, + ACTIONS(385), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10784,7 +11891,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(335), 18, + ACTIONS(383), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10803,10 +11910,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8350] = 3, + [9520] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(341), 17, + ACTIONS(389), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10824,7 +11931,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(339), 18, + ACTIONS(387), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10843,10 +11950,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8393] = 3, + [9563] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(345), 17, + ACTIONS(393), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10864,7 +11971,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(343), 18, + ACTIONS(391), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10883,31 +11990,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8436] = 5, + [9606] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(347), 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(349), 17, + ACTIONS(397), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10925,10 +12011,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8483] = 3, + ACTIONS(395), 18, + ts_builtin_sym_end, + sym_constant, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_QMARK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [9649] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(357), 17, + ACTIONS(401), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10946,7 +12051,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(355), 18, + ACTIONS(399), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -10965,10 +12070,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8526] = 3, + [9692] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(361), 17, + ACTIONS(405), 17, sym_self, anon_sym_class, anon_sym_end, @@ -10986,7 +12091,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(359), 18, + ACTIONS(403), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11005,10 +12110,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8569] = 3, + [9735] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(365), 17, + ACTIONS(409), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11026,7 +12131,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(363), 18, + ACTIONS(407), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11045,10 +12150,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8612] = 3, + [9778] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(369), 17, + ACTIONS(413), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11066,7 +12171,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(367), 18, + ACTIONS(411), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11085,10 +12190,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8655] = 3, + [9821] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(373), 17, + ACTIONS(417), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11106,7 +12211,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(371), 18, + ACTIONS(415), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11125,10 +12230,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8698] = 3, + [9864] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(279), 17, + ACTIONS(421), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11146,7 +12251,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(277), 18, + ACTIONS(419), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11165,10 +12270,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8741] = 3, + [9907] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(377), 17, + ACTIONS(425), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11186,7 +12291,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(375), 18, + ACTIONS(423), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11205,10 +12310,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8784] = 3, + [9950] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(381), 17, + ACTIONS(429), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11226,7 +12331,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(379), 18, + ACTIONS(427), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11245,10 +12350,10 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8827] = 3, + [9993] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(385), 17, + ACTIONS(433), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11266,7 +12371,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(383), 18, + ACTIONS(431), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11285,17 +12390,18 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - [8870] = 4, + [10036] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(387), 17, + ACTIONS(435), 16, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, anon_sym_PIPE, - anon_sym_AMP, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RBRACE, @@ -11308,7 +12414,7 @@ static const uint16_t ts_small_parse_table[] = { sym_global_name, sym_ivar_name, sym_cvar_name, - ACTIONS(389), 17, + ACTIONS(437), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11326,10 +12432,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - [8915] = 3, + [10083] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(393), 17, + ACTIONS(441), 17, sym_self, anon_sym_class, anon_sym_end, @@ -11347,7 +12453,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_prepend, anon_sym_alias, sym_identifier, - ACTIONS(391), 18, + ACTIONS(439), 18, ts_builtin_sym_end, sym_constant, anon_sym_RPAREN, @@ -11363,19 +12469,159 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - [8958] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(397), 17, + sym_global_name, + sym_ivar_name, + sym_cvar_name, + [10126] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(443), 1, + anon_sym_QMARK, + ACTIONS(445), 1, + anon_sym_EQ, + ACTIONS(297), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(299), 21, + sym_constant, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + aux_sym_method_name_token1, + sym_identifier, + [10172] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(447), 1, + anon_sym_QMARK, + ACTIONS(449), 1, + anon_sym_EQ, + ACTIONS(297), 11, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + ACTIONS(299), 21, + sym_constant, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + aux_sym_method_name_token1, + sym_identifier, + [10218] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(451), 13, + sym_self, + anon_sym_STAR, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_LBRACK_RBRACK, + anon_sym_BQUOTE, + sym_identifier, + ACTIONS(453), 20, + sym_constant, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_STAR_STAR, + anon_sym_DOT_DOT, + anon_sym_LT_EQ_GT, + anon_sym_EQ_EQ_EQ, + anon_sym_EQ_TILDE, + anon_sym_GT_EQ, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_BANG_TILDE, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS_AT, + anon_sym_DASH_AT, + anon_sym_TILDE_AT, + anon_sym_LBRACK_RBRACK_EQ, + aux_sym_method_name_token1, + [10259] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(457), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(460), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(463), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(466), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(469), 1, + anon_sym_PERCENTa_LT, + STATE(134), 1, + aux_sym_decl_repeat1, + STATE(141), 1, + sym_annotation, + ACTIONS(455), 24, + sym_constant, sym_self, + anon_sym_LPAREN, anon_sym_class, - anon_sym_end, + anon_sym_LBRACE, + sym__scope, + anon_sym_DASH_GT, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, + anon_sym_QMARK2, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11386,36 +12632,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - ACTIONS(395), 18, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, + sym_ivar_name, + sym_cvar_name, + [10310] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(339), 1, anon_sym_AMP, + ACTIONS(341), 1, anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(472), 27, + ts_builtin_sym_end, + sym_constant, + sym_self, + anon_sym_class, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - [9001] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(401), 17, - sym_self, - anon_sym_class, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11426,97 +12669,87 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - ACTIONS(399), 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, + sym_ivar_name, + sym_cvar_name, + [10352] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - [9044] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(405), 17, + ACTIONS(77), 1, sym_self, - anon_sym_class, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - anon_sym_type, + ACTIONS(87), 1, anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, + ACTIONS(93), 1, anon_sym_include, + ACTIONS(95), 1, anon_sym_extend, + ACTIONS(97), 1, anon_sym_prepend, + ACTIONS(99), 1, anon_sym_alias, - sym_identifier, - ACTIONS(403), 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, + STATE(74), 1, + sym_attribyte_type, + STATE(134), 1, + aux_sym_decl_repeat1, + STATE(141), 1, + sym_annotation, + STATE(213), 1, + sym_attribute_member, + STATE(214), 1, + sym_visibility_member, + STATE(279), 1, + sym_visibility, + ACTIONS(89), 2, + anon_sym_public, + anon_sym_private, + ACTIONS(101), 2, sym_ivar_name, sym_cvar_name, - [9087] = 5, + ACTIONS(91), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + STATE(208), 6, + sym_ivar_member, + sym_method_member, + sym_include_member, + sym_extend_member, + sym_prepend_member, + sym_alias_member, + [10428] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(407), 16, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(476), 27, ts_builtin_sym_end, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, + 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, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(409), 17, - sym_self, - anon_sym_class, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11527,57 +12760,87 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [9134] = 3, + sym_ivar_name, + sym_cvar_name, + [10470] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(413), 17, - sym_self, + ACTIONS(7), 1, + sym_constant, + ACTIONS(9), 1, anon_sym_class, - anon_sym_end, + ACTIONS(11), 1, + sym__scope, + ACTIONS(13), 1, + anon_sym_use, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(25), 1, anon_sym_module, + ACTIONS(27), 1, anon_sym_interface, + ACTIONS(29), 1, anon_sym_type, - 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(411), 18, + ACTIONS(31), 1, + sym_global_name, + ACTIONS(478), 1, ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, + STATE(141), 1, + sym_annotation, + STATE(230), 1, + aux_sym_decl_repeat1, + STATE(418), 1, + sym_const_name, + STATE(422), 1, + sym_namespace, + STATE(174), 2, + sym_decl, + aux_sym_program_repeat2, + STATE(246), 2, + sym_use_directive, + aux_sym_program_repeat1, + STATE(255), 8, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + [10546] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(339), 1, anon_sym_AMP, + ACTIONS(341), 1, anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(480), 27, + ts_builtin_sym_end, + sym_constant, + sym_self, + anon_sym_class, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - [9177] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(417), 17, - sym_self, - anon_sym_class, anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11588,57 +12851,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - ACTIONS(415), 18, - ts_builtin_sym_end, + sym_ivar_name, + sym_cvar_name, + [10588] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(482), 29, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, + sym_self, + anon_sym_LPAREN, + anon_sym_class, + anon_sym_LBRACE, sym__scope, + anon_sym_DASH_GT, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, + anon_sym_module, + anon_sym_interface, + anon_sym_type, sym_global_name, + anon_sym_QMARK2, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9220] = 5, + [10623] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(419), 16, - ts_builtin_sym_end, + ACTIONS(484), 29, sym_constant, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, + sym_self, + anon_sym_LPAREN, + anon_sym_class, + anon_sym_LBRACE, sym__scope, + anon_sym_DASH_GT, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(421), 17, - sym_self, - anon_sym_class, - anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, + sym_global_name, + anon_sym_QMARK2, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11649,34 +12917,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [9267] = 5, + sym_ivar_name, + sym_cvar_name, + [10658] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(423), 16, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, + ACTIONS(474), 1, anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, + ACTIONS(486), 25, + sym_constant, + sym_self, + anon_sym_class, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, - 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, @@ -11691,34 +12952,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [9314] = 5, + sym_ivar_name, + sym_cvar_name, + [10698] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(427), 16, - ts_builtin_sym_end, - sym_constant, - anon_sym_RPAREN, + ACTIONS(474), 1, anon_sym_PIPE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, + ACTIONS(488), 25, + sym_constant, + sym_self, + anon_sym_class, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, - sym_global_name, - sym_ivar_name, - sym_cvar_name, - ACTIONS(429), 17, - sym_self, - anon_sym_class, anon_sym_end, anon_sym_module, anon_sym_interface, @@ -11733,15 +12987,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - [9361] = 3, + sym_ivar_name, + sym_cvar_name, + [10738] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(433), 17, + ACTIONS(492), 1, + anon_sym_COLON, + ACTIONS(490), 27, + sym_constant, sym_self, anon_sym_class, + sym__scope, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, anon_sym_end, + anon_sym_LT, anon_sym_module, + anon_sym_EQ2, anon_sym_interface, anon_sym_type, anon_sym_def, @@ -11754,176 +13020,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_extend, anon_sym_prepend, anon_sym_alias, - sym_identifier, - ACTIONS(431), 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, - [9404] = 5, + [10774] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(435), 1, - anon_sym_QMARK, - ACTIONS(437), 1, - anon_sym_EQ, - ACTIONS(303), 11, - anon_sym_STAR, - anon_sym_GT, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - ACTIONS(305), 21, - sym_constant, - anon_sym_PIPE, + ACTIONS(339), 1, anon_sym_AMP, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - sym_identifier, - [9450] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(439), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(441), 1, - anon_sym_EQ, - ACTIONS(303), 11, - anon_sym_STAR, - anon_sym_GT, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - ACTIONS(305), 21, + ACTIONS(494), 26, sym_constant, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - sym_identifier, - [9496] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(443), 13, sym_self, - anon_sym_STAR, - anon_sym_GT, - anon_sym_LT, - anon_sym_EQ_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_LBRACK_RBRACK, - anon_sym_BQUOTE, - sym_identifier, - ACTIONS(445), 20, - sym_constant, + anon_sym_class, anon_sym_PIPE, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_STAR_STAR, - anon_sym_DOT_DOT, - anon_sym_LT_EQ_GT, - anon_sym_EQ_EQ_EQ, - anon_sym_EQ_TILDE, - anon_sym_GT_EQ, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_BANG_TILDE, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS_AT, - anon_sym_DASH_AT, - anon_sym_TILDE_AT, - anon_sym_LBRACK_RBRACK_EQ, - aux_sym_method_name_token1, - [9537] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(449), 1, + sym__scope, anon_sym_PERCENTa_LBRACE, - ACTIONS(452), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(455), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(458), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(461), 1, anon_sym_PERCENTa_LT, - STATE(127), 1, - aux_sym_decl_repeat1, - STATE(133), 1, - sym_annotation, - ACTIONS(447), 24, - sym_constant, - sym_self, - anon_sym_LPAREN, - anon_sym_class, - anon_sym_LBRACE, - sym__scope, - anon_sym_DASH_GT, + anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, - anon_sym_QMARK2, anon_sym_def, anon_sym_public, anon_sym_private, @@ -11936,17 +13056,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9588] = 5, + [10812] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(464), 27, - ts_builtin_sym_end, + ACTIONS(496), 25, sym_constant, sym_self, anon_sym_class, @@ -11960,7 +13079,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, @@ -11973,17 +13091,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9630] = 5, + [10852] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(468), 27, - ts_builtin_sym_end, + ACTIONS(498), 25, sym_constant, sym_self, anon_sym_class, @@ -11997,7 +13114,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, @@ -12010,125 +13126,84 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9672] = 22, + [10892] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(502), 1, + anon_sym_COLON, + ACTIONS(500), 27, + sym_constant, + sym_self, + 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(77), 1, - sym_self, - ACTIONS(87), 1, - anon_sym_def, - ACTIONS(93), 1, - anon_sym_include, - ACTIONS(95), 1, - anon_sym_extend, - ACTIONS(97), 1, - anon_sym_prepend, - ACTIONS(99), 1, - anon_sym_alias, - STATE(70), 1, - sym_attribyte_type, - STATE(127), 1, - aux_sym_decl_repeat1, - STATE(133), 1, - sym_annotation, - STATE(205), 1, - sym_visibility_member, - STATE(207), 1, - sym_attribute_member, - STATE(270), 1, - sym_visibility, - ACTIONS(89), 2, + anon_sym_end, + anon_sym_LT, + anon_sym_module, + anon_sym_EQ2, + anon_sym_interface, + anon_sym_type, + anon_sym_def, anon_sym_public, anon_sym_private, - ACTIONS(101), 2, - sym_ivar_name, - sym_cvar_name, - ACTIONS(91), 3, anon_sym_attr_reader, anon_sym_attr_writer, anon_sym_attr_accessor, - STATE(208), 6, - sym_ivar_member, - sym_method_member, - sym_include_member, - sym_extend_member, - sym_prepend_member, - sym_alias_member, - [9748] = 22, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_ivar_name, + sym_cvar_name, + [10928] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(504), 25, sym_constant, - ACTIONS(9), 1, + sym_self, anon_sym_class, - ACTIONS(11), 1, sym__scope, - ACTIONS(13), 1, - anon_sym_use, - ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, - 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(470), 1, - ts_builtin_sym_end, - STATE(133), 1, - sym_annotation, - STATE(214), 1, - aux_sym_decl_repeat1, - STATE(443), 1, - sym_const_name, - STATE(453), 1, - sym_namespace, - STATE(151), 2, - sym_decl, - aux_sym_program_repeat2, - STATE(226), 2, - sym_use_directive, - aux_sym_program_repeat1, - STATE(241), 8, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - [9824] = 5, + 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, + [10968] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(472), 27, - ts_builtin_sym_end, + ACTIONS(506), 25, sym_constant, sym_self, anon_sym_class, @@ -12142,7 +13217,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, @@ -12155,27 +13229,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9866] = 2, + [11008] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(474), 29, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(508), 26, sym_constant, sym_self, - anon_sym_LPAREN, anon_sym_class, - anon_sym_LBRACE, + anon_sym_PIPE, sym__scope, - anon_sym_DASH_GT, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, + anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, - anon_sym_QMARK2, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12188,27 +13263,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9901] = 2, + [11046] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(476), 29, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(510), 25, sym_constant, sym_self, - anon_sym_LPAREN, anon_sym_class, - anon_sym_LBRACE, sym__scope, - anon_sym_DASH_GT, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, + anon_sym_end, anon_sym_module, anon_sym_interface, anon_sym_type, - sym_global_name, - anon_sym_QMARK2, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12221,18 +13298,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9936] = 4, + [11086] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(478), 26, + ACTIONS(474), 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, @@ -12255,16 +13333,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [9974] = 5, + [11126] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(480), 25, + ACTIONS(514), 25, sym_constant, sym_self, anon_sym_class, @@ -12290,16 +13368,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10014] = 5, + [11166] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, - anon_sym_LBRACK, - ACTIONS(484), 1, - anon_sym_COMMA, - STATE(181), 1, - sym_type_arguments, - ACTIONS(482), 25, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(516), 25, sym_constant, sym_self, anon_sym_class, @@ -12325,18 +13403,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10054] = 4, + [11206] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(486), 26, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(518), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12359,16 +13438,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10092] = 5, + [11246] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(488), 25, + ACTIONS(520), 25, sym_constant, sym_self, anon_sym_class, @@ -12394,16 +13473,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10132] = 5, + [11286] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(490), 25, + ACTIONS(522), 25, sym_constant, sym_self, anon_sym_class, @@ -12429,16 +13508,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10172] = 5, + [11326] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(466), 1, - anon_sym_PIPE, - ACTIONS(492), 25, + ACTIONS(267), 1, + anon_sym_LBRACK, + ACTIONS(526), 1, + anon_sym_COMMA, + STATE(200), 1, + sym_type_arguments, + ACTIONS(524), 25, sym_constant, sym_self, anon_sym_class, @@ -12464,18 +13543,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10212] = 4, + [11366] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(494), 26, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(528), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12498,15 +13578,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10250] = 3, + [11406] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(498), 1, - anon_sym_COLON, - ACTIONS(496), 27, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(530), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -12514,9 +13597,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, @@ -12531,16 +13612,60 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10286] = 5, + [11444] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(466), 1, - anon_sym_PIPE, - ACTIONS(500), 25, + ACTIONS(532), 1, + ts_builtin_sym_end, + ACTIONS(534), 1, + sym_constant, + ACTIONS(537), 1, + anon_sym_class, + ACTIONS(540), 1, + sym__scope, + ACTIONS(543), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(546), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(549), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(552), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(555), 1, + anon_sym_PERCENTa_LT, + ACTIONS(558), 1, + anon_sym_module, + ACTIONS(561), 1, + anon_sym_interface, + ACTIONS(564), 1, + anon_sym_type, + ACTIONS(567), 1, + sym_global_name, + STATE(141), 1, + sym_annotation, + STATE(230), 1, + aux_sym_decl_repeat1, + STATE(418), 1, + sym_const_name, + STATE(422), 1, + sym_namespace, + STATE(162), 2, + sym_decl, + aux_sym_program_repeat2, + STATE(255), 8, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + [11513] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(570), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12554,6 +13679,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, @@ -12566,12 +13692,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10326] = 3, + [11546] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(504), 1, - anon_sym_COLON, - ACTIONS(502), 27, + ACTIONS(572), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12582,11 +13707,10 @@ 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, + sym_global_name, anon_sym_def, anon_sym_public, anon_sym_private, @@ -12599,16 +13723,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10362] = 5, + [11579] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(466), 1, - anon_sym_PIPE, - ACTIONS(506), 25, + ACTIONS(574), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12622,6 +13741,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, @@ -12634,16 +13754,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10402] = 5, + [11612] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(466), 1, - anon_sym_PIPE, - ACTIONS(508), 25, + ACTIONS(576), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12657,6 +13772,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, @@ -12669,16 +13785,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10442] = 5, + [11645] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(466), 1, - anon_sym_PIPE, - ACTIONS(510), 25, + ACTIONS(578), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12692,6 +13803,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, @@ -12704,16 +13816,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10482] = 5, + [11678] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(466), 1, - anon_sym_PIPE, - ACTIONS(512), 25, + ACTIONS(580), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12727,6 +13834,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, @@ -12739,14 +13847,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10522] = 4, + [11711] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(516), 1, - anon_sym_PIPE, - STATE(150), 1, - aux_sym_method_types_repeat1, - ACTIONS(514), 25, + ACTIONS(582), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12760,6 +13865,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, @@ -12772,63 +13878,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10559] = 20, + [11744] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(221), 1, + sym_type_arguments, + ACTIONS(584), 25, sym_constant, - ACTIONS(9), 1, + sym_self, 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_end, anon_sym_module, - ACTIONS(27), 1, anon_sym_interface, - ACTIONS(29), 1, anon_sym_type, - ACTIONS(31), 1, - sym_global_name, - ACTIONS(519), 1, - ts_builtin_sym_end, - STATE(133), 1, - sym_annotation, - STATE(214), 1, - aux_sym_decl_repeat1, - STATE(443), 1, - sym_const_name, - STATE(453), 1, - sym_namespace, - STATE(169), 2, - sym_decl, - aux_sym_program_repeat2, - STATE(241), 8, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - [10628] = 4, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + anon_sym_include, + anon_sym_extend, + anon_sym_prepend, + anon_sym_alias, + sym_ivar_name, + sym_cvar_name, + [11781] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(521), 1, - anon_sym_QMARK, - ACTIONS(523), 1, - anon_sym_EQ, - ACTIONS(305), 25, + ACTIONS(586), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -12842,6 +13929,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, @@ -12854,14 +13942,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10665] = 4, + [11814] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(525), 1, - anon_sym_QMARK, - ACTIONS(527), 1, - anon_sym_EQ, - ACTIONS(305), 25, + ACTIONS(590), 1, + anon_sym_PIPE, + STATE(172), 1, + aux_sym_method_types_repeat1, + ACTIONS(588), 25, sym_constant, sym_self, anon_sym_class, @@ -12887,14 +13975,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10702] = 4, + [11851] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, + ACTIONS(267), 1, anon_sym_LBRACK, - STATE(209), 1, + STATE(219), 1, sym_type_arguments, - ACTIONS(529), 25, + ACTIONS(593), 25, sym_constant, sym_self, anon_sym_class, @@ -12920,7 +14008,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10739] = 20, + [11888] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -12947,20 +14035,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type, ACTIONS(31), 1, sym_global_name, - ACTIONS(470), 1, + ACTIONS(595), 1, ts_builtin_sym_end, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(214), 1, + STATE(230), 1, aux_sym_decl_repeat1, - STATE(443), 1, + STATE(418), 1, sym_const_name, - STATE(453), 1, + STATE(422), 1, sym_namespace, - STATE(169), 2, + STATE(162), 2, sym_decl, aux_sym_program_repeat2, - STATE(241), 8, + STATE(255), 8, sym_class_decl, sym_module_decl, sym_class_alias_decl, @@ -12969,75 +14057,14 @@ static const uint16_t ts_small_parse_table[] = { sym_type_alias_decl, sym_const_decl, sym_global_decl, - [10808] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(531), 27, - ts_builtin_sym_end, - sym_constant, - sym_self, - anon_sym_class, - sym__scope, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_end, - anon_sym_module, - anon_sym_interface, - 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, - [10841] = 4, + [11957] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, + ACTIONS(267), 1, anon_sym_LBRACK, - STATE(203), 1, + STATE(220), 1, sym_type_arguments, - ACTIONS(533), 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, - [10878] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(535), 27, - ts_builtin_sym_end, + ACTIONS(597), 25, sym_constant, sym_self, anon_sym_class, @@ -13051,7 +14078,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, @@ -13064,10 +14090,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10911] = 2, + [11994] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(537), 27, + ACTIONS(599), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13095,14 +14121,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10944] = 4, + [12027] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, - anon_sym_LBRACK, - STATE(210), 1, - sym_type_arguments, - ACTIONS(539), 25, + ACTIONS(603), 1, + anon_sym_PIPE, + STATE(172), 1, + aux_sym_method_types_repeat1, + ACTIONS(601), 25, sym_constant, sym_self, anon_sym_class, @@ -13128,10 +14154,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [10981] = 2, + [12064] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(541), 27, + ACTIONS(605), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13159,10 +14185,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11014] = 2, + [12097] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(543), 27, + ACTIONS(607), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13190,14 +14216,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11047] = 4, + [12130] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, - anon_sym_LBRACK, - STATE(211), 1, - sym_type_arguments, - ACTIONS(545), 25, + ACTIONS(609), 27, + ts_builtin_sym_end, sym_constant, sym_self, anon_sym_class, @@ -13211,6 +14234,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, @@ -13223,14 +14247,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11084] = 4, + [12163] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(549), 1, + ACTIONS(603), 1, anon_sym_PIPE, - STATE(150), 1, + STATE(177), 1, aux_sym_method_types_repeat1, - ACTIONS(547), 25, + ACTIONS(611), 25, sym_constant, sym_self, anon_sym_class, @@ -13256,10 +14280,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11121] = 2, + [12200] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(551), 27, + ACTIONS(613), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13287,10 +14311,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11154] = 2, + [12233] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(553), 27, + ACTIONS(615), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13318,10 +14342,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11187] = 2, + [12266] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(555), 27, + ACTIONS(617), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13349,10 +14373,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11220] = 2, + [12299] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(557), 27, + ACTIONS(619), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13380,60 +14404,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11253] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(559), 1, - ts_builtin_sym_end, - ACTIONS(561), 1, - sym_constant, - ACTIONS(564), 1, - anon_sym_class, - ACTIONS(567), 1, - sym__scope, - ACTIONS(570), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(573), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(576), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(579), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(582), 1, - anon_sym_PERCENTa_LT, - ACTIONS(585), 1, - anon_sym_module, - ACTIONS(588), 1, - anon_sym_interface, - ACTIONS(591), 1, - anon_sym_type, - ACTIONS(594), 1, - sym_global_name, - STATE(133), 1, - sym_annotation, - STATE(214), 1, - aux_sym_decl_repeat1, - STATE(443), 1, - sym_const_name, - STATE(453), 1, - sym_namespace, - STATE(169), 2, - sym_decl, - aux_sym_program_repeat2, - STATE(241), 8, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - [11322] = 2, + [12332] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(597), 27, - ts_builtin_sym_end, + ACTIONS(267), 1, + anon_sym_LBRACK, + STATE(212), 1, + sym_type_arguments, + ACTIONS(621), 25, sym_constant, sym_self, anon_sym_class, @@ -13447,7 +14425,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, @@ -13460,10 +14437,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11355] = 2, + [12369] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(599), 27, + ACTIONS(623), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13491,10 +14468,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11388] = 2, + [12402] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(601), 27, + ACTIONS(625), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13522,10 +14499,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11421] = 2, + [12435] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(603), 27, + ACTIONS(627), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13553,10 +14530,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11454] = 2, + [12468] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(605), 27, + ACTIONS(629), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13584,10 +14561,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11487] = 2, + [12501] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(607), 27, + ACTIONS(631), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13615,10 +14592,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11520] = 2, + [12534] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(609), 27, + ACTIONS(633), 27, ts_builtin_sym_end, sym_constant, sym_self, @@ -13646,42 +14623,63 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11553] = 2, + [12567] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(611), 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, - [11586] = 2, + ACTIONS(478), 1, + ts_builtin_sym_end, + STATE(141), 1, + sym_annotation, + STATE(230), 1, + aux_sym_decl_repeat1, + STATE(418), 1, + sym_const_name, + STATE(422), 1, + sym_namespace, + STATE(162), 2, + sym_decl, + aux_sym_program_repeat2, + STATE(255), 8, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + [12636] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(613), 27, - ts_builtin_sym_end, + ACTIONS(635), 1, + anon_sym_QMARK, + ACTIONS(637), 1, + anon_sym_EQ, + ACTIONS(299), 25, sym_constant, sym_self, anon_sym_class, @@ -13695,7 +14693,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, @@ -13708,14 +14705,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11619] = 4, + [12673] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(549), 1, - anon_sym_PIPE, - STATE(164), 1, - aux_sym_method_types_repeat1, - ACTIONS(615), 25, + ACTIONS(639), 1, + anon_sym_QMARK, + ACTIONS(641), 1, + anon_sym_EQ, + ACTIONS(299), 25, sym_constant, sym_self, anon_sym_class, @@ -13741,10 +14738,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11656] = 2, + [12710] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(514), 26, + ACTIONS(643), 26, sym_constant, sym_self, anon_sym_class, @@ -13771,15 +14768,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11688] = 3, + [12742] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(619), 1, - anon_sym_COMMA, - ACTIONS(617), 25, + ACTIONS(588), 26, sym_constant, sym_self, anon_sym_class, + anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -13802,10 +14798,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11722] = 2, + [12774] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(621), 26, + ACTIONS(645), 26, sym_constant, sym_self, anon_sym_class, @@ -13832,10 +14828,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11754] = 2, + [12806] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(623), 26, + ACTIONS(647), 26, sym_constant, sym_self, anon_sym_class, @@ -13862,14 +14858,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11786] = 2, + [12838] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(625), 26, + ACTIONS(651), 1, + anon_sym_COMMA, + ACTIONS(649), 25, sym_constant, sym_self, anon_sym_class, - anon_sym_PIPE, sym__scope, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, @@ -13892,10 +14889,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11818] = 2, + [12872] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 26, + ACTIONS(653), 26, sym_constant, sym_self, anon_sym_class, @@ -13922,10 +14919,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11850] = 2, + [12904] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(285), 25, + ACTIONS(299), 25, sym_constant, sym_self, anon_sym_class, @@ -13951,10 +14948,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11881] = 2, + [12935] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 25, + ACTIONS(321), 25, sym_constant, sym_self, anon_sym_class, @@ -13980,10 +14977,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11912] = 2, + [12966] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(631), 25, + ACTIONS(655), 25, sym_constant, sym_self, anon_sym_class, @@ -14009,10 +15006,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11943] = 2, + [12997] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(633), 25, + ACTIONS(657), 25, sym_constant, sym_self, anon_sym_class, @@ -14038,10 +15035,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [11974] = 2, + [13028] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(635), 25, + ACTIONS(659), 25, sym_constant, sym_self, anon_sym_class, @@ -14067,10 +15064,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12005] = 2, + [13059] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(637), 25, + ACTIONS(611), 25, sym_constant, sym_self, anon_sym_class, @@ -14096,10 +15093,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12036] = 2, + [13090] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(639), 25, + ACTIONS(661), 25, sym_constant, sym_self, anon_sym_class, @@ -14125,10 +15122,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12067] = 2, + [13121] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(637), 25, + ACTIONS(663), 25, sym_constant, sym_self, anon_sym_class, @@ -14154,10 +15151,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12098] = 2, + [13152] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(309), 25, + ACTIONS(665), 25, sym_constant, sym_self, anon_sym_class, @@ -14183,10 +15180,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12129] = 2, + [13183] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(305), 25, + ACTIONS(667), 25, sym_constant, sym_self, anon_sym_class, @@ -14212,10 +15209,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12160] = 2, + [13214] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(641), 25, + ACTIONS(669), 25, sym_constant, sym_self, anon_sym_class, @@ -14241,10 +15238,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12191] = 2, + [13245] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(615), 25, + ACTIONS(661), 25, sym_constant, sym_self, anon_sym_class, @@ -14270,10 +15267,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12222] = 2, + [13276] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(643), 25, + ACTIONS(661), 25, sym_constant, sym_self, anon_sym_class, @@ -14299,10 +15296,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12253] = 2, + [13307] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(645), 25, + ACTIONS(657), 25, sym_constant, sym_self, anon_sym_class, @@ -14328,10 +15325,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12284] = 2, + [13338] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(289), 25, + ACTIONS(671), 25, sym_constant, sym_self, anon_sym_class, @@ -14357,10 +15354,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12315] = 2, + [13369] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(637), 25, + ACTIONS(673), 25, sym_constant, sym_self, anon_sym_class, @@ -14386,10 +15383,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12346] = 2, + [13400] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(647), 25, + ACTIONS(313), 25, sym_constant, sym_self, anon_sym_class, @@ -14415,10 +15412,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12377] = 2, + [13431] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(649), 25, + ACTIONS(675), 25, sym_constant, sym_self, anon_sym_class, @@ -14444,10 +15441,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12408] = 2, + [13462] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(297), 25, + ACTIONS(677), 25, sym_constant, sym_self, anon_sym_class, @@ -14473,10 +15470,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12439] = 2, + [13493] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(651), 25, + ACTIONS(679), 25, sym_constant, sym_self, anon_sym_class, @@ -14502,10 +15499,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12470] = 2, + [13524] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(301), 25, + ACTIONS(681), 25, sym_constant, sym_self, anon_sym_class, @@ -14531,10 +15528,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12501] = 2, + [13555] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(651), 25, + ACTIONS(683), 25, sym_constant, sym_self, anon_sym_class, @@ -14560,10 +15557,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12532] = 2, + [13586] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(651), 25, + ACTIONS(685), 25, sym_constant, sym_self, anon_sym_class, @@ -14589,10 +15586,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12563] = 2, + [13617] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(653), 25, + ACTIONS(287), 25, sym_constant, sym_self, anon_sym_class, @@ -14618,10 +15615,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12594] = 2, + [13648] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(655), 25, + ACTIONS(687), 25, sym_constant, sym_self, anon_sym_class, @@ -14647,10 +15644,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12625] = 2, + [13679] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(657), 25, + ACTIONS(291), 25, sym_constant, sym_self, anon_sym_class, @@ -14676,10 +15673,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12656] = 2, + [13710] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(659), 25, + ACTIONS(657), 25, sym_constant, sym_self, anon_sym_class, @@ -14705,10 +15702,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12687] = 2, + [13741] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(661), 25, + ACTIONS(303), 25, sym_constant, sym_self, anon_sym_class, @@ -14734,7 +15731,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_alias, sym_ivar_name, sym_cvar_name, - [12718] = 18, + [13772] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -14761,24 +15758,66 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_type, ACTIONS(31), 1, sym_global_name, - STATE(127), 1, + STATE(134), 1, + aux_sym_decl_repeat1, + STATE(141), 1, + sym_annotation, + STATE(418), 1, + sym_const_name, + STATE(422), 1, + sym_namespace, + STATE(256), 8, + sym_class_decl, + sym_module_decl, + sym_class_alias_decl, + sym_module_alias_decl, + sym_interface_decl, + sym_type_alias_decl, + sym_const_decl, + sym_global_decl, + [13834] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(15), 1, + anon_sym_PERCENTa_LBRACE, + ACTIONS(17), 1, + anon_sym_PERCENTa_LPAREN, + ACTIONS(19), 1, + anon_sym_PERCENTa_LBRACK, + ACTIONS(21), 1, + anon_sym_PERCENTa_PIPE, + ACTIONS(23), 1, + anon_sym_PERCENTa_LT, + ACTIONS(79), 1, + anon_sym_LBRACK, + ACTIONS(87), 1, + anon_sym_def, + ACTIONS(93), 1, + anon_sym_include, + ACTIONS(689), 1, + anon_sym_end, + ACTIONS(693), 1, + anon_sym_alias, + STATE(141), 1, + sym_annotation, + STATE(232), 1, + sym_module_type_parameters, + STATE(237), 1, + aux_sym_interface_decl_repeat1, + STATE(243), 1, aux_sym_decl_repeat1, - STATE(133), 1, - sym_annotation, - STATE(443), 1, - sym_const_name, - STATE(453), 1, - sym_namespace, - STATE(238), 8, - sym_class_decl, - sym_module_decl, - sym_class_alias_decl, - sym_module_alias_decl, - sym_interface_decl, - sym_type_alias_decl, - sym_const_decl, - sym_global_decl, - [12780] = 19, + STATE(258), 1, + sym_interface_member, + STATE(426), 1, + sym_visibility, + ACTIONS(691), 2, + anon_sym_public, + anon_sym_private, + STATE(259), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [13895] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -14791,36 +15830,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(79), 1, - anon_sym_LBRACK, ACTIONS(87), 1, anon_sym_def, ACTIONS(93), 1, anon_sym_include, - ACTIONS(663), 1, - anon_sym_end, - ACTIONS(667), 1, + ACTIONS(693), 1, anon_sym_alias, - STATE(133), 1, + ACTIONS(695), 1, + anon_sym_end, + STATE(141), 1, sym_annotation, - STATE(221), 1, - sym_module_type_parameters, - STATE(222), 1, + STATE(239), 1, aux_sym_interface_decl_repeat1, - STATE(231), 1, + STATE(243), 1, aux_sym_decl_repeat1, - STATE(244), 1, + STATE(258), 1, sym_interface_member, - STATE(456), 1, + STATE(426), 1, sym_visibility, - ACTIONS(665), 2, + ACTIONS(691), 2, anon_sym_public, anon_sym_private, - STATE(243), 3, + STATE(259), 3, sym_method_member, sym_include_member, sym_alias_member, - [12841] = 20, + [13950] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -14833,35 +15868,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(669), 1, + ACTIONS(697), 1, anon_sym_LPAREN, - ACTIONS(671), 1, + ACTIONS(699), 1, anon_sym_LBRACK, - ACTIONS(673), 1, + ACTIONS(701), 1, anon_sym_LBRACE, - ACTIONS(675), 1, + ACTIONS(703), 1, anon_sym_DASH_GT, - ACTIONS(677), 1, + ACTIONS(705), 1, anon_sym_QMARK2, - ACTIONS(679), 1, + ACTIONS(707), 1, anon_sym_DOT_DOT_DOT, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(179), 1, + STATE(181), 1, sym_method_type, - STATE(183), 1, + STATE(199), 1, sym_method_type_body, - STATE(187), 1, + STATE(216), 1, sym_method_types, - STATE(236), 1, - aux_sym_decl_repeat1, - STATE(237), 1, + STATE(251), 1, sym_method_type_parameters, - STATE(293), 1, + STATE(252), 1, + aux_sym_decl_repeat1, + STATE(304), 1, sym_parameters, - STATE(410), 1, + STATE(457), 1, sym_block, - [12902] = 20, + [14011] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -14874,35 +15909,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(669), 1, + ACTIONS(697), 1, anon_sym_LPAREN, - ACTIONS(671), 1, + ACTIONS(699), 1, anon_sym_LBRACK, - ACTIONS(673), 1, + ACTIONS(701), 1, anon_sym_LBRACE, - ACTIONS(675), 1, + ACTIONS(703), 1, anon_sym_DASH_GT, - ACTIONS(677), 1, + ACTIONS(705), 1, anon_sym_QMARK2, - ACTIONS(679), 1, + ACTIONS(707), 1, anon_sym_DOT_DOT_DOT, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(179), 1, + STATE(181), 1, sym_method_type, - STATE(183), 1, + STATE(199), 1, sym_method_type_body, - STATE(196), 1, + STATE(206), 1, sym_method_types, - STATE(236), 1, - aux_sym_decl_repeat1, - STATE(237), 1, + STATE(251), 1, sym_method_type_parameters, - STATE(293), 1, + STATE(252), 1, + aux_sym_decl_repeat1, + STATE(304), 1, sym_parameters, - STATE(410), 1, + STATE(457), 1, sym_block, - [12963] = 20, + [14072] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -14915,73 +15950,76 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(669), 1, + ACTIONS(697), 1, anon_sym_LPAREN, - ACTIONS(671), 1, + ACTIONS(699), 1, anon_sym_LBRACK, - ACTIONS(673), 1, + ACTIONS(701), 1, anon_sym_LBRACE, - ACTIONS(675), 1, + ACTIONS(703), 1, anon_sym_DASH_GT, - ACTIONS(677), 1, + ACTIONS(705), 1, anon_sym_QMARK2, - ACTIONS(679), 1, + ACTIONS(707), 1, anon_sym_DOT_DOT_DOT, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(179), 1, + STATE(181), 1, sym_method_type, - STATE(183), 1, + STATE(199), 1, sym_method_type_body, - STATE(190), 1, + STATE(209), 1, sym_method_types, - STATE(236), 1, - aux_sym_decl_repeat1, - STATE(237), 1, + STATE(251), 1, sym_method_type_parameters, - STATE(293), 1, + STATE(252), 1, + aux_sym_decl_repeat1, + STATE(304), 1, sym_parameters, - STATE(410), 1, + STATE(457), 1, sym_block, - [13024] = 17, + [14133] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(681), 1, + ACTIONS(15), 1, anon_sym_PERCENTa_LBRACE, - ACTIONS(684), 1, + ACTIONS(17), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(687), 1, + ACTIONS(19), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(690), 1, + ACTIONS(21), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(693), 1, + ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(696), 1, - anon_sym_end, - ACTIONS(698), 1, - anon_sym_def, - ACTIONS(704), 1, - anon_sym_include, + ACTIONS(697), 1, + anon_sym_LPAREN, + ACTIONS(699), 1, + anon_sym_LBRACK, + ACTIONS(701), 1, + anon_sym_LBRACE, + ACTIONS(703), 1, + anon_sym_DASH_GT, + ACTIONS(705), 1, + anon_sym_QMARK2, ACTIONS(707), 1, - anon_sym_alias, - STATE(133), 1, + anon_sym_DOT_DOT_DOT, + STATE(141), 1, sym_annotation, - STATE(219), 1, - aux_sym_interface_decl_repeat1, - STATE(231), 1, + STATE(181), 1, + sym_method_type, + STATE(199), 1, + sym_method_type_body, + STATE(226), 1, + sym_method_types, + STATE(251), 1, + sym_method_type_parameters, + STATE(252), 1, aux_sym_decl_repeat1, - STATE(244), 1, - sym_interface_member, - STATE(456), 1, - sym_visibility, - ACTIONS(701), 2, - anon_sym_public, - anon_sym_private, - STATE(243), 3, - sym_method_member, - sym_include_member, - sym_alias_member, - [13079] = 17, + STATE(304), 1, + sym_parameters, + STATE(457), 1, + sym_block, + [14194] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -14998,66 +16036,66 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_def, ACTIONS(93), 1, anon_sym_include, - ACTIONS(667), 1, + ACTIONS(693), 1, anon_sym_alias, - ACTIONS(710), 1, + ACTIONS(709), 1, anon_sym_end, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(219), 1, + STATE(238), 1, aux_sym_interface_decl_repeat1, - STATE(231), 1, + STATE(243), 1, aux_sym_decl_repeat1, - STATE(244), 1, + STATE(258), 1, sym_interface_member, - STATE(456), 1, + STATE(426), 1, sym_visibility, - ACTIONS(665), 2, + ACTIONS(691), 2, anon_sym_public, anon_sym_private, - STATE(243), 3, + STATE(259), 3, sym_method_member, sym_include_member, sym_alias_member, - [13134] = 17, + [14249] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(711), 1, anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, + ACTIONS(714), 1, anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, + ACTIONS(717), 1, anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, + ACTIONS(720), 1, anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, + ACTIONS(723), 1, anon_sym_PERCENTa_LT, - ACTIONS(87), 1, + ACTIONS(726), 1, + anon_sym_end, + ACTIONS(728), 1, anon_sym_def, - ACTIONS(93), 1, + ACTIONS(734), 1, anon_sym_include, - ACTIONS(667), 1, + ACTIONS(737), 1, anon_sym_alias, - ACTIONS(712), 1, - anon_sym_end, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(220), 1, + STATE(238), 1, aux_sym_interface_decl_repeat1, - STATE(231), 1, + STATE(243), 1, aux_sym_decl_repeat1, - STATE(244), 1, + STATE(258), 1, sym_interface_member, - STATE(456), 1, + STATE(426), 1, sym_visibility, - ACTIONS(665), 2, + ACTIONS(731), 2, anon_sym_public, anon_sym_private, - STATE(243), 3, + STATE(259), 3, sym_method_member, sym_include_member, sym_alias_member, - [13189] = 17, + [14304] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15074,28 +16112,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_def, ACTIONS(93), 1, anon_sym_include, - ACTIONS(667), 1, + ACTIONS(693), 1, anon_sym_alias, - ACTIONS(714), 1, + ACTIONS(740), 1, anon_sym_end, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(219), 1, + STATE(238), 1, aux_sym_interface_decl_repeat1, - STATE(231), 1, + STATE(243), 1, aux_sym_decl_repeat1, - STATE(244), 1, + STATE(258), 1, sym_interface_member, - STATE(456), 1, + STATE(426), 1, sym_visibility, - ACTIONS(665), 2, + ACTIONS(691), 2, anon_sym_public, anon_sym_private, - STATE(243), 3, + STATE(259), 3, sym_method_member, sym_include_member, sym_alias_member, - [13244] = 20, + [14359] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15108,79 +16146,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(669), 1, + ACTIONS(697), 1, anon_sym_LPAREN, - ACTIONS(671), 1, + ACTIONS(699), 1, anon_sym_LBRACK, - ACTIONS(673), 1, + ACTIONS(701), 1, anon_sym_LBRACE, - ACTIONS(675), 1, + ACTIONS(703), 1, anon_sym_DASH_GT, - ACTIONS(677), 1, + ACTIONS(705), 1, anon_sym_QMARK2, - ACTIONS(679), 1, - anon_sym_DOT_DOT_DOT, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(179), 1, + STATE(197), 1, sym_method_type, - STATE(183), 1, + STATE(199), 1, sym_method_type_body, - STATE(189), 1, - sym_method_types, - STATE(236), 1, - aux_sym_decl_repeat1, - STATE(237), 1, + STATE(251), 1, sym_method_type_parameters, - STATE(293), 1, - sym_parameters, - STATE(410), 1, - sym_block, - [13305] = 18, - ACTIONS(3), 1, - sym_comment, - ACTIONS(15), 1, - anon_sym_PERCENTa_LBRACE, - ACTIONS(17), 1, - anon_sym_PERCENTa_LPAREN, - ACTIONS(19), 1, - anon_sym_PERCENTa_LBRACK, - ACTIONS(21), 1, - anon_sym_PERCENTa_PIPE, - ACTIONS(23), 1, - anon_sym_PERCENTa_LT, - ACTIONS(669), 1, - anon_sym_LPAREN, - ACTIONS(671), 1, - anon_sym_LBRACK, - ACTIONS(673), 1, - anon_sym_LBRACE, - ACTIONS(675), 1, - anon_sym_DASH_GT, - ACTIONS(677), 1, - anon_sym_QMARK2, - STATE(133), 1, - sym_annotation, - STATE(180), 1, - sym_method_type, - STATE(183), 1, - sym_method_type_body, - STATE(236), 1, + STATE(252), 1, aux_sym_decl_repeat1, - STATE(237), 1, - sym_method_type_parameters, - STATE(293), 1, + STATE(304), 1, sym_parameters, - STATE(410), 1, + STATE(457), 1, sym_block, - [13360] = 4, + [14414] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(718), 1, + ACTIONS(744), 1, anon_sym_COMMA, - STATE(229), 1, + STATE(244), 1, aux_sym_use_directive_repeat1, - ACTIONS(716), 14, + ACTIONS(742), 14, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15195,19 +16192,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13386] = 4, + [14440] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(722), 1, - anon_sym_use, - STATE(226), 2, - sym_use_directive, - aux_sym_program_repeat1, - ACTIONS(720), 13, + ACTIONS(748), 1, + anon_sym_as, + 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, @@ -15217,16 +16213,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13412] = 3, + [14464] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(727), 1, - anon_sym_as, - ACTIONS(725), 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(693), 1, + anon_sym_alias, + STATE(134), 1, + aux_sym_decl_repeat1, + STATE(141), 1, + sym_annotation, + STATE(426), 1, + sym_visibility, + ACTIONS(691), 2, + anon_sym_public, + anon_sym_private, + STATE(261), 3, + sym_method_member, + sym_include_member, + sym_alias_member, + [14510] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(744), 1, + anon_sym_COMMA, + STATE(247), 1, + aux_sym_use_directive_repeat1, + ACTIONS(750), 14, ts_builtin_sym_end, sym_constant, anon_sym_class, - anon_sym_COMMA, sym__scope, anon_sym_use, anon_sym_PERCENTa_LBRACE, @@ -15238,16 +16267,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13436] = 5, + [14536] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(729), 13, + ACTIONS(752), 13, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15261,19 +16290,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13464] = 4, + [14564] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(718), 1, - anon_sym_COMMA, - STATE(230), 1, - aux_sym_use_directive_repeat1, - ACTIONS(731), 14, + ACTIONS(756), 1, + anon_sym_use, + STATE(246), 2, + sym_use_directive, + aux_sym_program_repeat1, + ACTIONS(754), 13, 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, @@ -15283,14 +16312,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13490] = 4, + [14590] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(735), 1, + ACTIONS(761), 1, anon_sym_COMMA, - STATE(230), 1, + STATE(247), 1, aux_sym_use_directive_repeat1, - ACTIONS(733), 14, + ACTIONS(759), 14, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15305,42 +16334,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13516] = 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(667), 1, - anon_sym_alias, - STATE(127), 1, - aux_sym_decl_repeat1, - STATE(133), 1, - sym_annotation, - STATE(456), 1, - sym_visibility, - ACTIONS(665), 2, - anon_sym_public, - anon_sym_private, - STATE(246), 3, - sym_method_member, - sym_include_member, - sym_alias_member, - [13562] = 2, + [14616] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(738), 15, + ACTIONS(764), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15356,10 +16353,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13583] = 2, + [14637] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(733), 15, + ACTIONS(759), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15375,10 +16372,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13604] = 2, + [14658] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(740), 15, + ACTIONS(766), 15, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15394,7 +16391,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13625] = 15, + [14679] = 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(697), 1, + anon_sym_LPAREN, + ACTIONS(701), 1, + anon_sym_LBRACE, + ACTIONS(703), 1, + anon_sym_DASH_GT, + ACTIONS(705), 1, + anon_sym_QMARK2, + STATE(141), 1, + sym_annotation, + STATE(198), 1, + sym_method_type_body, + STATE(253), 1, + aux_sym_decl_repeat1, + STATE(304), 1, + sym_parameters, + STATE(457), 1, + sym_block, + [14725] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15407,25 +16435,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(669), 1, + ACTIONS(697), 1, anon_sym_LPAREN, - ACTIONS(673), 1, + ACTIONS(701), 1, anon_sym_LBRACE, - ACTIONS(675), 1, + ACTIONS(703), 1, anon_sym_DASH_GT, - ACTIONS(677), 1, + ACTIONS(705), 1, anon_sym_QMARK2, - STATE(127), 1, + STATE(134), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(184), 1, + STATE(196), 1, sym_method_type_body, - STATE(293), 1, + STATE(304), 1, sym_parameters, - STATE(410), 1, + STATE(457), 1, sym_block, - [13671] = 15, + [14771] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, @@ -15438,59 +16466,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, ACTIONS(23), 1, anon_sym_PERCENTa_LT, - ACTIONS(669), 1, + ACTIONS(697), 1, anon_sym_LPAREN, - ACTIONS(673), 1, + ACTIONS(701), 1, anon_sym_LBRACE, - ACTIONS(675), 1, + ACTIONS(703), 1, anon_sym_DASH_GT, - ACTIONS(677), 1, + ACTIONS(705), 1, anon_sym_QMARK2, - STATE(127), 1, + STATE(134), 1, aux_sym_decl_repeat1, - STATE(133), 1, + STATE(141), 1, sym_annotation, - STATE(185), 1, + STATE(201), 1, sym_method_type_body, - STATE(293), 1, + STATE(304), 1, sym_parameters, - STATE(410), 1, + STATE(457), 1, sym_block, - [13717] = 15, + [14817] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(639), 1, + anon_sym_QMARK, + ACTIONS(641), 1, + anon_sym_EQ, + ACTIONS(299), 11, + anon_sym_PERCENTa_LBRACE, + anon_sym_PERCENTa_LPAREN, + anon_sym_PERCENTa_LBRACK, + anon_sym_PERCENTa_PIPE, + anon_sym_PERCENTa_LT, + anon_sym_end, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_include, + anon_sym_alias, + [14840] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(15), 1, + ACTIONS(768), 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(669), 1, - anon_sym_LPAREN, - ACTIONS(673), 1, - anon_sym_LBRACE, - ACTIONS(675), 1, - anon_sym_DASH_GT, - ACTIONS(677), 1, - anon_sym_QMARK2, - STATE(133), 1, - sym_annotation, - STATE(182), 1, - sym_method_type_body, - STATE(235), 1, - aux_sym_decl_repeat1, - STATE(293), 1, - sym_parameters, - STATE(410), 1, - sym_block, - [13763] = 2, + anon_sym_module, + anon_sym_interface, + anon_sym_type, + sym_global_name, + [14859] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(742), 13, + ACTIONS(770), 13, ts_builtin_sym_end, sym_constant, anon_sym_class, @@ -15504,14 +16537,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_interface, anon_sym_type, sym_global_name, - [13782] = 4, + [14878] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(521), 1, + ACTIONS(635), 1, anon_sym_QMARK, - ACTIONS(523), 1, + ACTIONS(637), 1, anon_sym_EQ, - ACTIONS(305), 11, + ACTIONS(299), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15523,14 +16556,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [13805] = 4, + [14901] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(525), 1, - anon_sym_QMARK, - ACTIONS(527), 1, - anon_sym_EQ, - ACTIONS(305), 11, + ACTIONS(772), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15542,24 +16571,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [13828] = 2, + [14918] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(744), 13, - ts_builtin_sym_end, - sym_constant, - anon_sym_class, - sym__scope, + ACTIONS(774), 11, 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, - [13847] = 11, + anon_sym_end, + anon_sym_def, + anon_sym_public, + anon_sym_private, + anon_sym_include, + anon_sym_alias, + [14935] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(69), 1, @@ -15568,40 +16595,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_QMARK2, ACTIONS(73), 1, anon_sym_STAR_STAR, - ACTIONS(746), 1, + ACTIONS(776), 1, sym_identifier, - STATE(359), 1, + STATE(382), 1, sym_optional_positionals, - STATE(373), 1, + STATE(383), 1, sym_rest_positional, - STATE(425), 1, - sym_keywords, - STATE(446), 1, - sym_var_name, - STATE(448), 1, + STATE(461), 1, sym_splat_keyword, - STATE(447), 2, + STATE(465), 1, + sym_var_name, + STATE(467), 1, + sym_keywords, + STATE(464), 2, sym_required_keywords, sym_optional_keywords, - [13882] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(748), 11, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_end, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, - [13899] = 2, + [14970] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(750), 11, + ACTIONS(778), 11, anon_sym_PERCENTa_LBRACE, anon_sym_PERCENTa_LPAREN, anon_sym_PERCENTa_LBRACK, @@ -15613,48 +16625,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_private, anon_sym_include, anon_sym_alias, - [13916] = 10, + [14987] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(752), 1, + ACTIONS(780), 1, sym_interface, - ACTIONS(754), 1, + ACTIONS(782), 1, anon_sym_singleton, - STATE(80), 1, + STATE(88), 1, sym_class_name, - STATE(82), 1, + STATE(89), 1, sym_interface_name, - STATE(378), 1, + STATE(376), 1, sym_bound_type, - STATE(391), 1, + STATE(393), 1, sym_namespace, - STATE(376), 3, + STATE(375), 3, sym_class_type, sym_interface_type, sym_singleton_type, - [13949] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(756), 11, - anon_sym_PERCENTa_LBRACE, - anon_sym_PERCENTa_LPAREN, - anon_sym_PERCENTa_LBRACK, - anon_sym_PERCENTa_PIPE, - anon_sym_PERCENTa_LT, - anon_sym_end, - anon_sym_def, - anon_sym_public, - anon_sym_private, - anon_sym_include, - anon_sym_alias, - [13966] = 2, + [15020] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(758), 9, + ACTIONS(784), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_DASH_GT, @@ -15664,30 +16661,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, anon_sym_QMARK2, - [13981] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(73), 1, - anon_sym_STAR_STAR, - ACTIONS(75), 1, - anon_sym_QMARK2, - ACTIONS(746), 1, - sym_identifier, - ACTIONS(760), 1, - anon_sym_RPAREN, - STATE(445), 1, - sym_keywords, - STATE(446), 1, - sym_var_name, - STATE(448), 1, - sym_splat_keyword, - STATE(447), 2, - sym_required_keywords, - sym_optional_keywords, - [14010] = 2, + [15035] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(762), 9, + ACTIONS(786), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_DASH_GT, @@ -15697,121 +16674,105 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENTa_PIPE, anon_sym_PERCENTa_LT, anon_sym_QMARK2, - [14025] = 8, + [15050] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(746), 1, + ACTIONS(776), 1, sym_identifier, - STATE(446), 1, - sym_var_name, - STATE(448), 1, + ACTIONS(788), 1, + anon_sym_RPAREN, + STATE(461), 1, sym_splat_keyword, - STATE(450), 1, - sym_keywords, - STATE(447), 2, - sym_required_keywords, - sym_optional_keywords, - [14051] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(73), 1, - anon_sym_STAR_STAR, - ACTIONS(75), 1, - anon_sym_QMARK2, - ACTIONS(746), 1, - sym_identifier, - STATE(428), 1, + STATE(463), 1, sym_keywords, - STATE(446), 1, + STATE(465), 1, sym_var_name, - STATE(448), 1, - sym_splat_keyword, - STATE(447), 2, + STATE(464), 2, sym_required_keywords, sym_optional_keywords, - [14077] = 8, + [15079] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(746), 1, + ACTIONS(776), 1, sym_identifier, - STATE(430), 1, + STATE(445), 1, sym_keywords, - STATE(446), 1, - sym_var_name, - STATE(448), 1, + STATE(461), 1, sym_splat_keyword, - STATE(447), 2, + STATE(465), 1, + sym_var_name, + STATE(464), 2, sym_required_keywords, sym_optional_keywords, - [14103] = 8, + [15105] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(746), 1, + ACTIONS(776), 1, sym_identifier, - STATE(445), 1, + STATE(461), 1, + sym_splat_keyword, + STATE(463), 1, sym_keywords, - STATE(446), 1, + STATE(465), 1, sym_var_name, - STATE(448), 1, - sym_splat_keyword, - STATE(447), 2, + STATE(464), 2, sym_required_keywords, sym_optional_keywords, - [14129] = 9, + [15131] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(669), 1, + ACTIONS(697), 1, anon_sym_LPAREN, - ACTIONS(673), 1, + ACTIONS(701), 1, anon_sym_LBRACE, - ACTIONS(677), 1, + ACTIONS(705), 1, anon_sym_QMARK2, - ACTIONS(764), 1, + ACTIONS(790), 1, anon_sym_LBRACK, - ACTIONS(766), 1, + ACTIONS(792), 1, anon_sym_DASH_GT, - STATE(267), 1, + STATE(282), 1, sym_parameters, - STATE(316), 1, + STATE(332), 1, sym_self_type_binding, - STATE(394), 1, + STATE(421), 1, sym_block, - [14157] = 8, + [15159] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_STAR_STAR, ACTIONS(75), 1, anon_sym_QMARK2, - ACTIONS(746), 1, + ACTIONS(776), 1, sym_identifier, - STATE(436), 1, + STATE(447), 1, sym_keywords, - STATE(446), 1, - sym_var_name, - STATE(448), 1, + STATE(461), 1, sym_splat_keyword, - STATE(447), 2, + STATE(465), 1, + sym_var_name, + STATE(464), 2, sym_required_keywords, sym_optional_keywords, - [14183] = 3, + [15185] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(768), 1, + ACTIONS(794), 1, anon_sym_COLON, - ACTIONS(261), 7, + ACTIONS(277), 7, anon_sym_RPAREN, anon_sym_PIPE, anon_sym_AMP, @@ -15819,1681 +16780,1727 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_COMMA, sym_identifier, - [14199] = 7, + [15201] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(466), 1, - anon_sym_PIPE, - ACTIONS(746), 1, + ACTIONS(73), 1, + anon_sym_STAR_STAR, + ACTIONS(75), 1, + anon_sym_QMARK2, + ACTIONS(776), 1, sym_identifier, - STATE(381), 1, + STATE(454), 1, + sym_keywords, + STATE(461), 1, + sym_splat_keyword, + STATE(465), 1, sym_var_name, - ACTIONS(770), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [14222] = 7, + STATE(464), 2, + sym_required_keywords, + sym_optional_keywords, + [15227] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(772), 1, - sym_constant, - ACTIONS(774), 1, - sym_generics_unchecked, - STATE(305), 1, - sym_type_variable, - STATE(333), 1, - sym_module_type_parameter, - STATE(379), 1, - sym_generics_variance, - ACTIONS(776), 2, - anon_sym_out, - anon_sym_in, - [14245] = 7, + ACTIONS(73), 1, + anon_sym_STAR_STAR, + ACTIONS(75), 1, + anon_sym_QMARK2, + ACTIONS(776), 1, + sym_identifier, + STATE(461), 1, + sym_splat_keyword, + STATE(465), 1, + sym_var_name, + STATE(468), 1, + sym_keywords, + STATE(464), 2, + sym_required_keywords, + sym_optional_keywords, + [15253] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(752), 1, + ACTIONS(780), 1, sym_interface, - STATE(212), 1, + STATE(211), 1, sym_module_self_types, - STATE(391), 1, + STATE(393), 1, sym_namespace, - STATE(137), 2, + STATE(159), 2, sym_class_name, sym_interface_name, - [14268] = 7, + [15276] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(35), 1, + ACTIONS(796), 1, sym_constant, - ACTIONS(752), 1, - sym_interface, - STATE(202), 1, - sym_module_self_types, - STATE(391), 1, - sym_namespace, - STATE(137), 2, - sym_class_name, - sym_interface_name, - [14291] = 7, + ACTIONS(798), 1, + sym_generics_unchecked, + STATE(328), 1, + sym_type_variable, + STATE(355), 1, + sym_module_type_parameter, + STATE(401), 1, + sym_generics_variance, + ACTIONS(800), 2, + anon_sym_out, + anon_sym_in, + [15299] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(752), 1, + ACTIONS(780), 1, sym_interface, - STATE(198), 1, + STATE(224), 1, sym_module_self_types, - STATE(391), 1, + STATE(393), 1, sym_namespace, - STATE(137), 2, + STATE(159), 2, sym_class_name, sym_interface_name, - [14314] = 7, + [15322] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(772), 1, + ACTIONS(796), 1, sym_constant, - ACTIONS(774), 1, + ACTIONS(798), 1, sym_generics_unchecked, - STATE(305), 1, + STATE(328), 1, sym_type_variable, - STATE(379), 1, - sym_generics_variance, - STATE(384), 1, + STATE(378), 1, sym_module_type_parameter, - ACTIONS(776), 2, + STATE(401), 1, + sym_generics_variance, + ACTIONS(800), 2, anon_sym_out, anon_sym_in, - [14337] = 7, + [15345] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(778), 1, + ACTIONS(776), 1, + sym_identifier, + STATE(406), 1, + sym_var_name, + ACTIONS(802), 2, + anon_sym_RPAREN, anon_sym_COMMA, - ACTIONS(780), 1, - anon_sym_RBRACK, - STATE(344), 1, - aux_sym_tuple_type_repeat1, - [14359] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(303), 1, - anon_sym_LPAREN, - ACTIONS(435), 1, - anon_sym_QMARK, - ACTIONS(782), 1, - anon_sym_EQ, - ACTIONS(305), 3, - sym_self, - anon_sym_COLON, - anon_sym_LPAREN_RPAREN, - [14377] = 6, + [15368] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(752), 1, + ACTIONS(780), 1, sym_interface, - STATE(391), 1, + STATE(222), 1, + sym_module_self_types, + STATE(393), 1, sym_namespace, - STATE(154), 2, + STATE(159), 2, sym_class_name, sym_interface_name, - [14397] = 7, + [15391] = 5, + ACTIONS(804), 1, + sym_comment, + ACTIONS(806), 1, + anon_sym_def, + ACTIONS(808), 1, + aux_sym_visibility_member_token1, + STATE(76), 1, + sym_attribyte_type, + ACTIONS(810), 3, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + [15409] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(784), 1, + ACTIONS(812), 1, anon_sym_COMMA, - ACTIONS(786), 1, + ACTIONS(814), 1, anon_sym_RBRACK, - STATE(342), 1, + STATE(349), 1, aux_sym_tuple_type_repeat1, - [14419] = 7, + [15431] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(297), 1, + anon_sym_LPAREN, + ACTIONS(443), 1, + anon_sym_QMARK, + ACTIONS(816), 1, + anon_sym_EQ, + ACTIONS(299), 3, + sym_self, + anon_sym_COLON, + anon_sym_LPAREN_RPAREN, + [15449] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(673), 1, + ACTIONS(701), 1, anon_sym_LBRACE, - ACTIONS(677), 1, + ACTIONS(705), 1, anon_sym_QMARK2, - ACTIONS(764), 1, + ACTIONS(790), 1, anon_sym_LBRACK, - ACTIONS(788), 1, + ACTIONS(818), 1, anon_sym_DASH_GT, - STATE(311), 1, + STATE(320), 1, sym_self_type_binding, - STATE(437), 1, + STATE(483), 1, sym_block, - [14441] = 6, + [15471] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(820), 1, + anon_sym_COMMA, + ACTIONS(822), 1, + anon_sym_RBRACK, + STATE(351), 1, + aux_sym_tuple_type_repeat1, + [15493] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(297), 1, + anon_sym_LPAREN, + ACTIONS(447), 1, + anon_sym_QMARK, + ACTIONS(824), 1, + anon_sym_EQ, + ACTIONS(299), 3, + sym_self, + anon_sym_COLON, + anon_sym_LPAREN_RPAREN, + [15511] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(752), 1, + ACTIONS(780), 1, sym_interface, - STATE(391), 1, + STATE(393), 1, sym_namespace, - STATE(160), 2, + STATE(175), 2, sym_class_name, sym_interface_name, - [14461] = 6, + [15531] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - ACTIONS(752), 1, + ACTIONS(780), 1, sym_interface, - STATE(391), 1, + STATE(393), 1, sym_namespace, - STATE(163), 2, + STATE(170), 2, sym_class_name, sym_interface_name, - [14481] = 5, - ACTIONS(790), 1, - sym_comment, - ACTIONS(792), 1, - anon_sym_def, - ACTIONS(794), 1, - aux_sym_visibility_member_token1, - STATE(69), 1, - sym_attribyte_type, - ACTIONS(796), 3, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - [14499] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(303), 1, - anon_sym_LPAREN, - ACTIONS(439), 1, - anon_sym_QMARK, - ACTIONS(798), 1, - anon_sym_EQ, - ACTIONS(305), 3, - sym_self, - anon_sym_COLON, - anon_sym_LPAREN_RPAREN, - [14517] = 6, + [15551] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(227), 1, - sym_class_name, - STATE(233), 1, - sym_use_clause, - STATE(368), 1, + ACTIONS(780), 1, + sym_interface, + STATE(393), 1, sym_namespace, - [14536] = 6, + STATE(173), 2, + sym_class_name, + sym_interface_name, + [15571] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(800), 1, + ACTIONS(826), 1, anon_sym_RPAREN, - ACTIONS(802), 1, + ACTIONS(828), 1, anon_sym_COMMA, - [14555] = 6, + [15590] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(225), 1, + STATE(241), 1, sym_use_clause, - STATE(227), 1, + STATE(242), 1, sym_class_name, - STATE(368), 1, + STATE(394), 1, sym_namespace, - [14574] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(772), 1, - sym_constant, - STATE(306), 1, - sym_type_variable, - STATE(362), 1, - sym_generics_variance, - ACTIONS(776), 2, - anon_sym_out, - anon_sym_in, - [14591] = 6, + [15609] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(804), 1, - anon_sym_RPAREN, - ACTIONS(806), 1, + ACTIONS(830), 2, anon_sym_COMMA, - [14610] = 5, + anon_sym_RBRACK, + [15626] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(466), 1, - anon_sym_PIPE, - ACTIONS(808), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [14627] = 5, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + STATE(242), 1, + sym_class_name, + STATE(249), 1, + sym_use_clause, + STATE(394), 1, + sym_namespace, + [15645] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(810), 2, + ACTIONS(832), 2, anon_sym_COMMA, - anon_sym_RBRACK, - [14644] = 3, - ACTIONS(790), 1, - sym_comment, - ACTIONS(814), 1, - aux_sym_visibility_member_token1, - ACTIONS(812), 4, - anon_sym_def, - anon_sym_attr_reader, - anon_sym_attr_writer, - anon_sym_attr_accessor, - [14657] = 6, + anon_sym_RBRACE, + [15662] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(752), 1, + ACTIONS(780), 1, sym_interface, - ACTIONS(816), 1, + ACTIONS(834), 1, sym_constant, - STATE(215), 1, + STATE(231), 1, sym_interface_name, - STATE(354), 1, + STATE(403), 1, sym_namespace, - [14676] = 6, + [15681] = 3, + ACTIONS(804), 1, + sym_comment, + ACTIONS(838), 1, + aux_sym_visibility_member_token1, + ACTIONS(836), 4, + anon_sym_def, + anon_sym_attr_reader, + anon_sym_attr_writer, + anon_sym_attr_accessor, + [15694] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, - ACTIONS(816), 1, + ACTIONS(834), 1, sym_constant, - ACTIONS(818), 1, + ACTIONS(840), 1, sym_identifier, - STATE(319), 1, + STATE(348), 1, sym_alias_name, - STATE(386), 1, + STATE(408), 1, sym_namespace, - [14695] = 5, + [15713] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(842), 1, + anon_sym_RPAREN, + ACTIONS(844), 1, + anon_sym_COMMA, + [15732] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(796), 1, + sym_constant, + STATE(323), 1, + sym_type_variable, + STATE(398), 1, + sym_generics_variance, + ACTIONS(800), 2, + anon_sym_out, + anon_sym_in, + [15749] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(8), 1, + STATE(183), 1, sym_class_name, - STATE(438), 1, + STATE(441), 1, sym_namespace, - [14711] = 2, + [15765] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 2, + sym_interface, + sym_identifier, + ACTIONS(848), 2, + sym_constant, + anon_sym_STAR, + [15777] = 4, + ACTIONS(804), 1, + sym_comment, + ACTIONS(850), 1, + anon_sym_DQUOTE, + STATE(313), 1, + aux_sym_string_literal_repeat1, + ACTIONS(852), 2, + sym_double_quote_string_body, + sym_escape_sequence, + [15791] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(820), 4, + ACTIONS(854), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [14721] = 4, - ACTIONS(790), 1, + [15801] = 2, + ACTIONS(3), 1, sym_comment, - ACTIONS(822), 1, + ACTIONS(856), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [15811] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(858), 2, + sym_interface, + sym_identifier, + ACTIONS(860), 2, + sym_constant, + anon_sym_STAR, + [15823] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(701), 1, + anon_sym_LBRACE, + ACTIONS(705), 1, + anon_sym_QMARK2, + ACTIONS(862), 1, + anon_sym_DASH_GT, + STATE(443), 1, + sym_block, + [15839] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(864), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [15849] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + STATE(9), 1, + sym_class_name, + STATE(441), 1, + sym_namespace, + [15865] = 4, + ACTIONS(804), 1, + sym_comment, + ACTIONS(866), 1, anon_sym_DQUOTE, - STATE(296), 1, + STATE(317), 1, aux_sym_string_literal_repeat1, - ACTIONS(824), 2, + ACTIONS(868), 2, sym_double_quote_string_body, sym_escape_sequence, - [14735] = 4, - ACTIONS(3), 1, + [15879] = 4, + ACTIONS(804), 1, sym_comment, - ACTIONS(828), 1, - anon_sym_LT, - STATE(385), 1, - sym_generics_bound, - ACTIONS(826), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [14749] = 5, + ACTIONS(866), 1, + anon_sym_SQUOTE, + STATE(316), 1, + aux_sym_string_literal_repeat2, + ACTIONS(870), 2, + sym_single_quote_string_body, + sym_escape_sequence, + [15893] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(830), 1, + ACTIONS(872), 1, anon_sym_RBRACE, - [14765] = 4, - ACTIONS(790), 1, + [15909] = 4, + ACTIONS(804), 1, sym_comment, - ACTIONS(822), 1, + ACTIONS(874), 1, anon_sym_SQUOTE, - STATE(295), 1, + STATE(308), 1, aux_sym_string_literal_repeat2, - ACTIONS(832), 2, + ACTIONS(876), 2, sym_single_quote_string_body, sym_escape_sequence, - [14779] = 4, - ACTIONS(790), 1, + [15923] = 2, + ACTIONS(3), 1, sym_comment, - ACTIONS(834), 1, + ACTIONS(878), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [15933] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym__scope, + ACTIONS(35), 1, + sym_constant, + STATE(178), 1, + sym_class_name, + STATE(441), 1, + sym_namespace, + [15949] = 4, + ACTIONS(804), 1, + sym_comment, + ACTIONS(880), 1, anon_sym_DQUOTE, - STATE(294), 1, + STATE(317), 1, aux_sym_string_literal_repeat1, - ACTIONS(836), 2, + ACTIONS(868), 2, sym_double_quote_string_body, sym_escape_sequence, - [14793] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(838), 2, - sym_interface, - sym_identifier, - ACTIONS(840), 2, - sym_constant, - anon_sym_STAR, - [14805] = 4, - ACTIONS(790), 1, + [15963] = 4, + ACTIONS(804), 1, sym_comment, - ACTIONS(834), 1, + ACTIONS(880), 1, anon_sym_SQUOTE, - STATE(292), 1, + STATE(316), 1, aux_sym_string_literal_repeat2, - ACTIONS(842), 2, + ACTIONS(870), 2, sym_single_quote_string_body, sym_escape_sequence, - [14819] = 2, + [15977] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(844), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [14829] = 4, - ACTIONS(790), 1, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(882), 1, + anon_sym_RBRACK, + [15993] = 4, + ACTIONS(804), 1, sym_comment, - ACTIONS(846), 1, + ACTIONS(884), 1, anon_sym_SQUOTE, - STATE(307), 1, + STATE(316), 1, aux_sym_string_literal_repeat2, - ACTIONS(848), 2, + ACTIONS(886), 2, sym_single_quote_string_body, sym_escape_sequence, - [14843] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(673), 1, - anon_sym_LBRACE, - ACTIONS(677), 1, - anon_sym_QMARK2, - ACTIONS(850), 1, - anon_sym_DASH_GT, - STATE(435), 1, - sym_block, - [14859] = 4, - ACTIONS(790), 1, + [16007] = 4, + ACTIONS(804), 1, sym_comment, - ACTIONS(846), 1, + ACTIONS(889), 1, anon_sym_DQUOTE, - STATE(301), 1, + STATE(317), 1, aux_sym_string_literal_repeat1, - ACTIONS(852), 2, + ACTIONS(891), 2, sym_double_quote_string_body, sym_escape_sequence, - [14873] = 4, - ACTIONS(790), 1, - sym_comment, - ACTIONS(854), 1, - anon_sym_SQUOTE, - STATE(307), 1, - aux_sym_string_literal_repeat2, - ACTIONS(848), 2, - sym_single_quote_string_body, - sym_escape_sequence, - [14887] = 4, - ACTIONS(790), 1, + [16021] = 4, + ACTIONS(804), 1, sym_comment, - ACTIONS(854), 1, + ACTIONS(874), 1, anon_sym_DQUOTE, - STATE(301), 1, + STATE(307), 1, aux_sym_string_literal_repeat1, - ACTIONS(852), 2, + ACTIONS(894), 2, sym_double_quote_string_body, sym_escape_sequence, - [14901] = 3, + [16035] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(474), 1, + anon_sym_PIPE, + ACTIONS(896), 1, + anon_sym_RBRACE, + [16051] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(856), 2, - sym_interface, - sym_identifier, - ACTIONS(858), 2, - sym_constant, - anon_sym_STAR, - [14913] = 5, + ACTIONS(701), 1, + anon_sym_LBRACE, + ACTIONS(705), 1, + anon_sym_QMARK2, + ACTIONS(898), 1, + anon_sym_DASH_GT, + STATE(417), 1, + sym_block, + [16067] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(161), 1, + STATE(8), 1, sym_class_name, - STATE(438), 1, + STATE(441), 1, sym_namespace, - [14929] = 5, + [16083] = 4, + ACTIONS(804), 1, + sym_comment, + ACTIONS(850), 1, + anon_sym_SQUOTE, + STATE(314), 1, + aux_sym_string_literal_repeat2, + ACTIONS(900), 2, + sym_single_quote_string_body, + sym_escape_sequence, + [16097] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(35), 1, - sym_constant, - STATE(9), 1, - sym_class_name, - STATE(438), 1, - sym_namespace, - [14945] = 5, + ACTIONS(904), 1, + anon_sym_LT, + STATE(374), 1, + sym_generics_bound, + ACTIONS(902), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [16111] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(906), 4, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [16121] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(438), 1, - sym_namespace, - STATE(467), 1, + STATE(186), 1, sym_class_name, - [14961] = 4, - ACTIONS(790), 1, - sym_comment, - ACTIONS(860), 1, - anon_sym_DQUOTE, - STATE(301), 1, - aux_sym_string_literal_repeat1, - ACTIONS(862), 2, - sym_double_quote_string_body, - sym_escape_sequence, - [14975] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(865), 1, - anon_sym_RPAREN, - ACTIONS(383), 3, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_QMARK, - [14987] = 3, + STATE(441), 1, + sym_namespace, + [16137] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(867), 2, + ACTIONS(908), 2, sym_interface, sym_identifier, - ACTIONS(869), 2, + ACTIONS(910), 2, sym_constant, anon_sym_STAR, - [14999] = 5, + [16149] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, sym__scope, ACTIONS(35), 1, sym_constant, - STATE(157), 1, + STATE(424), 1, sym_class_name, - STATE(438), 1, + STATE(441), 1, sym_namespace, - [15015] = 4, + [16165] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(828), 1, + ACTIONS(904), 1, anon_sym_LT, - STATE(361), 1, + STATE(396), 1, sym_generics_bound, - ACTIONS(871), 2, + ACTIONS(912), 2, anon_sym_COMMA, anon_sym_RBRACK, - [15029] = 4, + [16179] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(828), 1, + ACTIONS(904), 1, anon_sym_LT, - STATE(372), 1, + STATE(407), 1, sym_generics_bound, - ACTIONS(873), 2, + ACTIONS(914), 2, anon_sym_COMMA, anon_sym_RBRACK, - [15043] = 4, - ACTIONS(790), 1, - sym_comment, - ACTIONS(875), 1, - anon_sym_SQUOTE, - STATE(307), 1, - aux_sym_string_literal_repeat2, - ACTIONS(877), 2, - sym_single_quote_string_body, - sym_escape_sequence, - [15057] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(466), 1, - anon_sym_PIPE, - ACTIONS(880), 1, - anon_sym_RBRACK, - [15073] = 5, + [16193] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(11), 1, - sym__scope, - ACTIONS(35), 1, - sym_constant, - STATE(172), 1, - sym_class_name, - STATE(438), 1, - sym_namespace, - [15089] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(351), 1, + ACTIONS(339), 1, anon_sym_AMP, - ACTIONS(353), 1, + ACTIONS(341), 1, anon_sym_QMARK, - ACTIONS(466), 1, + ACTIONS(474), 1, anon_sym_PIPE, - ACTIONS(882), 1, + ACTIONS(916), 1, anon_sym_RBRACE, - [15105] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(673), 1, - anon_sym_LBRACE, - ACTIONS(677), 1, - anon_sym_QMARK2, - ACTIONS(884), 1, - anon_sym_DASH_GT, - STATE(426), 1, - sym_block, - [15121] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(886), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [15131] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(888), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [15141] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(890), 4, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [15151] = 2, + [16209] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(892), 4, + ACTIONS(918), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15161] = 5, + [16219] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(673), 1, + ACTIONS(701), 1, anon_sym_LBRACE, - ACTIONS(677), 1, + ACTIONS(705), 1, anon_sym_QMARK2, - ACTIONS(788), 1, + ACTIONS(818), 1, anon_sym_DASH_GT, - STATE(437), 1, + STATE(483), 1, sym_block, - [15177] = 5, + [16235] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, + ACTIONS(920), 1, + anon_sym_RPAREN, + ACTIONS(323), 3, + anon_sym_PIPE, anon_sym_AMP, - ACTIONS(353), 1, anon_sym_QMARK, - ACTIONS(466), 1, - anon_sym_PIPE, - ACTIONS(894), 1, - anon_sym_RBRACE, - [15193] = 2, + [16247] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(896), 4, + ACTIONS(922), 4, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DASH_GT, anon_sym_QMARK2, - [15203] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(79), 1, - anon_sym_LBRACK, - ACTIONS(898), 1, - anon_sym_EQ2, - STATE(471), 1, - sym_module_type_parameters, - [15216] = 4, + [16257] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(900), 1, + ACTIONS(924), 1, sym_identifier, - ACTIONS(902), 1, + ACTIONS(926), 1, anon_sym_RBRACE, - STATE(390), 1, + STATE(402), 1, sym__record_type_single, - [15229] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(904), 1, - anon_sym_RPAREN, - ACTIONS(906), 1, - anon_sym_COMMA, - STATE(340), 1, - aux_sym_optional_positionals_repeat1, - [15242] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(909), 1, - anon_sym_COMMA, - ACTIONS(911), 1, - anon_sym_RBRACK, - STATE(351), 1, - aux_sym_module_type_parameters_repeat1, - [15255] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(913), 1, - anon_sym_LPAREN, - ACTIONS(915), 1, - anon_sym_COLON, - ACTIONS(917), 1, - anon_sym_LPAREN_RPAREN, - [15268] = 2, + [16270] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(768), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - [15277] = 4, + ACTIONS(928), 1, + sym_identifier, + ACTIONS(930), 1, + sym_constant, + ACTIONS(932), 1, + sym_interface, + [16283] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(919), 1, - anon_sym_COMMA, - ACTIONS(922), 1, - anon_sym_RBRACK, - STATE(325), 1, - aux_sym_method_type_parameters_repeat1, - [15290] = 2, + ACTIONS(339), 1, + anon_sym_AMP, + ACTIONS(341), 1, + anon_sym_QMARK, + ACTIONS(474), 1, + anon_sym_PIPE, + [16296] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(924), 3, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LT, - [15299] = 4, + ACTIONS(934), 3, + anon_sym_LBRACE, + anon_sym_DASH_GT, + anon_sym_QMARK2, + [16305] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(926), 1, + ACTIONS(936), 1, anon_sym_RPAREN, - ACTIONS(928), 1, + ACTIONS(938), 1, anon_sym_COMMA, - STATE(337), 1, + STATE(367), 1, aux_sym_required_positionals_repeat1, - [15312] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(931), 1, - anon_sym_COMMA, - ACTIONS(934), 1, - anon_sym_RBRACE, - STATE(328), 1, - aux_sym_record_type_repeat1, - [15325] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(936), 1, - anon_sym_COMMA, - ACTIONS(938), 1, - anon_sym_RBRACE, - STATE(328), 1, - aux_sym_record_type_repeat1, - [15338] = 4, + [16318] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(810), 1, - anon_sym_RBRACK, - ACTIONS(940), 1, + ACTIONS(794), 3, + anon_sym_RPAREN, anon_sym_COMMA, - STATE(330), 1, - aux_sym_tuple_type_repeat1, - [15351] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(900), 1, - sym_identifier, - ACTIONS(943), 1, - anon_sym_RBRACE, - STATE(390), 1, - sym__record_type_single, - [15364] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(945), 1, - anon_sym_LPAREN, - ACTIONS(947), 1, anon_sym_COLON, - ACTIONS(949), 1, - anon_sym_LPAREN_RPAREN, - [15377] = 4, + [16327] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(909), 1, + ACTIONS(941), 1, anon_sym_COMMA, - ACTIONS(951), 1, + ACTIONS(944), 1, anon_sym_RBRACK, - STATE(322), 1, - aux_sym_module_type_parameters_repeat1, - [15390] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(953), 1, - anon_sym_RPAREN, - ACTIONS(955), 1, - anon_sym_COMMA, - STATE(327), 1, - aux_sym_required_positionals_repeat1, - [15403] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(958), 1, - anon_sym_RPAREN, - ACTIONS(960), 1, - anon_sym_COMMA, - STATE(350), 1, - aux_sym_required_positionals_repeat1, - [15416] = 4, + STATE(341), 1, + aux_sym_method_type_parameters_repeat1, + [16340] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(764), 1, + ACTIONS(790), 1, anon_sym_LBRACK, - ACTIONS(963), 1, + ACTIONS(946), 1, anon_sym_DASH_GT, - STATE(432), 1, + STATE(420), 1, sym_self_type_binding, - [15429] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(965), 1, - anon_sym_RPAREN, - ACTIONS(967), 1, - anon_sym_COMMA, - STATE(337), 1, - aux_sym_required_positionals_repeat1, - [15442] = 4, + [16353] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(764), 1, + ACTIONS(790), 1, anon_sym_LBRACK, - ACTIONS(970), 1, + ACTIONS(948), 1, anon_sym_DASH_GT, - STATE(417), 1, + STATE(451), 1, sym_self_type_binding, - [15455] = 4, + [16366] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 1, - anon_sym_AMP, - ACTIONS(353), 1, - anon_sym_QMARK, - ACTIONS(466), 1, - anon_sym_PIPE, - [15468] = 4, + ACTIONS(950), 1, + anon_sym_RPAREN, + ACTIONS(952), 1, + anon_sym_COMMA, + STATE(344), 1, + aux_sym_optional_positionals_repeat1, + [16379] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(972), 1, + ACTIONS(955), 1, anon_sym_RPAREN, - ACTIONS(974), 1, + ACTIONS(957), 1, anon_sym_COMMA, - STATE(343), 1, + STATE(368), 1, aux_sym_optional_positionals_repeat1, - [15481] = 4, + [16392] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(977), 1, + ACTIONS(960), 1, anon_sym_LPAREN, - ACTIONS(979), 1, + ACTIONS(962), 1, anon_sym_COLON, - ACTIONS(981), 1, + ACTIONS(964), 1, anon_sym_LPAREN_RPAREN, - [15494] = 4, + [16405] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(966), 3, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LT, + [16414] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(79), 1, + anon_sym_LBRACK, + ACTIONS(968), 1, + anon_sym_EQ2, + STATE(414), 1, + sym_module_type_parameters, + [16427] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(784), 1, + ACTIONS(812), 1, anon_sym_COMMA, - ACTIONS(983), 1, + ACTIONS(970), 1, anon_sym_RBRACK, - STATE(330), 1, + STATE(357), 1, aux_sym_tuple_type_repeat1, - [15507] = 4, + [16440] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(985), 1, - anon_sym_RPAREN, - ACTIONS(987), 1, + ACTIONS(972), 1, anon_sym_COMMA, - STATE(343), 1, - aux_sym_optional_positionals_repeat1, - [15520] = 4, + ACTIONS(975), 1, + anon_sym_RBRACE, + STATE(350), 1, + aux_sym_record_type_repeat1, + [16453] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(197), 1, + ACTIONS(205), 1, anon_sym_RBRACK, - ACTIONS(990), 1, + ACTIONS(977), 1, anon_sym_COMMA, - STATE(330), 1, + STATE(357), 1, aux_sym_tuple_type_repeat1, - [15533] = 4, + [16466] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(992), 1, - sym_identifier, - ACTIONS(994), 1, - sym_constant, - ACTIONS(996), 1, - sym_interface, - [15546] = 4, + ACTIONS(979), 1, + anon_sym_RPAREN, + ACTIONS(981), 1, + anon_sym_COMMA, + STATE(367), 1, + aux_sym_required_positionals_repeat1, + [16479] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(998), 1, + ACTIONS(984), 1, anon_sym_COMMA, - ACTIONS(1000), 1, + ACTIONS(986), 1, anon_sym_RBRACK, - STATE(349), 1, + STATE(356), 1, aux_sym_method_type_parameters_repeat1, - [15559] = 4, + [16492] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1002), 1, + ACTIONS(988), 1, anon_sym_LPAREN, - ACTIONS(1004), 1, + ACTIONS(990), 1, anon_sym_COLON, - ACTIONS(1006), 1, + ACTIONS(992), 1, anon_sym_LPAREN_RPAREN, - [15572] = 4, + [16505] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1008), 1, + ACTIONS(994), 1, anon_sym_COMMA, - ACTIONS(1010), 1, - anon_sym_RBRACE, - STATE(329), 1, - aux_sym_record_type_repeat1, - [15585] = 4, + ACTIONS(996), 1, + anon_sym_RBRACK, + STATE(358), 1, + aux_sym_module_type_parameters_repeat1, + [16518] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(998), 1, + ACTIONS(984), 1, anon_sym_COMMA, - ACTIONS(1012), 1, + ACTIONS(998), 1, anon_sym_RBRACK, - STATE(325), 1, + STATE(341), 1, aux_sym_method_type_parameters_repeat1, - [15598] = 4, + [16531] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1014), 1, - anon_sym_RPAREN, - ACTIONS(1016), 1, + ACTIONS(830), 1, + anon_sym_RBRACK, + ACTIONS(1000), 1, anon_sym_COMMA, - STATE(337), 1, - aux_sym_required_positionals_repeat1, - [15611] = 4, + STATE(357), 1, + aux_sym_tuple_type_repeat1, + [16544] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1019), 1, + ACTIONS(994), 1, anon_sym_COMMA, - ACTIONS(1022), 1, + ACTIONS(1003), 1, anon_sym_RBRACK, - STATE(351), 1, + STATE(369), 1, aux_sym_module_type_parameters_repeat1, - [15624] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1024), 3, - anon_sym_LBRACE, - anon_sym_DASH_GT, - anon_sym_QMARK2, - [15633] = 4, + [16557] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(900), 1, + ACTIONS(924), 1, sym_identifier, - ACTIONS(1026), 1, + ACTIONS(1005), 1, anon_sym_RBRACE, - STATE(348), 1, + STATE(402), 1, sym__record_type_single, - [15646] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1028), 1, - sym_constant, - ACTIONS(1030), 1, - sym_interface, - [15656] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1032), 1, - sym_self, - STATE(213), 1, - sym_singleton_method_name, - [15666] = 3, + [16570] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(900), 1, + ACTIONS(924), 1, sym_identifier, - STATE(390), 1, + ACTIONS(1007), 1, + anon_sym_RBRACE, + STATE(365), 1, sym__record_type_single, - [15676] = 3, + [16583] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(207), 1, - sym__scope, - ACTIONS(1034), 1, - anon_sym_COLON, - [15686] = 2, + ACTIONS(1009), 1, + anon_sym_COMMA, + ACTIONS(1011), 1, + anon_sym_RBRACE, + STATE(350), 1, + aux_sym_record_type_repeat1, + [16596] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(965), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [15694] = 3, + ACTIONS(1013), 1, + anon_sym_LPAREN, + ACTIONS(1015), 1, + anon_sym_COLON, + ACTIONS(1017), 1, + anon_sym_LPAREN_RPAREN, + [16609] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1036), 1, + ACTIONS(1019), 1, anon_sym_RPAREN, - ACTIONS(1038), 1, + ACTIONS(1021), 1, anon_sym_COMMA, - [15704] = 3, + STATE(352), 1, + aux_sym_required_positionals_repeat1, + [16622] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1040), 1, - sym_self, - STATE(213), 1, - sym_singleton_method_name, - [15714] = 2, + ACTIONS(1024), 1, + anon_sym_LPAREN, + ACTIONS(1026), 1, + anon_sym_COLON, + ACTIONS(1028), 1, + anon_sym_LPAREN_RPAREN, + [16635] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(873), 2, + ACTIONS(1030), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [15722] = 3, + ACTIONS(1032), 1, + anon_sym_RBRACE, + STATE(361), 1, + aux_sym_record_type_repeat1, + [16648] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(772), 1, - sym_constant, - STATE(285), 1, - sym_type_variable, - [15732] = 3, + ACTIONS(1034), 1, + anon_sym_RPAREN, + ACTIONS(1036), 1, + anon_sym_COMMA, + STATE(339), 1, + aux_sym_required_positionals_repeat1, + [16661] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1042), 1, + ACTIONS(1039), 1, anon_sym_RPAREN, - ACTIONS(1044), 1, + ACTIONS(1041), 1, anon_sym_COMMA, - [15742] = 3, + STATE(367), 1, + aux_sym_required_positionals_repeat1, + [16674] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1042), 1, + ACTIONS(1044), 1, anon_sym_RPAREN, ACTIONS(1046), 1, anon_sym_COMMA, - [15752] = 3, + STATE(344), 1, + aux_sym_optional_positionals_repeat1, + [16687] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1042), 1, - anon_sym_RPAREN, - ACTIONS(1048), 1, + ACTIONS(1049), 1, anon_sym_COMMA, - [15762] = 3, + ACTIONS(1052), 1, + anon_sym_RBRACK, + STATE(369), 1, + aux_sym_module_type_parameters_repeat1, + [16700] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1050), 1, + ACTIONS(1054), 2, anon_sym_RPAREN, - ACTIONS(1052), 1, anon_sym_COMMA, - [15772] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(669), 1, - anon_sym_LPAREN, - STATE(336), 1, - sym_parameters, - [15782] = 3, + [16708] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(994), 1, - sym_constant, - ACTIONS(1054), 1, - anon_sym_STAR, - [15792] = 3, + ACTIONS(215), 1, + sym__scope, + ACTIONS(1056), 1, + anon_sym_COLON, + [16718] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, - anon_sym_RPAREN, ACTIONS(1058), 1, - anon_sym_COMMA, - [15802] = 3, + sym_self, + STATE(223), 1, + sym_singleton_method_name, + [16728] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, - anon_sym_RPAREN, ACTIONS(1060), 1, - anon_sym_COMMA, - [15812] = 3, + sym_self, + STATE(223), 1, + sym_singleton_method_name, + [16738] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, - anon_sym_RPAREN, - ACTIONS(1062), 1, + ACTIONS(914), 2, anon_sym_COMMA, - [15822] = 2, + anon_sym_RBRACK, + [16746] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(826), 2, + ACTIONS(1062), 2, anon_sym_COMMA, anon_sym_RBRACK, - [15830] = 3, + [16754] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1036), 1, - anon_sym_RPAREN, - ACTIONS(1064), 1, + ACTIONS(1064), 2, anon_sym_COMMA, - [15840] = 2, + anon_sym_RBRACK, + [16762] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 2, - anon_sym_RPAREN, + ACTIONS(924), 1, + sym_identifier, + STATE(402), 1, + sym__record_type_single, + [16772] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1052), 2, anon_sym_COMMA, - [15848] = 3, + anon_sym_RBRACK, + [16780] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(746), 1, - sym_identifier, - STATE(398), 1, - sym_var_name, - [15858] = 2, + ACTIONS(1066), 2, + anon_sym_DOT, + anon_sym_QMARK_DOT, + [16788] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1068), 2, + ACTIONS(1039), 2, + anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_RBRACK, - [15866] = 3, + [16796] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1036), 1, + ACTIONS(697), 1, + anon_sym_LPAREN, + STATE(343), 1, + sym_parameters, + [16806] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1068), 1, anon_sym_RPAREN, ACTIONS(1070), 1, anon_sym_COMMA, - [15876] = 2, + [16816] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1072), 2, + ACTIONS(1068), 1, + anon_sym_RPAREN, + ACTIONS(1072), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [15884] = 3, + [16826] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(772), 1, + ACTIONS(796), 1, sym_constant, - STATE(306), 1, + STATE(353), 1, sym_type_variable, - [15894] = 2, + [16836] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1074), 2, - anon_sym_DOT, - anon_sym_QMARK_DOT, - [15902] = 2, + ACTIONS(776), 1, + sym_identifier, + STATE(432), 1, + sym_var_name, + [16846] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 2, + ACTIONS(1074), 1, anon_sym_RPAREN, + ACTIONS(1076), 1, anon_sym_COMMA, - [15910] = 3, + [16856] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(213), 1, - sym__scope, + ACTIONS(1068), 1, + anon_sym_RPAREN, ACTIONS(1078), 1, + anon_sym_COMMA, + [16866] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(221), 1, + sym__scope, + ACTIONS(1080), 1, anon_sym_COLON, - [15920] = 3, + [16876] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(772), 1, - sym_constant, - STATE(346), 1, - sym_type_variable, - [15930] = 2, + ACTIONS(1082), 1, + anon_sym_RPAREN, + ACTIONS(1084), 1, + anon_sym_COMMA, + [16886] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1082), 1, + anon_sym_RPAREN, + ACTIONS(1086), 1, + anon_sym_COMMA, + [16896] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1022), 2, + ACTIONS(1082), 1, + anon_sym_RPAREN, + ACTIONS(1088), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [15938] = 2, + [16906] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1080), 2, + ACTIONS(1090), 1, + anon_sym_RPAREN, + ACTIONS(1092), 1, anon_sym_COMMA, - anon_sym_RBRACK, - [15946] = 3, + [16916] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1028), 1, + ACTIONS(930), 1, sym_constant, - ACTIONS(1082), 1, - sym_identifier, - [15956] = 3, + ACTIONS(1094), 1, + sym_interface, + [16926] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(772), 1, + ACTIONS(930), 1, sym_constant, - STATE(389), 1, - sym_type_variable, - [15966] = 2, + ACTIONS(1096), 1, + anon_sym_STAR, + [16936] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1084), 2, + ACTIONS(1090), 1, anon_sym_RPAREN, + ACTIONS(1098), 1, anon_sym_COMMA, - [15974] = 2, + [16946] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(922), 2, + ACTIONS(902), 2, anon_sym_COMMA, anon_sym_RBRACK, - [15982] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1086), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [15990] = 3, + [16954] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(994), 1, + ACTIONS(796), 1, sym_constant, - ACTIONS(1030), 1, - sym_interface, - [16000] = 3, + STATE(405), 1, + sym_type_variable, + [16964] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(669), 1, - anon_sym_LPAREN, - STATE(338), 1, - sym_parameters, - [16010] = 2, + ACTIONS(796), 1, + sym_constant, + STATE(329), 1, + sym_type_variable, + [16974] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1088), 1, - sym_ivar_name, - [16017] = 2, + ACTIONS(1090), 1, + anon_sym_RPAREN, + ACTIONS(1100), 1, + anon_sym_COMMA, + [16984] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(788), 1, - anon_sym_DASH_GT, - [16024] = 2, + ACTIONS(1102), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [16992] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1090), 1, + ACTIONS(796), 1, sym_constant, - [16031] = 2, + STATE(323), 1, + sym_type_variable, + [17002] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1092), 1, - anon_sym_RPAREN, - [16038] = 2, + ACTIONS(1104), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [17010] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1094), 1, - anon_sym_COLON, - [16045] = 2, + sym_interface, + ACTIONS(1106), 1, + sym_constant, + [17020] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1096), 1, - anon_sym_COLON, - [16052] = 2, + ACTIONS(697), 1, + anon_sym_LPAREN, + STATE(342), 1, + sym_parameters, + [17030] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(944), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [17038] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1098), 1, - anon_sym_COLON, - [16059] = 2, + ACTIONS(1108), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [17046] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1100), 1, - anon_sym_DOT, - [16066] = 2, + ACTIONS(1110), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [17054] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1102), 1, - anon_sym_DOT, - [16073] = 2, + ACTIONS(1106), 1, + sym_constant, + ACTIONS(1112), 1, + sym_identifier, + [17064] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(981), 1, - anon_sym_RPAREN, - [16080] = 2, + ACTIONS(1114), 1, + anon_sym_COLON, + [17071] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1104), 1, - sym_ivar_name, - [16087] = 2, + ACTIONS(1116), 1, + anon_sym_COLON, + [17078] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1106), 1, - anon_sym_DOT, - [16094] = 2, + ACTIONS(1118), 1, + sym_ivar_name, + [17085] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1108), 1, + ACTIONS(1120), 1, anon_sym_COLON, - [16101] = 2, + [17092] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(979), 1, + ACTIONS(1122), 1, anon_sym_COLON, - [16108] = 2, + [17099] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1110), 1, - anon_sym_RPAREN, - [16115] = 2, + ACTIONS(1124), 1, + anon_sym_EQ2, + [17106] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1112), 1, - sym_ivar_name, - [16122] = 2, + ACTIONS(1126), 1, + anon_sym_RPAREN, + [17113] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1114), 1, - anon_sym_COLON, - [16129] = 2, + ACTIONS(1128), 1, + sym_constant, + [17120] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, + ACTIONS(1130), 1, anon_sym_DASH_GT, - [16136] = 2, + [17127] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1116), 1, - sym_self, - [16143] = 2, + ACTIONS(1132), 1, + anon_sym_COLON, + [17134] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1118), 1, + ACTIONS(1134), 1, anon_sym_COLON, - [16150] = 2, + [17141] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1120), 1, - anon_sym_LBRACE, - [16157] = 2, + ACTIONS(948), 1, + anon_sym_DASH_GT, + [17148] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1122), 1, + ACTIONS(818), 1, anon_sym_DASH_GT, - [16164] = 2, + [17155] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1136), 1, + sym_constant, + [17162] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(207), 1, + ACTIONS(215), 1, sym__scope, - [16171] = 2, + [17169] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1124), 1, - anon_sym_COLON, - [16178] = 2, + ACTIONS(1138), 1, + anon_sym_RPAREN, + [17176] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(963), 1, - anon_sym_DASH_GT, - [16185] = 2, + ACTIONS(1140), 1, + anon_sym_DOT, + [17183] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1126), 1, - anon_sym_GT, - [16192] = 2, + ACTIONS(1142), 1, + anon_sym_def, + [17190] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1126), 1, - anon_sym_PIPE, - [16199] = 2, + ACTIONS(1144), 1, + anon_sym_DASH_GT, + [17197] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1128), 1, - anon_sym_RPAREN, - [16206] = 2, + ACTIONS(1146), 1, + ts_builtin_sym_end, + [17204] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1126), 1, - anon_sym_RBRACK, - [16213] = 2, + ACTIONS(1148), 1, + sym_ivar_name, + [17211] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1126), 1, + ACTIONS(1150), 1, + anon_sym_LBRACE, + [17218] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1152), 1, anon_sym_RPAREN, - [16220] = 2, + [17225] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1130), 1, + ACTIONS(1154), 1, anon_sym_COLON, - [16227] = 2, + [17232] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1132), 1, - sym_constant, - [16234] = 2, + ACTIONS(1156), 1, + anon_sym_GT, + [17239] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1036), 1, + ACTIONS(1158), 1, anon_sym_RPAREN, - [16241] = 2, + [17246] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1134), 1, - anon_sym_DASH_GT, - [16248] = 2, + ACTIONS(1160), 1, + sym_self, + [17253] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1136), 1, + ACTIONS(1162), 1, sym_ivar_name, - [16255] = 2, + [17260] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, + ACTIONS(1164), 1, anon_sym_RPAREN, - [16262] = 2, + [17267] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1138), 1, - anon_sym_QMARK2, - [16269] = 2, + ACTIONS(1166), 1, + anon_sym_COLON, + [17274] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1140), 1, - anon_sym_RPAREN, - [16276] = 2, + ACTIONS(1168), 1, + anon_sym_COLON, + [17281] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1142), 1, - anon_sym_DASH_GT, - [16283] = 2, + ACTIONS(1170), 1, + anon_sym_COLON, + [17288] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1144), 1, - anon_sym_DASH_GT, - [16290] = 2, + ACTIONS(930), 1, + sym_constant, + [17295] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1146), 1, + ACTIONS(1172), 1, anon_sym_COLON, - [16297] = 2, + [17302] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1126), 1, - anon_sym_RBRACE, - [16304] = 2, + ACTIONS(1174), 1, + anon_sym_DASH_GT, + [17309] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1148), 1, - anon_sym_DASH_GT, - [16311] = 2, + ACTIONS(1176), 1, + anon_sym_DOT, + [17316] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1150), 1, + ACTIONS(1090), 1, anon_sym_RPAREN, - [16318] = 2, + [17323] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(884), 1, - anon_sym_DASH_GT, - [16325] = 2, + ACTIONS(1178), 1, + anon_sym_COLON, + [17330] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(994), 1, - sym_constant, - [16332] = 2, + ACTIONS(1180), 1, + anon_sym_RPAREN, + [17337] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1152), 1, - anon_sym_COLON, - [16339] = 2, + ACTIONS(1182), 1, + anon_sym_DASH_GT, + [17344] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1154), 1, - anon_sym_COLON, - [16346] = 2, + ACTIONS(1184), 1, + sym_ivar_name, + [17351] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1156), 1, + ACTIONS(1186), 1, + sym_ivar_name, + [17358] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1188), 1, anon_sym_DASH_GT, - [16353] = 2, + [17365] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1158), 1, - anon_sym_COLON, - [16360] = 2, + ACTIONS(1156), 1, + anon_sym_RBRACE, + [17372] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1160), 1, + ACTIONS(1190), 1, anon_sym_COLON, - [16367] = 2, + [17379] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(915), 1, - anon_sym_COLON, - [16374] = 2, + ACTIONS(1192), 1, + anon_sym_RPAREN, + [17386] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1050), 1, + ACTIONS(1082), 1, anon_sym_RPAREN, - [16381] = 2, + [17393] = 2, + ACTIONS(804), 1, + sym_comment, + ACTIONS(1194), 1, + sym__annotation_text_without_angle_bracket, + [17400] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1162), 1, + ACTIONS(862), 1, + anon_sym_DASH_GT, + [17407] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1196), 1, anon_sym_COLON, - [16388] = 2, + [17414] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1164), 1, + ACTIONS(1198), 1, + anon_sym_DASH_GT, + [17421] = 2, + ACTIONS(804), 1, + sym_comment, + ACTIONS(1200), 1, + sym__annotation_text_without_bar, + [17428] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 1, anon_sym_RPAREN, - [16395] = 2, + [17435] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1164), 1, + ACTIONS(1204), 1, anon_sym_RPAREN, - [16402] = 2, + [17442] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1042), 1, + ACTIONS(1074), 1, anon_sym_RPAREN, - [16409] = 2, + [17449] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1166), 1, + ACTIONS(1202), 1, anon_sym_RPAREN, - [16416] = 2, + [17456] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1168), 1, - sym_ivar_name, - [16423] = 2, + ACTIONS(1206), 1, + anon_sym_COLON, + [17463] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(814), 1, - anon_sym_def, - [16430] = 2, + ACTIONS(221), 1, + sym__scope, + [17470] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1170), 1, - sym_constant, - [16437] = 2, + ACTIONS(1068), 1, + anon_sym_RPAREN, + [17477] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1172), 1, - ts_builtin_sym_end, - [16444] = 2, + ACTIONS(1208), 1, + anon_sym_RPAREN, + [17484] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1174), 1, + ACTIONS(1210), 1, anon_sym_COLON, - [16451] = 2, + [17491] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1176), 1, + ACTIONS(838), 1, anon_sym_def, - [16458] = 2, + [17498] = 2, + ACTIONS(804), 1, + sym_comment, + ACTIONS(1212), 1, + sym__annotation_text_without_bracket, + [17505] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(213), 1, - sym__scope, - [16465] = 2, + ACTIONS(1214), 1, + anon_sym_DOT, + [17512] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(917), 1, + ACTIONS(1156), 1, anon_sym_RPAREN, - [16472] = 2, - ACTIONS(790), 1, - sym_comment, - ACTIONS(1178), 1, - sym__annotation_text_without_angle_bracket, - [16479] = 2, - ACTIONS(790), 1, - sym_comment, - ACTIONS(1180), 1, - sym__annotation_text_without_bar, - [16486] = 2, - ACTIONS(790), 1, - sym_comment, - ACTIONS(1182), 1, - sym__annotation_text_without_bracket, - [16493] = 2, - ACTIONS(790), 1, + [17519] = 2, + ACTIONS(804), 1, sym_comment, - ACTIONS(1184), 1, + ACTIONS(1216), 1, sym__annotation_text_without_parenthesis, - [16500] = 2, - ACTIONS(790), 1, + [17526] = 2, + ACTIONS(804), 1, sym_comment, - ACTIONS(1186), 1, + ACTIONS(1218), 1, sym__annotation_text_without_brace, - [16507] = 2, + [17533] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1188), 1, + ACTIONS(1220), 1, + anon_sym_QMARK2, + [17540] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1222), 1, anon_sym_LPAREN, - [16514] = 2, + [17547] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1190), 1, - anon_sym_DOT, - [16521] = 2, + ACTIONS(1224), 1, + anon_sym_COLON, + [17554] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1192), 1, - anon_sym_DOT, - [16528] = 2, + ACTIONS(1156), 1, + anon_sym_RBRACK, + [17561] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1194), 1, - anon_sym_RPAREN, - [16535] = 2, + ACTIONS(1156), 1, + anon_sym_PIPE, + [17568] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1004), 1, + ACTIONS(1226), 1, anon_sym_COLON, - [16542] = 2, + [17575] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1196), 1, + ACTIONS(1228), 1, + sym_constant, + [17582] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(898), 1, + anon_sym_DASH_GT, + [17589] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1230), 1, + anon_sym_COLON, + [17596] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1232), 1, anon_sym_DOT, - [16549] = 2, + [17603] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1198), 1, + ACTIONS(1234), 1, anon_sym_DOT, - [16556] = 2, + [17610] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1200), 1, - anon_sym_EQ2, + ACTIONS(1236), 1, + anon_sym_DOT, + [17617] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1238), 1, + anon_sym_DOT, + [17624] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1240), 1, + anon_sym_COLON, }; static const uint32_t ts_small_parse_table_map[] = { @@ -17510,463 +18517,481 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(12)] = 1268, [SMALL_STATE(13)] = 1384, [SMALL_STATE(14)] = 1500, - [SMALL_STATE(15)] = 1616, - [SMALL_STATE(16)] = 1732, - [SMALL_STATE(17)] = 1848, - [SMALL_STATE(18)] = 1964, - [SMALL_STATE(19)] = 2080, - [SMALL_STATE(20)] = 2196, - [SMALL_STATE(21)] = 2312, + [SMALL_STATE(15)] = 1604, + [SMALL_STATE(16)] = 1720, + [SMALL_STATE(17)] = 1836, + [SMALL_STATE(18)] = 1952, + [SMALL_STATE(19)] = 2068, + [SMALL_STATE(20)] = 2184, + [SMALL_STATE(21)] = 2300, [SMALL_STATE(22)] = 2416, [SMALL_STATE(23)] = 2532, [SMALL_STATE(24)] = 2648, - [SMALL_STATE(25)] = 2749, - [SMALL_STATE(26)] = 2850, - [SMALL_STATE(27)] = 2951, - [SMALL_STATE(28)] = 3052, - [SMALL_STATE(29)] = 3153, - [SMALL_STATE(30)] = 3254, - [SMALL_STATE(31)] = 3355, - [SMALL_STATE(32)] = 3453, - [SMALL_STATE(33)] = 3551, - [SMALL_STATE(34)] = 3649, - [SMALL_STATE(35)] = 3747, - [SMALL_STATE(36)] = 3845, - [SMALL_STATE(37)] = 3943, - [SMALL_STATE(38)] = 4041, - [SMALL_STATE(39)] = 4139, - [SMALL_STATE(40)] = 4237, - [SMALL_STATE(41)] = 4335, - [SMALL_STATE(42)] = 4433, - [SMALL_STATE(43)] = 4531, - [SMALL_STATE(44)] = 4629, - [SMALL_STATE(45)] = 4727, - [SMALL_STATE(46)] = 4825, - [SMALL_STATE(47)] = 4923, - [SMALL_STATE(48)] = 5021, - [SMALL_STATE(49)] = 5119, - [SMALL_STATE(50)] = 5217, - [SMALL_STATE(51)] = 5315, - [SMALL_STATE(52)] = 5413, - [SMALL_STATE(53)] = 5511, - [SMALL_STATE(54)] = 5609, - [SMALL_STATE(55)] = 5707, - [SMALL_STATE(56)] = 5805, - [SMALL_STATE(57)] = 5903, - [SMALL_STATE(58)] = 6001, - [SMALL_STATE(59)] = 6099, - [SMALL_STATE(60)] = 6197, - [SMALL_STATE(61)] = 6295, - [SMALL_STATE(62)] = 6393, - [SMALL_STATE(63)] = 6491, - [SMALL_STATE(64)] = 6542, - [SMALL_STATE(65)] = 6593, - [SMALL_STATE(66)] = 6655, - [SMALL_STATE(67)] = 6717, - [SMALL_STATE(68)] = 6776, - [SMALL_STATE(69)] = 6835, - [SMALL_STATE(70)] = 6894, - [SMALL_STATE(71)] = 6953, - [SMALL_STATE(72)] = 7009, - [SMALL_STATE(73)] = 7065, - [SMALL_STATE(74)] = 7121, - [SMALL_STATE(75)] = 7177, - [SMALL_STATE(76)] = 7233, - [SMALL_STATE(77)] = 7289, - [SMALL_STATE(78)] = 7345, - [SMALL_STATE(79)] = 7401, - [SMALL_STATE(80)] = 7457, - [SMALL_STATE(81)] = 7506, - [SMALL_STATE(82)] = 7551, - [SMALL_STATE(83)] = 7600, - [SMALL_STATE(84)] = 7649, - [SMALL_STATE(85)] = 7694, - [SMALL_STATE(86)] = 7740, - [SMALL_STATE(87)] = 7784, - [SMALL_STATE(88)] = 7828, - [SMALL_STATE(89)] = 7872, - [SMALL_STATE(90)] = 7916, - [SMALL_STATE(91)] = 7960, - [SMALL_STATE(92)] = 8004, - [SMALL_STATE(93)] = 8048, - [SMALL_STATE(94)] = 8092, - [SMALL_STATE(95)] = 8135, - [SMALL_STATE(96)] = 8178, - [SMALL_STATE(97)] = 8221, - [SMALL_STATE(98)] = 8264, - [SMALL_STATE(99)] = 8307, - [SMALL_STATE(100)] = 8350, - [SMALL_STATE(101)] = 8393, - [SMALL_STATE(102)] = 8436, - [SMALL_STATE(103)] = 8483, - [SMALL_STATE(104)] = 8526, - [SMALL_STATE(105)] = 8569, - [SMALL_STATE(106)] = 8612, - [SMALL_STATE(107)] = 8655, - [SMALL_STATE(108)] = 8698, - [SMALL_STATE(109)] = 8741, - [SMALL_STATE(110)] = 8784, - [SMALL_STATE(111)] = 8827, - [SMALL_STATE(112)] = 8870, - [SMALL_STATE(113)] = 8915, - [SMALL_STATE(114)] = 8958, - [SMALL_STATE(115)] = 9001, - [SMALL_STATE(116)] = 9044, - [SMALL_STATE(117)] = 9087, - [SMALL_STATE(118)] = 9134, - [SMALL_STATE(119)] = 9177, - [SMALL_STATE(120)] = 9220, - [SMALL_STATE(121)] = 9267, - [SMALL_STATE(122)] = 9314, - [SMALL_STATE(123)] = 9361, - [SMALL_STATE(124)] = 9404, - [SMALL_STATE(125)] = 9450, - [SMALL_STATE(126)] = 9496, - [SMALL_STATE(127)] = 9537, - [SMALL_STATE(128)] = 9588, - [SMALL_STATE(129)] = 9630, - [SMALL_STATE(130)] = 9672, - [SMALL_STATE(131)] = 9748, - [SMALL_STATE(132)] = 9824, - [SMALL_STATE(133)] = 9866, - [SMALL_STATE(134)] = 9901, - [SMALL_STATE(135)] = 9936, - [SMALL_STATE(136)] = 9974, - [SMALL_STATE(137)] = 10014, - [SMALL_STATE(138)] = 10054, - [SMALL_STATE(139)] = 10092, - [SMALL_STATE(140)] = 10132, - [SMALL_STATE(141)] = 10172, - [SMALL_STATE(142)] = 10212, - [SMALL_STATE(143)] = 10250, - [SMALL_STATE(144)] = 10286, - [SMALL_STATE(145)] = 10326, - [SMALL_STATE(146)] = 10362, - [SMALL_STATE(147)] = 10402, - [SMALL_STATE(148)] = 10442, - [SMALL_STATE(149)] = 10482, - [SMALL_STATE(150)] = 10522, - [SMALL_STATE(151)] = 10559, - [SMALL_STATE(152)] = 10628, - [SMALL_STATE(153)] = 10665, - [SMALL_STATE(154)] = 10702, - [SMALL_STATE(155)] = 10739, - [SMALL_STATE(156)] = 10808, - [SMALL_STATE(157)] = 10841, - [SMALL_STATE(158)] = 10878, - [SMALL_STATE(159)] = 10911, - [SMALL_STATE(160)] = 10944, - [SMALL_STATE(161)] = 10981, - [SMALL_STATE(162)] = 11014, - [SMALL_STATE(163)] = 11047, - [SMALL_STATE(164)] = 11084, - [SMALL_STATE(165)] = 11121, - [SMALL_STATE(166)] = 11154, - [SMALL_STATE(167)] = 11187, - [SMALL_STATE(168)] = 11220, - [SMALL_STATE(169)] = 11253, - [SMALL_STATE(170)] = 11322, - [SMALL_STATE(171)] = 11355, - [SMALL_STATE(172)] = 11388, - [SMALL_STATE(173)] = 11421, - [SMALL_STATE(174)] = 11454, - [SMALL_STATE(175)] = 11487, - [SMALL_STATE(176)] = 11520, - [SMALL_STATE(177)] = 11553, - [SMALL_STATE(178)] = 11586, - [SMALL_STATE(179)] = 11619, - [SMALL_STATE(180)] = 11656, - [SMALL_STATE(181)] = 11688, - [SMALL_STATE(182)] = 11722, - [SMALL_STATE(183)] = 11754, - [SMALL_STATE(184)] = 11786, - [SMALL_STATE(185)] = 11818, - [SMALL_STATE(186)] = 11850, - [SMALL_STATE(187)] = 11881, - [SMALL_STATE(188)] = 11912, - [SMALL_STATE(189)] = 11943, - [SMALL_STATE(190)] = 11974, - [SMALL_STATE(191)] = 12005, - [SMALL_STATE(192)] = 12036, - [SMALL_STATE(193)] = 12067, - [SMALL_STATE(194)] = 12098, - [SMALL_STATE(195)] = 12129, - [SMALL_STATE(196)] = 12160, - [SMALL_STATE(197)] = 12191, - [SMALL_STATE(198)] = 12222, - [SMALL_STATE(199)] = 12253, - [SMALL_STATE(200)] = 12284, - [SMALL_STATE(201)] = 12315, - [SMALL_STATE(202)] = 12346, - [SMALL_STATE(203)] = 12377, - [SMALL_STATE(204)] = 12408, - [SMALL_STATE(205)] = 12439, - [SMALL_STATE(206)] = 12470, - [SMALL_STATE(207)] = 12501, - [SMALL_STATE(208)] = 12532, - [SMALL_STATE(209)] = 12563, - [SMALL_STATE(210)] = 12594, - [SMALL_STATE(211)] = 12625, - [SMALL_STATE(212)] = 12656, - [SMALL_STATE(213)] = 12687, - [SMALL_STATE(214)] = 12718, - [SMALL_STATE(215)] = 12780, - [SMALL_STATE(216)] = 12841, - [SMALL_STATE(217)] = 12902, - [SMALL_STATE(218)] = 12963, - [SMALL_STATE(219)] = 13024, - [SMALL_STATE(220)] = 13079, - [SMALL_STATE(221)] = 13134, - [SMALL_STATE(222)] = 13189, - [SMALL_STATE(223)] = 13244, - [SMALL_STATE(224)] = 13305, - [SMALL_STATE(225)] = 13360, - [SMALL_STATE(226)] = 13386, - [SMALL_STATE(227)] = 13412, - [SMALL_STATE(228)] = 13436, - [SMALL_STATE(229)] = 13464, - [SMALL_STATE(230)] = 13490, - [SMALL_STATE(231)] = 13516, - [SMALL_STATE(232)] = 13562, - [SMALL_STATE(233)] = 13583, - [SMALL_STATE(234)] = 13604, - [SMALL_STATE(235)] = 13625, - [SMALL_STATE(236)] = 13671, - [SMALL_STATE(237)] = 13717, - [SMALL_STATE(238)] = 13763, - [SMALL_STATE(239)] = 13782, - [SMALL_STATE(240)] = 13805, - [SMALL_STATE(241)] = 13828, - [SMALL_STATE(242)] = 13847, - [SMALL_STATE(243)] = 13882, - [SMALL_STATE(244)] = 13899, - [SMALL_STATE(245)] = 13916, - [SMALL_STATE(246)] = 13949, - [SMALL_STATE(247)] = 13966, - [SMALL_STATE(248)] = 13981, - [SMALL_STATE(249)] = 14010, - [SMALL_STATE(250)] = 14025, - [SMALL_STATE(251)] = 14051, - [SMALL_STATE(252)] = 14077, - [SMALL_STATE(253)] = 14103, - [SMALL_STATE(254)] = 14129, - [SMALL_STATE(255)] = 14157, - [SMALL_STATE(256)] = 14183, - [SMALL_STATE(257)] = 14199, - [SMALL_STATE(258)] = 14222, - [SMALL_STATE(259)] = 14245, - [SMALL_STATE(260)] = 14268, - [SMALL_STATE(261)] = 14291, - [SMALL_STATE(262)] = 14314, - [SMALL_STATE(263)] = 14337, - [SMALL_STATE(264)] = 14359, - [SMALL_STATE(265)] = 14377, - [SMALL_STATE(266)] = 14397, - [SMALL_STATE(267)] = 14419, - [SMALL_STATE(268)] = 14441, - [SMALL_STATE(269)] = 14461, - [SMALL_STATE(270)] = 14481, - [SMALL_STATE(271)] = 14499, - [SMALL_STATE(272)] = 14517, - [SMALL_STATE(273)] = 14536, - [SMALL_STATE(274)] = 14555, - [SMALL_STATE(275)] = 14574, - [SMALL_STATE(276)] = 14591, - [SMALL_STATE(277)] = 14610, - [SMALL_STATE(278)] = 14627, - [SMALL_STATE(279)] = 14644, - [SMALL_STATE(280)] = 14657, - [SMALL_STATE(281)] = 14676, - [SMALL_STATE(282)] = 14695, - [SMALL_STATE(283)] = 14711, - [SMALL_STATE(284)] = 14721, - [SMALL_STATE(285)] = 14735, - [SMALL_STATE(286)] = 14749, - [SMALL_STATE(287)] = 14765, - [SMALL_STATE(288)] = 14779, - [SMALL_STATE(289)] = 14793, - [SMALL_STATE(290)] = 14805, - [SMALL_STATE(291)] = 14819, - [SMALL_STATE(292)] = 14829, - [SMALL_STATE(293)] = 14843, - [SMALL_STATE(294)] = 14859, - [SMALL_STATE(295)] = 14873, - [SMALL_STATE(296)] = 14887, - [SMALL_STATE(297)] = 14901, - [SMALL_STATE(298)] = 14913, - [SMALL_STATE(299)] = 14929, - [SMALL_STATE(300)] = 14945, - [SMALL_STATE(301)] = 14961, - [SMALL_STATE(302)] = 14975, - [SMALL_STATE(303)] = 14987, - [SMALL_STATE(304)] = 14999, - [SMALL_STATE(305)] = 15015, - [SMALL_STATE(306)] = 15029, - [SMALL_STATE(307)] = 15043, - [SMALL_STATE(308)] = 15057, - [SMALL_STATE(309)] = 15073, - [SMALL_STATE(310)] = 15089, - [SMALL_STATE(311)] = 15105, - [SMALL_STATE(312)] = 15121, - [SMALL_STATE(313)] = 15131, - [SMALL_STATE(314)] = 15141, - [SMALL_STATE(315)] = 15151, - [SMALL_STATE(316)] = 15161, - [SMALL_STATE(317)] = 15177, - [SMALL_STATE(318)] = 15193, - [SMALL_STATE(319)] = 15203, - [SMALL_STATE(320)] = 15216, - [SMALL_STATE(321)] = 15229, - [SMALL_STATE(322)] = 15242, - [SMALL_STATE(323)] = 15255, - [SMALL_STATE(324)] = 15268, - [SMALL_STATE(325)] = 15277, - [SMALL_STATE(326)] = 15290, - [SMALL_STATE(327)] = 15299, - [SMALL_STATE(328)] = 15312, - [SMALL_STATE(329)] = 15325, - [SMALL_STATE(330)] = 15338, - [SMALL_STATE(331)] = 15351, - [SMALL_STATE(332)] = 15364, - [SMALL_STATE(333)] = 15377, - [SMALL_STATE(334)] = 15390, - [SMALL_STATE(335)] = 15403, - [SMALL_STATE(336)] = 15416, - [SMALL_STATE(337)] = 15429, - [SMALL_STATE(338)] = 15442, - [SMALL_STATE(339)] = 15455, - [SMALL_STATE(340)] = 15468, - [SMALL_STATE(341)] = 15481, - [SMALL_STATE(342)] = 15494, - [SMALL_STATE(343)] = 15507, - [SMALL_STATE(344)] = 15520, - [SMALL_STATE(345)] = 15533, - [SMALL_STATE(346)] = 15546, - [SMALL_STATE(347)] = 15559, - [SMALL_STATE(348)] = 15572, - [SMALL_STATE(349)] = 15585, - [SMALL_STATE(350)] = 15598, - [SMALL_STATE(351)] = 15611, - [SMALL_STATE(352)] = 15624, - [SMALL_STATE(353)] = 15633, - [SMALL_STATE(354)] = 15646, - [SMALL_STATE(355)] = 15656, - [SMALL_STATE(356)] = 15666, - [SMALL_STATE(357)] = 15676, - [SMALL_STATE(358)] = 15686, - [SMALL_STATE(359)] = 15694, - [SMALL_STATE(360)] = 15704, - [SMALL_STATE(361)] = 15714, - [SMALL_STATE(362)] = 15722, - [SMALL_STATE(363)] = 15732, - [SMALL_STATE(364)] = 15742, - [SMALL_STATE(365)] = 15752, - [SMALL_STATE(366)] = 15762, - [SMALL_STATE(367)] = 15772, - [SMALL_STATE(368)] = 15782, - [SMALL_STATE(369)] = 15792, - [SMALL_STATE(370)] = 15802, - [SMALL_STATE(371)] = 15812, - [SMALL_STATE(372)] = 15822, - [SMALL_STATE(373)] = 15830, - [SMALL_STATE(374)] = 15840, - [SMALL_STATE(375)] = 15848, - [SMALL_STATE(376)] = 15858, - [SMALL_STATE(377)] = 15866, - [SMALL_STATE(378)] = 15876, - [SMALL_STATE(379)] = 15884, - [SMALL_STATE(380)] = 15894, - [SMALL_STATE(381)] = 15902, - [SMALL_STATE(382)] = 15910, - [SMALL_STATE(383)] = 15920, - [SMALL_STATE(384)] = 15930, - [SMALL_STATE(385)] = 15938, - [SMALL_STATE(386)] = 15946, - [SMALL_STATE(387)] = 15956, - [SMALL_STATE(388)] = 15966, - [SMALL_STATE(389)] = 15974, - [SMALL_STATE(390)] = 15982, - [SMALL_STATE(391)] = 15990, - [SMALL_STATE(392)] = 16000, - [SMALL_STATE(393)] = 16010, - [SMALL_STATE(394)] = 16017, - [SMALL_STATE(395)] = 16024, - [SMALL_STATE(396)] = 16031, - [SMALL_STATE(397)] = 16038, - [SMALL_STATE(398)] = 16045, - [SMALL_STATE(399)] = 16052, - [SMALL_STATE(400)] = 16059, - [SMALL_STATE(401)] = 16066, - [SMALL_STATE(402)] = 16073, - [SMALL_STATE(403)] = 16080, - [SMALL_STATE(404)] = 16087, - [SMALL_STATE(405)] = 16094, - [SMALL_STATE(406)] = 16101, - [SMALL_STATE(407)] = 16108, - [SMALL_STATE(408)] = 16115, - [SMALL_STATE(409)] = 16122, - [SMALL_STATE(410)] = 16129, - [SMALL_STATE(411)] = 16136, - [SMALL_STATE(412)] = 16143, - [SMALL_STATE(413)] = 16150, - [SMALL_STATE(414)] = 16157, - [SMALL_STATE(415)] = 16164, - [SMALL_STATE(416)] = 16171, - [SMALL_STATE(417)] = 16178, - [SMALL_STATE(418)] = 16185, - [SMALL_STATE(419)] = 16192, - [SMALL_STATE(420)] = 16199, - [SMALL_STATE(421)] = 16206, - [SMALL_STATE(422)] = 16213, - [SMALL_STATE(423)] = 16220, - [SMALL_STATE(424)] = 16227, - [SMALL_STATE(425)] = 16234, - [SMALL_STATE(426)] = 16241, - [SMALL_STATE(427)] = 16248, - [SMALL_STATE(428)] = 16255, - [SMALL_STATE(429)] = 16262, - [SMALL_STATE(430)] = 16269, - [SMALL_STATE(431)] = 16276, - [SMALL_STATE(432)] = 16283, - [SMALL_STATE(433)] = 16290, - [SMALL_STATE(434)] = 16297, - [SMALL_STATE(435)] = 16304, - [SMALL_STATE(436)] = 16311, - [SMALL_STATE(437)] = 16318, - [SMALL_STATE(438)] = 16325, - [SMALL_STATE(439)] = 16332, - [SMALL_STATE(440)] = 16339, - [SMALL_STATE(441)] = 16346, - [SMALL_STATE(442)] = 16353, - [SMALL_STATE(443)] = 16360, - [SMALL_STATE(444)] = 16367, - [SMALL_STATE(445)] = 16374, - [SMALL_STATE(446)] = 16381, - [SMALL_STATE(447)] = 16388, - [SMALL_STATE(448)] = 16395, - [SMALL_STATE(449)] = 16402, - [SMALL_STATE(450)] = 16409, - [SMALL_STATE(451)] = 16416, - [SMALL_STATE(452)] = 16423, - [SMALL_STATE(453)] = 16430, - [SMALL_STATE(454)] = 16437, - [SMALL_STATE(455)] = 16444, - [SMALL_STATE(456)] = 16451, - [SMALL_STATE(457)] = 16458, - [SMALL_STATE(458)] = 16465, - [SMALL_STATE(459)] = 16472, - [SMALL_STATE(460)] = 16479, - [SMALL_STATE(461)] = 16486, - [SMALL_STATE(462)] = 16493, - [SMALL_STATE(463)] = 16500, - [SMALL_STATE(464)] = 16507, - [SMALL_STATE(465)] = 16514, - [SMALL_STATE(466)] = 16521, - [SMALL_STATE(467)] = 16528, - [SMALL_STATE(468)] = 16535, - [SMALL_STATE(469)] = 16542, - [SMALL_STATE(470)] = 16549, - [SMALL_STATE(471)] = 16556, + [SMALL_STATE(25)] = 2764, + [SMALL_STATE(26)] = 2880, + [SMALL_STATE(27)] = 2981, + [SMALL_STATE(28)] = 3082, + [SMALL_STATE(29)] = 3183, + [SMALL_STATE(30)] = 3284, + [SMALL_STATE(31)] = 3385, + [SMALL_STATE(32)] = 3486, + [SMALL_STATE(33)] = 3587, + [SMALL_STATE(34)] = 3685, + [SMALL_STATE(35)] = 3783, + [SMALL_STATE(36)] = 3881, + [SMALL_STATE(37)] = 3979, + [SMALL_STATE(38)] = 4077, + [SMALL_STATE(39)] = 4175, + [SMALL_STATE(40)] = 4273, + [SMALL_STATE(41)] = 4371, + [SMALL_STATE(42)] = 4469, + [SMALL_STATE(43)] = 4567, + [SMALL_STATE(44)] = 4665, + [SMALL_STATE(45)] = 4763, + [SMALL_STATE(46)] = 4861, + [SMALL_STATE(47)] = 4959, + [SMALL_STATE(48)] = 5057, + [SMALL_STATE(49)] = 5155, + [SMALL_STATE(50)] = 5253, + [SMALL_STATE(51)] = 5351, + [SMALL_STATE(52)] = 5449, + [SMALL_STATE(53)] = 5547, + [SMALL_STATE(54)] = 5645, + [SMALL_STATE(55)] = 5743, + [SMALL_STATE(56)] = 5841, + [SMALL_STATE(57)] = 5939, + [SMALL_STATE(58)] = 6037, + [SMALL_STATE(59)] = 6135, + [SMALL_STATE(60)] = 6233, + [SMALL_STATE(61)] = 6331, + [SMALL_STATE(62)] = 6429, + [SMALL_STATE(63)] = 6527, + [SMALL_STATE(64)] = 6625, + [SMALL_STATE(65)] = 6723, + [SMALL_STATE(66)] = 6821, + [SMALL_STATE(67)] = 6919, + [SMALL_STATE(68)] = 7017, + [SMALL_STATE(69)] = 7115, + [SMALL_STATE(70)] = 7213, + [SMALL_STATE(71)] = 7264, + [SMALL_STATE(72)] = 7315, + [SMALL_STATE(73)] = 7377, + [SMALL_STATE(74)] = 7439, + [SMALL_STATE(75)] = 7498, + [SMALL_STATE(76)] = 7557, + [SMALL_STATE(77)] = 7616, + [SMALL_STATE(78)] = 7675, + [SMALL_STATE(79)] = 7731, + [SMALL_STATE(80)] = 7787, + [SMALL_STATE(81)] = 7843, + [SMALL_STATE(82)] = 7899, + [SMALL_STATE(83)] = 7955, + [SMALL_STATE(84)] = 8011, + [SMALL_STATE(85)] = 8067, + [SMALL_STATE(86)] = 8123, + [SMALL_STATE(87)] = 8179, + [SMALL_STATE(88)] = 8228, + [SMALL_STATE(89)] = 8277, + [SMALL_STATE(90)] = 8326, + [SMALL_STATE(91)] = 8371, + [SMALL_STATE(92)] = 8416, + [SMALL_STATE(93)] = 8460, + [SMALL_STATE(94)] = 8504, + [SMALL_STATE(95)] = 8548, + [SMALL_STATE(96)] = 8592, + [SMALL_STATE(97)] = 8636, + [SMALL_STATE(98)] = 8682, + [SMALL_STATE(99)] = 8726, + [SMALL_STATE(100)] = 8770, + [SMALL_STATE(101)] = 8814, + [SMALL_STATE(102)] = 8857, + [SMALL_STATE(103)] = 8900, + [SMALL_STATE(104)] = 8943, + [SMALL_STATE(105)] = 8990, + [SMALL_STATE(106)] = 9033, + [SMALL_STATE(107)] = 9076, + [SMALL_STATE(108)] = 9123, + [SMALL_STATE(109)] = 9170, + [SMALL_STATE(110)] = 9213, + [SMALL_STATE(111)] = 9256, + [SMALL_STATE(112)] = 9299, + [SMALL_STATE(113)] = 9342, + [SMALL_STATE(114)] = 9389, + [SMALL_STATE(115)] = 9434, + [SMALL_STATE(116)] = 9477, + [SMALL_STATE(117)] = 9520, + [SMALL_STATE(118)] = 9563, + [SMALL_STATE(119)] = 9606, + [SMALL_STATE(120)] = 9649, + [SMALL_STATE(121)] = 9692, + [SMALL_STATE(122)] = 9735, + [SMALL_STATE(123)] = 9778, + [SMALL_STATE(124)] = 9821, + [SMALL_STATE(125)] = 9864, + [SMALL_STATE(126)] = 9907, + [SMALL_STATE(127)] = 9950, + [SMALL_STATE(128)] = 9993, + [SMALL_STATE(129)] = 10036, + [SMALL_STATE(130)] = 10083, + [SMALL_STATE(131)] = 10126, + [SMALL_STATE(132)] = 10172, + [SMALL_STATE(133)] = 10218, + [SMALL_STATE(134)] = 10259, + [SMALL_STATE(135)] = 10310, + [SMALL_STATE(136)] = 10352, + [SMALL_STATE(137)] = 10428, + [SMALL_STATE(138)] = 10470, + [SMALL_STATE(139)] = 10546, + [SMALL_STATE(140)] = 10588, + [SMALL_STATE(141)] = 10623, + [SMALL_STATE(142)] = 10658, + [SMALL_STATE(143)] = 10698, + [SMALL_STATE(144)] = 10738, + [SMALL_STATE(145)] = 10774, + [SMALL_STATE(146)] = 10812, + [SMALL_STATE(147)] = 10852, + [SMALL_STATE(148)] = 10892, + [SMALL_STATE(149)] = 10928, + [SMALL_STATE(150)] = 10968, + [SMALL_STATE(151)] = 11008, + [SMALL_STATE(152)] = 11046, + [SMALL_STATE(153)] = 11086, + [SMALL_STATE(154)] = 11126, + [SMALL_STATE(155)] = 11166, + [SMALL_STATE(156)] = 11206, + [SMALL_STATE(157)] = 11246, + [SMALL_STATE(158)] = 11286, + [SMALL_STATE(159)] = 11326, + [SMALL_STATE(160)] = 11366, + [SMALL_STATE(161)] = 11406, + [SMALL_STATE(162)] = 11444, + [SMALL_STATE(163)] = 11513, + [SMALL_STATE(164)] = 11546, + [SMALL_STATE(165)] = 11579, + [SMALL_STATE(166)] = 11612, + [SMALL_STATE(167)] = 11645, + [SMALL_STATE(168)] = 11678, + [SMALL_STATE(169)] = 11711, + [SMALL_STATE(170)] = 11744, + [SMALL_STATE(171)] = 11781, + [SMALL_STATE(172)] = 11814, + [SMALL_STATE(173)] = 11851, + [SMALL_STATE(174)] = 11888, + [SMALL_STATE(175)] = 11957, + [SMALL_STATE(176)] = 11994, + [SMALL_STATE(177)] = 12027, + [SMALL_STATE(178)] = 12064, + [SMALL_STATE(179)] = 12097, + [SMALL_STATE(180)] = 12130, + [SMALL_STATE(181)] = 12163, + [SMALL_STATE(182)] = 12200, + [SMALL_STATE(183)] = 12233, + [SMALL_STATE(184)] = 12266, + [SMALL_STATE(185)] = 12299, + [SMALL_STATE(186)] = 12332, + [SMALL_STATE(187)] = 12369, + [SMALL_STATE(188)] = 12402, + [SMALL_STATE(189)] = 12435, + [SMALL_STATE(190)] = 12468, + [SMALL_STATE(191)] = 12501, + [SMALL_STATE(192)] = 12534, + [SMALL_STATE(193)] = 12567, + [SMALL_STATE(194)] = 12636, + [SMALL_STATE(195)] = 12673, + [SMALL_STATE(196)] = 12710, + [SMALL_STATE(197)] = 12742, + [SMALL_STATE(198)] = 12774, + [SMALL_STATE(199)] = 12806, + [SMALL_STATE(200)] = 12838, + [SMALL_STATE(201)] = 12872, + [SMALL_STATE(202)] = 12904, + [SMALL_STATE(203)] = 12935, + [SMALL_STATE(204)] = 12966, + [SMALL_STATE(205)] = 12997, + [SMALL_STATE(206)] = 13028, + [SMALL_STATE(207)] = 13059, + [SMALL_STATE(208)] = 13090, + [SMALL_STATE(209)] = 13121, + [SMALL_STATE(210)] = 13152, + [SMALL_STATE(211)] = 13183, + [SMALL_STATE(212)] = 13214, + [SMALL_STATE(213)] = 13245, + [SMALL_STATE(214)] = 13276, + [SMALL_STATE(215)] = 13307, + [SMALL_STATE(216)] = 13338, + [SMALL_STATE(217)] = 13369, + [SMALL_STATE(218)] = 13400, + [SMALL_STATE(219)] = 13431, + [SMALL_STATE(220)] = 13462, + [SMALL_STATE(221)] = 13493, + [SMALL_STATE(222)] = 13524, + [SMALL_STATE(223)] = 13555, + [SMALL_STATE(224)] = 13586, + [SMALL_STATE(225)] = 13617, + [SMALL_STATE(226)] = 13648, + [SMALL_STATE(227)] = 13679, + [SMALL_STATE(228)] = 13710, + [SMALL_STATE(229)] = 13741, + [SMALL_STATE(230)] = 13772, + [SMALL_STATE(231)] = 13834, + [SMALL_STATE(232)] = 13895, + [SMALL_STATE(233)] = 13950, + [SMALL_STATE(234)] = 14011, + [SMALL_STATE(235)] = 14072, + [SMALL_STATE(236)] = 14133, + [SMALL_STATE(237)] = 14194, + [SMALL_STATE(238)] = 14249, + [SMALL_STATE(239)] = 14304, + [SMALL_STATE(240)] = 14359, + [SMALL_STATE(241)] = 14414, + [SMALL_STATE(242)] = 14440, + [SMALL_STATE(243)] = 14464, + [SMALL_STATE(244)] = 14510, + [SMALL_STATE(245)] = 14536, + [SMALL_STATE(246)] = 14564, + [SMALL_STATE(247)] = 14590, + [SMALL_STATE(248)] = 14616, + [SMALL_STATE(249)] = 14637, + [SMALL_STATE(250)] = 14658, + [SMALL_STATE(251)] = 14679, + [SMALL_STATE(252)] = 14725, + [SMALL_STATE(253)] = 14771, + [SMALL_STATE(254)] = 14817, + [SMALL_STATE(255)] = 14840, + [SMALL_STATE(256)] = 14859, + [SMALL_STATE(257)] = 14878, + [SMALL_STATE(258)] = 14901, + [SMALL_STATE(259)] = 14918, + [SMALL_STATE(260)] = 14935, + [SMALL_STATE(261)] = 14970, + [SMALL_STATE(262)] = 14987, + [SMALL_STATE(263)] = 15020, + [SMALL_STATE(264)] = 15035, + [SMALL_STATE(265)] = 15050, + [SMALL_STATE(266)] = 15079, + [SMALL_STATE(267)] = 15105, + [SMALL_STATE(268)] = 15131, + [SMALL_STATE(269)] = 15159, + [SMALL_STATE(270)] = 15185, + [SMALL_STATE(271)] = 15201, + [SMALL_STATE(272)] = 15227, + [SMALL_STATE(273)] = 15253, + [SMALL_STATE(274)] = 15276, + [SMALL_STATE(275)] = 15299, + [SMALL_STATE(276)] = 15322, + [SMALL_STATE(277)] = 15345, + [SMALL_STATE(278)] = 15368, + [SMALL_STATE(279)] = 15391, + [SMALL_STATE(280)] = 15409, + [SMALL_STATE(281)] = 15431, + [SMALL_STATE(282)] = 15449, + [SMALL_STATE(283)] = 15471, + [SMALL_STATE(284)] = 15493, + [SMALL_STATE(285)] = 15511, + [SMALL_STATE(286)] = 15531, + [SMALL_STATE(287)] = 15551, + [SMALL_STATE(288)] = 15571, + [SMALL_STATE(289)] = 15590, + [SMALL_STATE(290)] = 15609, + [SMALL_STATE(291)] = 15626, + [SMALL_STATE(292)] = 15645, + [SMALL_STATE(293)] = 15662, + [SMALL_STATE(294)] = 15681, + [SMALL_STATE(295)] = 15694, + [SMALL_STATE(296)] = 15713, + [SMALL_STATE(297)] = 15732, + [SMALL_STATE(298)] = 15749, + [SMALL_STATE(299)] = 15765, + [SMALL_STATE(300)] = 15777, + [SMALL_STATE(301)] = 15791, + [SMALL_STATE(302)] = 15801, + [SMALL_STATE(303)] = 15811, + [SMALL_STATE(304)] = 15823, + [SMALL_STATE(305)] = 15839, + [SMALL_STATE(306)] = 15849, + [SMALL_STATE(307)] = 15865, + [SMALL_STATE(308)] = 15879, + [SMALL_STATE(309)] = 15893, + [SMALL_STATE(310)] = 15909, + [SMALL_STATE(311)] = 15923, + [SMALL_STATE(312)] = 15933, + [SMALL_STATE(313)] = 15949, + [SMALL_STATE(314)] = 15963, + [SMALL_STATE(315)] = 15977, + [SMALL_STATE(316)] = 15993, + [SMALL_STATE(317)] = 16007, + [SMALL_STATE(318)] = 16021, + [SMALL_STATE(319)] = 16035, + [SMALL_STATE(320)] = 16051, + [SMALL_STATE(321)] = 16067, + [SMALL_STATE(322)] = 16083, + [SMALL_STATE(323)] = 16097, + [SMALL_STATE(324)] = 16111, + [SMALL_STATE(325)] = 16121, + [SMALL_STATE(326)] = 16137, + [SMALL_STATE(327)] = 16149, + [SMALL_STATE(328)] = 16165, + [SMALL_STATE(329)] = 16179, + [SMALL_STATE(330)] = 16193, + [SMALL_STATE(331)] = 16209, + [SMALL_STATE(332)] = 16219, + [SMALL_STATE(333)] = 16235, + [SMALL_STATE(334)] = 16247, + [SMALL_STATE(335)] = 16257, + [SMALL_STATE(336)] = 16270, + [SMALL_STATE(337)] = 16283, + [SMALL_STATE(338)] = 16296, + [SMALL_STATE(339)] = 16305, + [SMALL_STATE(340)] = 16318, + [SMALL_STATE(341)] = 16327, + [SMALL_STATE(342)] = 16340, + [SMALL_STATE(343)] = 16353, + [SMALL_STATE(344)] = 16366, + [SMALL_STATE(345)] = 16379, + [SMALL_STATE(346)] = 16392, + [SMALL_STATE(347)] = 16405, + [SMALL_STATE(348)] = 16414, + [SMALL_STATE(349)] = 16427, + [SMALL_STATE(350)] = 16440, + [SMALL_STATE(351)] = 16453, + [SMALL_STATE(352)] = 16466, + [SMALL_STATE(353)] = 16479, + [SMALL_STATE(354)] = 16492, + [SMALL_STATE(355)] = 16505, + [SMALL_STATE(356)] = 16518, + [SMALL_STATE(357)] = 16531, + [SMALL_STATE(358)] = 16544, + [SMALL_STATE(359)] = 16557, + [SMALL_STATE(360)] = 16570, + [SMALL_STATE(361)] = 16583, + [SMALL_STATE(362)] = 16596, + [SMALL_STATE(363)] = 16609, + [SMALL_STATE(364)] = 16622, + [SMALL_STATE(365)] = 16635, + [SMALL_STATE(366)] = 16648, + [SMALL_STATE(367)] = 16661, + [SMALL_STATE(368)] = 16674, + [SMALL_STATE(369)] = 16687, + [SMALL_STATE(370)] = 16700, + [SMALL_STATE(371)] = 16708, + [SMALL_STATE(372)] = 16718, + [SMALL_STATE(373)] = 16728, + [SMALL_STATE(374)] = 16738, + [SMALL_STATE(375)] = 16746, + [SMALL_STATE(376)] = 16754, + [SMALL_STATE(377)] = 16762, + [SMALL_STATE(378)] = 16772, + [SMALL_STATE(379)] = 16780, + [SMALL_STATE(380)] = 16788, + [SMALL_STATE(381)] = 16796, + [SMALL_STATE(382)] = 16806, + [SMALL_STATE(383)] = 16816, + [SMALL_STATE(384)] = 16826, + [SMALL_STATE(385)] = 16836, + [SMALL_STATE(386)] = 16846, + [SMALL_STATE(387)] = 16856, + [SMALL_STATE(388)] = 16866, + [SMALL_STATE(389)] = 16876, + [SMALL_STATE(390)] = 16886, + [SMALL_STATE(391)] = 16896, + [SMALL_STATE(392)] = 16906, + [SMALL_STATE(393)] = 16916, + [SMALL_STATE(394)] = 16926, + [SMALL_STATE(395)] = 16936, + [SMALL_STATE(396)] = 16946, + [SMALL_STATE(397)] = 16954, + [SMALL_STATE(398)] = 16964, + [SMALL_STATE(399)] = 16974, + [SMALL_STATE(400)] = 16984, + [SMALL_STATE(401)] = 16992, + [SMALL_STATE(402)] = 17002, + [SMALL_STATE(403)] = 17010, + [SMALL_STATE(404)] = 17020, + [SMALL_STATE(405)] = 17030, + [SMALL_STATE(406)] = 17038, + [SMALL_STATE(407)] = 17046, + [SMALL_STATE(408)] = 17054, + [SMALL_STATE(409)] = 17064, + [SMALL_STATE(410)] = 17071, + [SMALL_STATE(411)] = 17078, + [SMALL_STATE(412)] = 17085, + [SMALL_STATE(413)] = 17092, + [SMALL_STATE(414)] = 17099, + [SMALL_STATE(415)] = 17106, + [SMALL_STATE(416)] = 17113, + [SMALL_STATE(417)] = 17120, + [SMALL_STATE(418)] = 17127, + [SMALL_STATE(419)] = 17134, + [SMALL_STATE(420)] = 17141, + [SMALL_STATE(421)] = 17148, + [SMALL_STATE(422)] = 17155, + [SMALL_STATE(423)] = 17162, + [SMALL_STATE(424)] = 17169, + [SMALL_STATE(425)] = 17176, + [SMALL_STATE(426)] = 17183, + [SMALL_STATE(427)] = 17190, + [SMALL_STATE(428)] = 17197, + [SMALL_STATE(429)] = 17204, + [SMALL_STATE(430)] = 17211, + [SMALL_STATE(431)] = 17218, + [SMALL_STATE(432)] = 17225, + [SMALL_STATE(433)] = 17232, + [SMALL_STATE(434)] = 17239, + [SMALL_STATE(435)] = 17246, + [SMALL_STATE(436)] = 17253, + [SMALL_STATE(437)] = 17260, + [SMALL_STATE(438)] = 17267, + [SMALL_STATE(439)] = 17274, + [SMALL_STATE(440)] = 17281, + [SMALL_STATE(441)] = 17288, + [SMALL_STATE(442)] = 17295, + [SMALL_STATE(443)] = 17302, + [SMALL_STATE(444)] = 17309, + [SMALL_STATE(445)] = 17316, + [SMALL_STATE(446)] = 17323, + [SMALL_STATE(447)] = 17330, + [SMALL_STATE(448)] = 17337, + [SMALL_STATE(449)] = 17344, + [SMALL_STATE(450)] = 17351, + [SMALL_STATE(451)] = 17358, + [SMALL_STATE(452)] = 17365, + [SMALL_STATE(453)] = 17372, + [SMALL_STATE(454)] = 17379, + [SMALL_STATE(455)] = 17386, + [SMALL_STATE(456)] = 17393, + [SMALL_STATE(457)] = 17400, + [SMALL_STATE(458)] = 17407, + [SMALL_STATE(459)] = 17414, + [SMALL_STATE(460)] = 17421, + [SMALL_STATE(461)] = 17428, + [SMALL_STATE(462)] = 17435, + [SMALL_STATE(463)] = 17442, + [SMALL_STATE(464)] = 17449, + [SMALL_STATE(465)] = 17456, + [SMALL_STATE(466)] = 17463, + [SMALL_STATE(467)] = 17470, + [SMALL_STATE(468)] = 17477, + [SMALL_STATE(469)] = 17484, + [SMALL_STATE(470)] = 17491, + [SMALL_STATE(471)] = 17498, + [SMALL_STATE(472)] = 17505, + [SMALL_STATE(473)] = 17512, + [SMALL_STATE(474)] = 17519, + [SMALL_STATE(475)] = 17526, + [SMALL_STATE(476)] = 17533, + [SMALL_STATE(477)] = 17540, + [SMALL_STATE(478)] = 17547, + [SMALL_STATE(479)] = 17554, + [SMALL_STATE(480)] = 17561, + [SMALL_STATE(481)] = 17568, + [SMALL_STATE(482)] = 17575, + [SMALL_STATE(483)] = 17582, + [SMALL_STATE(484)] = 17589, + [SMALL_STATE(485)] = 17596, + [SMALL_STATE(486)] = 17603, + [SMALL_STATE(487)] = 17610, + [SMALL_STATE(488)] = 17617, + [SMALL_STATE(489)] = 17624, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -17974,572 +18999,592 @@ 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(357), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(256), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(464), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(270), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477), [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), - [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), - [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), - [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), - [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [127] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(357), - [130] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(404), - [133] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(299), - [136] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(289), - [139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(463), - [142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(462), - [145] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(461), - [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(460), - [151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(459), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), - [156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(282), - [159] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(280), - [162] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(281), - [165] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(67), - [168] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(279), - [171] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(126), - [174] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(265), - [177] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(268), - [180] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(269), - [183] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(65), - [186] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(397), - [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(302), - [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [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(303), - [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(297), - [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), - [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(400), - [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(271), - [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), - [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380), - [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(465), - [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(466), - [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(401), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), - [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [247] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194), - [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), - [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 1), - [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 1), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 1), - [263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 1), - [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 1), - [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 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_alias_name, 2), - [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 2), - [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 1), - [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 1), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_suffix, 2), - [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_suffix, 2), - [287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier_suffix, 2), - [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier_suffix, 2), - [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 2), - [293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 2), - [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_setter, 2), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_setter, 2), - [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_setter, 2), - [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setter, 2), - [303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_name, 1), - [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_name, 1), - [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), - [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), - [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 1), - [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 1), - [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type, 2), - [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional_type, 2), - [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 14), - [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 14), - [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 4), - [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 4), + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), + [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275), + [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), + [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [117] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(388), + [120] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(425), + [123] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(321), + [126] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(303), + [129] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(475), + [132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(474), + [135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(471), + [138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(460), + [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(456), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), + [146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(306), + [149] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(293), + [152] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(295), + [155] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(77), + [158] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(294), + [161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(133), + [164] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(287), + [167] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(285), + [170] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(286), + [173] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(72), + [176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 2), SHIFT_REPEAT(442), + [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(333), + [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 2), + [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 2), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), + [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_name, 1), + [219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_name, 1), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), + [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), + [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(486), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), + [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(281), + [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [239] = {.entry = {.count = 1, .reusable = false}}, SHIFT(485), + [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(472), + [243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), + [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [255] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229), + [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [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(58), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 1), + [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 1), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 1), + [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 1), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 1), + [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 1), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_name, 2), + [283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_name, 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_constant_setter, 2), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_setter, 2), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_name, 2), + [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 2), + [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_name, 1), + [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_name, 1), + [301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), + [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(123), + [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_interface_name, 1), + [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_name, 1), + [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_suffix, 2), + [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_suffix, 2), + [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_type, 2), [329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_type, 2), [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1), [333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1), - [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 2), - [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 2), - [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 2), - [341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 2), - [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 14), - [345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 3, .production_id = 14), - [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 3, .production_id = 15), - [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 3, .production_id = 15), - [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_type, 4), - [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singleton_type, 4), - [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4), - [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4), - [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), - [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), - [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3), - [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3), - [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5), - [373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5), - [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_record_type, 4, .production_id = 19), - [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 19), - [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), - [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 3, .production_id = 15), - [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 3, .production_id = 15), - [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 19), - [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 5, .production_id = 19), - [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), - [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), - [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2), - [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2), - [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 3), - [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 3), - [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 5), - [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 5), - [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_record_type, 2), - [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 2), - [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 4), - [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 4), - [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 6), - [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 6), - [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 3), - [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 3), - [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 3), - [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 3), - [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), - [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), - [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(463), - [452] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decl_repeat1, 2), SHIFT_REPEAT(462), - [455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decl_repeat1, 2), SHIFT_REPEAT(461), - [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decl_repeat1, 2), SHIFT_REPEAT(460), - [461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decl_repeat1, 2), SHIFT_REPEAT(459), - [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 4), - [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_decl, 3), - [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1), - [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 5), - [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_method_type_body, 2), - [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 7), - [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 1), - [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), - [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_body, 4), - [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 6), - [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 10), - [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 3), + [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 6), + [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 6), + [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), + [345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3), + [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 4), + [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 4), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 3), + [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 3), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 5), + [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 5), + [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_alias_type, 2), + [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 2), + [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 31), + [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 5, .production_id = 31), + [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 3, .production_id = 27), + [373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 3, .production_id = 27), + [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 3, .production_id = 27), + [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 3, .production_id = 27), + [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_type, 2), + [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_type, 2), + [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3), + [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3), + [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5), + [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5), + [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_type, 4), + [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singleton_type, 4), + [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type, 2), + [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional_type, 2), + [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4), + [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4), + [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 26), + [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 26), + [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 31), + [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 31), + [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_symbol_literal, 2), + [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_symbol_literal, 2), + [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), + [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 2), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 2), + [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 2), + [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 26), + [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 3, .production_id = 26), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proc, 4), + [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proc, 4), + [439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_arguments, 3), + [441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_arguments, 3), + [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [445] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [449] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribyte_type, 1), + [453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribyte_type, 1), + [455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_decl_repeat1, 2), + [457] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decl_repeat1, 2), SHIFT_REPEAT(475), + [460] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decl_repeat1, 2), SHIFT_REPEAT(474), + [463] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decl_repeat1, 2), SHIFT_REPEAT(471), + [466] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decl_repeat1, 2), SHIFT_REPEAT(460), + [469] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decl_repeat1, 2), SHIFT_REPEAT(456), + [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_decl, 3), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 4), + [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1), + [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_decl, 5), + [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3), + [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_decl_repeat1, 1), + [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 5, .production_id = 35), + [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 5, .production_id = 33), + [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_method_type_body, 3), - [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 4), - [498] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 4), - [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 8), - [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 3), - [504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 3), - [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 9), - [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 4), - [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 5), - [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 5), - [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), - [516] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), SHIFT_REPEAT(224), - [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2), - [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), - [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), - [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 2), - [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4, .production_id = 5), - [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 2), - [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 3), - [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 12), - [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 2), - [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_alias_decl, 4, .production_id = 7), - [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 3), - [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 2), - [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 2), - [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 8), - [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4), - [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 6, .production_id = 17), - [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4, .production_id = 9), - [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(357), - [564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(299), - [567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(289), - [570] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(463), - [573] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(462), - [576] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(461), - [579] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(460), - [582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(459), - [585] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(282), - [588] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(280), - [591] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(281), - [594] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(455), - [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 3), - [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 3, .production_id = 3), - [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_alias_decl, 4, .production_id = 4), - [603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4), - [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5), - [607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5, .production_id = 11), - [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 5, .production_id = 13), - [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 6, .production_id = 16), - [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 3), - [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 1), - [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 2), - [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2), - [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 1), - [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 3, .production_id = 22), - [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2, .production_id = 2), - [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 7), - [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility_member, 2), - [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 6), - [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 5), - [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member, 1), - [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_method_name, 3), - [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 4), - [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 4), - [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_superclass, 3), - [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member, 2, .production_id = 2), - [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 3), - [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 3), - [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 3), - [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 3), - [661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_member, 3, .production_id = 10), - [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), - [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), - [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), - [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [681] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(463), - [684] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(462), - [687] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(461), - [690] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(460), - [693] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(459), - [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(67), - [701] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(452), - [704] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(265), - [707] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(66), - [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 2), - [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), - [720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), - [722] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(274), - [725] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 1, .production_id = 1), - [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), - [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_decl, 3), - [731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3), - [733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), - [735] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), SHIFT_REPEAT(272), - [738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 2), - [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 3, .production_id = 6), - [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decl, 2, .production_id = 2), - [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decl, 1), - [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), - [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 1), - [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 1), - [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), - [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 2, .production_id = 2), - [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 4), - [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), - [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 3), - [764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), - [766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_name, 1), - [770] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1), - [772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), - [774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), - [776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), - [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [790] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), - [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 4, .production_id = 23), - [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 3, .production_id = 21), - [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_type_single, 3, .production_id = 18), - [810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), - [812] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility, 1), - [814] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility, 1), - [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), - [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [820] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 11), - [822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), - [824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), - [826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 3), - [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), - [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), - [832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(295), - [834] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), - [836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(294), - [838] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 1), - [840] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 1), - [842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(292), - [844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5), - [846] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), - [848] = {.entry = {.count = 1, .reusable = false}}, SHIFT(307), - [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301), - [854] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [856] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 3), - [858] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 3), - [860] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), - [862] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(301), - [865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [867] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 2), - [869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 2), - [871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 1), - [873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 2), - [875] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), - [877] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), SHIFT_REPEAT(307), - [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), - [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), - [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 9), - [888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3), - [890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 7), - [892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), - [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), - [896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 8), - [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), - [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 2), - [906] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 2), SHIFT(429), - [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [913] = {.entry = {.count = 1, .reusable = false}}, SHIFT(403), - [915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), - [919] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), SHIFT_REPEAT(387), - [922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), - [924] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variable, 1), - [926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 2), - [928] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 2), SHIFT(29), - [931] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), SHIFT_REPEAT(356), - [934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 20), - [936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), - [938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [940] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), SHIFT_REPEAT(40), - [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [945] = {.entry = {.count = 1, .reusable = false}}, SHIFT(393), - [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), - [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [953] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 1), - [955] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 1), SHIFT(29), - [958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), - [960] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), SHIFT(29), - [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), - [967] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), SHIFT_REPEAT(29), - [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 3), - [974] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 3), SHIFT(429), - [977] = {.entry = {.count = 1, .reusable = false}}, SHIFT(451), - [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), - [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [985] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), - [987] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), SHIFT_REPEAT(429), - [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [992] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), - [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), - [1000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), - [1002] = {.entry = {.count = 1, .reusable = false}}, SHIFT(408), - [1004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [1006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), - [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), - [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [1012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), - [1014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), - [1016] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), SHIFT(29), - [1019] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), SHIFT_REPEAT(262), - [1022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), - [1024] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_type_binding, 5), - [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), - [1030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [1032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), - [1034] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 1), - [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), - [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), - [1042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), - [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), - [1046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [1048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), - [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), - [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), - [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), - [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), - [1062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [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_bound_type, 1), - [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), - [1072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_bound, 2), - [1074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [1076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2), - [1078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 2), - [1080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 4), - [1082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [1084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rest_positional, 2), - [1086] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 14), - [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), - [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [1092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat_keyword, 2), - [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [1102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [1104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), - [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), - [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), - [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), - [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), - [1118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), - [1122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), - [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), - [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [1132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_variance, 1), - [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), - [1138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [1140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 5, .production_id = 21), - [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 6), - [1144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [1150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 6, .production_id = 23), - [1152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [1156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 7), - [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [1164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keywords, 1), - [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), - [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), - [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), - [1172] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), - [1180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), - [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), - [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), - [1186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), - [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), - [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [1198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 6, .production_id = 35), + [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 6, .production_id = 37), + [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameters, 3), + [502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_type_parameters, 3), + [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 5, .production_id = 4), + [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ivar_member, 3, .production_id = 18), + [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_body, 4), + [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 7, .production_id = 40), + [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 4, .production_id = 4), + [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 7, .production_id = 37), + [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 7, .production_id = 4), + [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 8, .production_id = 40), + [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 8, .production_id = 35), + [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 9, .production_id = 37), + [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 1), + [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_member, 10, .production_id = 40), + [530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_body, 2), + [532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), + [534] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(388), + [537] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(321), + [540] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(303), + [543] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(475), + [546] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(474), + [549] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(471), + [552] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(460), + [555] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(456), + [558] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(306), + [561] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(293), + [564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(295), + [567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat2, 2), SHIFT_REPEAT(409), + [570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5, .production_id = 19), + [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 13), + [574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 23), + [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4, .production_id = 7), + [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 14), + [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4, .production_id = 8), + [582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 22), + [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 2, .production_id = 4), + [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 4, .production_id = 15), + [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), + [590] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_types_repeat1, 2), SHIFT_REPEAT(240), + [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 2, .production_id = 4), + [595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2), + [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 2, .production_id = 4), + [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 4, .production_id = 12), + [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 2), + [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_alias_decl, 4, .production_id = 11), + [607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 5, .production_id = 25), + [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5, .production_id = 21), + [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_types, 1), + [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 3, .production_id = 4), + [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_alias_decl, 4, .production_id = 6), + [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 6, .production_id = 29), + [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 5, .production_id = 20), + [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 2, .production_id = 4), + [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4, .production_id = 8), + [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_decl, 3, .production_id = 4), + [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 4, .production_id = 9), + [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 5, .production_id = 24), + [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_decl, 3, .production_id = 5), + [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_decl, 6, .production_id = 28), + [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2, .production_id = 3), + [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 2, .production_id = 34), + [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 1, .production_id = 1), + [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 2), + [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type, 3, .production_id = 38), + [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility_member, 2), + [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member, 1, .production_id = 1), + [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 6, .production_id = 37), + [661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member, 2, .production_id = 3), + [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 4, .production_id = 4), + [665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton_method_name, 3), + [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 4), + [669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_superclass, 3, .production_id = 16), + [671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 5, .production_id = 35), + [673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_decl_repeat1, 1), + [675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_member, 3, .production_id = 4), + [677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extend_member, 3, .production_id = 4), + [679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prepend_member, 3, .production_id = 4), + [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_types, 3), + [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_member, 3, .production_id = 17), + [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_self_type_binds, 2), + [687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_member, 7, .production_id = 40), + [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [711] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(475), + [714] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(474), + [717] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(471), + [720] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(460), + [723] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(456), + [726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), + [728] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(77), + [731] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(470), + [734] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(287), + [737] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 2), SHIFT_REPEAT(73), + [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 2), + [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 1, .production_id = 2), + [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_directive, 3), + [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_decl, 3), + [754] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), + [756] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(289), + [759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), + [761] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_directive_repeat1, 2), SHIFT_REPEAT(291), + [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 3, .production_id = 10), + [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_clause, 2), + [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decl, 1, .production_id = 1), + [770] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decl, 2, .production_id = 3), + [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_decl_repeat1, 1), + [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 1, .production_id = 1), + [776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_member, 2, .production_id = 3), + [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), + [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 4), + [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_type_parameters, 3), + [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), + [792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_name, 1), + [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1), + [804] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [806] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), + [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 4, .production_id = 39), + [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [830] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), + [832] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_type_single, 3, .production_id = 30), + [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [836] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility, 1), + [838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility, 1), + [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 3, .production_id = 36), + [844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [846] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 3), + [848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 3), + [850] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(313), + [854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 9), + [856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 8), + [858] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 1), + [860] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 1), + [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 7), + [866] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), + [868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(317), + [870] = {.entry = {.count = 1, .reusable = false}}, SHIFT(316), + [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [874] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), + [876] = {.entry = {.count = 1, .reusable = false}}, SHIFT(308), + [878] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), + [880] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), + [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [884] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), + [886] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat2, 2), SHIFT_REPEAT(316), + [889] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), + [891] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(317), + [894] = {.entry = {.count = 1, .reusable = false}}, SHIFT(307), + [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(314), + [902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 2), + [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 11), + [908] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace, 2), + [910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace, 2), + [912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 1), + [914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 3), + [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5), + [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3), + [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [928] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [932] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), + [934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_type_binding, 5), + [936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), + [938] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 2), SHIFT(31), + [941] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), SHIFT_REPEAT(397), + [944] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_method_type_parameters_repeat1, 2), + [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), + [952] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 2), SHIFT_REPEAT(476), + [955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 2), + [957] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 2), SHIFT(476), + [960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(436), + [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variable, 1), + [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [972] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 32), SHIFT_REPEAT(377), + [975] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 32), + [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [979] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 2), + [981] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 2), SHIFT(31), + [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [988] = {.entry = {.count = 1, .reusable = false}}, SHIFT(449), + [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), + [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [1000] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), SHIFT_REPEAT(41), + [1003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [1005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [1007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [1013] = {.entry = {.count = 1, .reusable = false}}, SHIFT(429), + [1015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), + [1019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_positionals, 1), + [1021] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_required_positionals, 1), SHIFT(31), + [1024] = {.entry = {.count = 1, .reusable = false}}, SHIFT(411), + [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [1030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [1032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [1034] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), + [1036] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_trailing_positionals, 1), SHIFT(31), + [1039] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), + [1041] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_required_positionals_repeat1, 2), SHIFT_REPEAT(31), + [1044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_positionals, 3), + [1046] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_optional_positionals, 3), SHIFT(476), + [1049] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), SHIFT_REPEAT(276), + [1052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_type_parameters_repeat1, 2), + [1054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_rest_positional, 2), + [1056] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 2), + [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488), + [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487), + [1062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bound_type, 1), + [1064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_bound, 2), + [1066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [1068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [1072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [1074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [1076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [1080] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_name, 1), + [1082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), + [1084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [1086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [1102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_positionals_repeat1, 3), + [1104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 26), + [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [1108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2), + [1110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_type_parameter, 4), + [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [1118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [1128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generics_variance, 1), + [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [1132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [1138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [1140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [1142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [1144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), + [1146] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [1152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat_keyword, 2), + [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), + [1162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481), + [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [1180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_required_keywords, 5, .production_id = 36), + [1182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 6), + [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), + [1186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [1192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_keywords, 6, .production_id = 39), + [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [1198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 7), + [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480), + [1202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keywords, 1), + [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [1206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [1208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [1210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [1212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), + [1214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [1216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [1220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [1222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [1224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [1226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [1228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [1230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [1232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [1234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [1236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [1238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [1240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), }; #ifdef __cplusplus diff --git a/test/corpus/members.txt b/test/corpus/members.txt index f001aa8..5b630ed 100644 --- a/test/corpus/members.txt +++ b/test/corpus/members.txt @@ -182,6 +182,27 @@ end (class_name (constant)))))))) +================================================================================ +include member with interface_name +================================================================================ + +class Foo + include _Interface +end + +-------------------------------------------------------------------------------- + +(program + (decl + (class_decl + (class_name + (constant)) + (members + (member + (include_member + (interface_name + (interface)))))))) + ================================================================================ extend member ================================================================================