# # DO NOT MODIFY!!!! # This file is automatically generated by Racc 1.4.14 # from Racc grammer file "". # require 'racc/parser.rb' module Steep class Parser < Racc::Parser module_eval(<<'...end parser.y/module_eval...', 'parser.y', 502) require "strscan" attr_reader :input attr_reader :buffer attr_reader :offset def initialize(type, buffer:, offset:, input: nil) super() @type = type @buffer = buffer @input = StringScanner.new(input || buffer.content) @offset = offset end def self.parse_method(input, name: nil) new(:METHOD, buffer: AST::Buffer.new(name: name, content: input), offset: 0).do_parse end def self.parse_signature(input, name: nil) new(:SIGNATURE, buffer: AST::Buffer.new(name: name, content: input), offset: 0).do_parse end def self.parse_annotation_opt(input, buffer:, offset: 0) new(:ANNOTATION, input: input, buffer: buffer, offset: offset).do_parse rescue => exn Steep.logger.debug "Parsing comment failed: #{exn.inspect}" nil end class LocatedValue attr_reader :location attr_reader :value def initialize(location:, value:) @location = location @value = value end end def new_token(type, value = nil) start_index = offset + input.pos - input.matched.bytesize end_index = offset + input.pos location = AST::Location.new(buffer: buffer, start_pos: start_index, end_pos: end_index) [type, LocatedValue.new(location: location, value: value)] end def next_token if @type type = @type @type = nil return [:"type_#{type}", nil] end case when input.scan(/\s+/) next_token when input.scan(/#.*/) next_token when input.eos? [false, false] when input.scan(/->/) new_token(:ARROW) when input.scan(/\?/) new_token(:QUESTION) when input.scan(/\(/) new_token(:LPAREN, nil) when input.scan(/\)/) new_token(:RPAREN, nil) when input.scan(/{/) new_token(:LBRACE, nil) when input.scan(/}/) new_token(:RBRACE, nil) when input.scan(/,/) new_token(:COMMA, nil) when input.scan(/::/) new_token(:COLON2) when input.scan(/:/) new_token(:COLON) when input.scan(/\*\*/) new_token(:STAR2, :**) when input.scan(/\*/) new_token(:STAR, :*) when input.scan(/\+/) new_token(:PLUS, :+) when input.scan(/\./) new_token(:DOT) when input.scan(/<:/) new_token(:LTCOLON) when input.scan(/(\[\]=)|(\[\])|===|==|\^|!=|<=/) new_token(:OPERATOR, :>=) when input.scan(//) new_token(:GT, :>) when input.scan(/nil\b/) new_token(:NIL, :nil) when input.scan(/any\b/) new_token(:ANY, :any) when input.scan(/void\b/) new_token(:VOID, :void) when input.scan(/interface\b/) new_token(:INTERFACE, :interface) when input.scan(/end\b/) new_token(:END, :end) when input.scan(/\|/) new_token(:BAR, :bar) when input.scan(/def\b/) new_token(:DEF) when input.scan(/@type\b/) new_token(:AT_TYPE) when input.scan(/@implements\b/) new_token(:AT_IMPLEMENTS) when input.scan(/@dynamic\b/) new_token(:AT_DYNAMIC) when input.scan(/const\b/) new_token(:CONST, :const) when input.scan(/var\b/) new_token(:VAR, :var) when input.scan(/return\b/) new_token(:RETURN) when input.scan(/block\b/) new_token(:BLOCK, :block) when input.scan(/break\b/) new_token(:BREAK, :break) when input.scan(/method\b/) new_token(:METHOD, :method) when input.scan(/self\?/) new_token(:SELFQ) when input.scan(/self\b/) new_token(:SELF, :self) when input.scan(/'\w+/) new_token(:TVAR, input.matched.gsub(/\A'/, '').to_sym) when input.scan(/instance\b/) new_token(:INSTANCE, :instance) when input.scan(/class\b/) new_token(:CLASS, :class) when input.scan(/module\b/) new_token(:MODULE, :module) when input.scan(/include\?/) new_token(:METHOD_NAME, :include?) when input.scan(/include\b/) new_token(:INCLUDE, :include) when input.scan(/extend\b/) new_token(:EXTEND, :extend) when input.scan(/instance\b/) new_token(:INSTANCE, :instance) when input.scan(/ivar\b/) new_token(:IVAR, :ivar) when input.scan(/%/) new_token(:PERCENT, :%) when input.scan(/-/) new_token(:MINUS, :-) when input.scan(/&/) new_token(:OPERATOR, :&) when input.scan(/~/) new_token(:OPERATOR, :~) when input.scan(/\//) new_token(:OPERATOR, :/) when input.scan(/!/) new_token(:OPERATOR, :!) when input.scan(/extension\b/) new_token(:EXTENSION, :extension) when input.scan(/constructor\b/) new_token(:CONSTRUCTOR, true) when input.scan(/noconstructor\b/) new_token(:NOCONSTRUCTOR, false) when input.scan(/\w+(\!|\?|=)/) new_token(:METHOD_NAME, input.matched.to_sym) when input.scan(/\$\w+\b/) new_token(:GVAR, input.matched.to_sym) when input.scan(/[A-Z]\w*/) new_token(:UIDENT, input.matched.to_sym) when input.scan(/_\w+/) new_token(:INTERFACE_NAME, input.matched.to_sym) when input.scan(/@\w+/) new_token(:IVAR_NAME, input.matched.to_sym) when input.scan(/\w+/) new_token(:IDENT, input.matched.to_sym) end end ...end parser.y/module_eval... ##### State transition tables begin ### racc_action_table = [ 94, 166, 93, 2, 3, 4, 97, 98, 78, 164, 83, 84, 85, 270, 79, 272, 77, 275, 101, 102, 100, 75, 76, 90, 87, 248, 80, 81, 276, 91, 24, 23, 246, 247, 86, 249, 82, 88, 89, 92, 95, 96, 99, 94, 277, 93, 24, 23, 278, 97, 98, 78, 136, 83, 84, 85, 106, 79, 279, 77, 8, 101, 102, 100, 75, 76, 90, 87, 26, 80, 81, 288, 91, 27, 28, 289, 107, 86, 290, 82, 88, 89, 92, 95, 96, 99, 94, 293, 93, 24, 23, 294, 97, 98, 78, 295, 83, 84, 85, 296, 79, 297, 77, 300, 101, 102, 100, 75, 76, 90, 87, 248, 80, 81, 301, 91, 233, 234, 246, 247, 86, 249, 82, 88, 89, 92, 95, 96, 99, 94, 8, 93, 24, 23, 8, 97, 98, 78, 306, 83, 84, 85, 106, 79, 307, 77, 308, 101, 102, 100, 75, 76, 90, 87, 309, 80, 81, 8, 91, 24, 23, 8, 107, 86, 5, 82, 88, 89, 92, 95, 96, 99, 94, 8, 93, 180, 181, 29, 97, 98, 78, 48, 83, 84, 85, 286, 79, 55, 77, 56, 101, 102, 100, 75, 76, 90, 87, 58, 80, 81, 24, 91, 24, 23, 63, 287, 86, 109, 82, 88, 89, 92, 95, 96, 99, 94, 134, 93, 24, 23, 135, 97, 98, 78, 136, 83, 84, 85, 137, 79, 138, 77, 8, 101, 102, 100, 75, 76, 90, 87, 248, 80, 81, 8, 91, 210, 123, 246, 247, 86, 249, 82, 88, 89, 92, 95, 96, 99, 94, 8, 93, 24, 23, 8, 97, 98, 78, 24, 83, 84, 85, 147, 79, 147, 77, 149, 101, 102, 100, 75, 76, 90, 87, 248, 80, 81, 150, 91, 151, 153, 246, 247, 86, 249, 82, 88, 89, 92, 95, 96, 99, 94, 154, 93, 155, 156, 8, 97, 98, 78, 158, 83, 84, 85, 159, 79, 160, 77, 161, 101, 102, 100, 75, 76, 90, 87, 162, 80, 81, 163, 91, 167, 71, 70, 68, 86, 168, 82, 88, 89, 92, 95, 96, 99, 67, 169, 170, 171, 172, 177, -71, -72, -73, -74, -70, 48, 187, 189, 31, 191, 73, 192, 193, 65, 194, 64, 66, 69, 72, 35, 36, 37, 38, 39, 40, 41, 42, 44, 198, 201, 209, 208, 228, 230, 231, 136, 19, 20, 235, 187, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 16, 18, 254, 21, 24, 23, 120, 122, 123, 8, 262, 263, 24, 23, 125, 36, 126, 127, 128, 40, 41, 42, 129, 264, 267, 268, nil, 130, 131, 132, 133, 120, 122, 123, nil, 24, 23, nil, nil, 125, 36, 126, 127, 128, 40, 41, 42, 129, nil, nil, nil, nil, 130, 131, 132, 133, 210, 123, 19, 20, 24, 23, nil, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, 16, 18, nil, 21, 24, 23, 210, 123, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, nil, nil, nil, 120, 225, nil, nil, nil, nil, 24, 23, 220, nil, 221, 222, 223, nil, nil, nil, 219, 120, 225, nil, nil, 130, 131, 132, 133, 220, nil, 221, 222, 223, nil, nil, nil, 219, 120, 225, nil, nil, 130, 131, 132, 133, 220, nil, 221, 222, 223, nil, nil, nil, 219, 120, 122, 123, nil, 130, 131, 132, 133, 220, nil, 221, 222, 223, nil, nil, nil, 219, nil, nil, nil, nil, 130, 131, 132, 133, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 125, 36, 126, 127, 128, 40, 41, 42, 129, nil, nil, nil, nil, 130, 131, 132, 133, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, nil, nil, nil, 24, 23, nil, nil, nil, nil, nil, nil, nil, 24, 23, 35, 36, 37, 38, 39, 40, 41, 42, 44, 35, 36, 37, 38, 39, 40, 41, 42, 44, 19, 20, nil, 24, 23, nil, 19, 20, nil, nil, nil, nil, 24, 23, nil, 16, 18, nil, 21, 24, 23, 16, 18, nil, 21, 24, 23, 19, 20, nil, nil, nil, nil, 19, 20, nil, nil, nil, nil, 19, 20, nil, 16, 18, nil, 21, 24, 23, 16, 18, nil, 21, 24, 23, 16, 18, nil, 21, 24, 23, 220, nil, 221, 222, 223, nil, nil, nil, 219, nil, nil, nil, nil, 130, 131, 132, 133 ] racc_action_check = [ 162, 109, 162, 0, 0, 0, 162, 162, 162, 109, 162, 162, 162, 246, 162, 247, 162, 251, 162, 162, 162, 162, 162, 162, 162, 188, 162, 162, 252, 162, 19, 19, 188, 188, 162, 188, 162, 162, 162, 162, 162, 162, 162, 28, 254, 28, 20, 20, 259, 28, 28, 28, 260, 28, 28, 28, 28, 28, 261, 28, 267, 28, 28, 28, 28, 28, 28, 28, 4, 28, 28, 272, 28, 4, 4, 273, 28, 28, 274, 28, 28, 28, 28, 28, 28, 28, 161, 283, 161, 189, 189, 285, 161, 161, 161, 286, 161, 161, 161, 287, 161, 288, 161, 291, 161, 161, 161, 161, 161, 161, 161, 190, 161, 161, 292, 161, 180, 180, 190, 190, 161, 190, 161, 161, 161, 161, 161, 161, 161, 160, 293, 160, 21, 21, 294, 160, 160, 160, 298, 160, 160, 160, 160, 160, 299, 160, 304, 160, 160, 160, 160, 160, 160, 160, 305, 160, 160, 308, 160, 27, 27, 309, 160, 160, 1, 160, 160, 160, 160, 160, 160, 160, 271, 2, 271, 135, 135, 5, 271, 271, 271, 8, 271, 271, 271, 271, 271, 16, 271, 17, 271, 271, 271, 271, 271, 271, 271, 18, 271, 271, 23, 271, 248, 248, 24, 271, 271, 30, 271, 271, 271, 271, 271, 271, 271, 187, 34, 187, 249, 249, 43, 187, 187, 187, 45, 187, 187, 187, 47, 187, 48, 187, 57, 187, 187, 187, 187, 187, 187, 187, 239, 187, 187, 59, 187, 264, 264, 239, 239, 187, 239, 187, 187, 187, 187, 187, 187, 187, 296, 60, 296, 69, 69, 61, 296, 296, 296, 63, 296, 296, 296, 64, 296, 65, 296, 66, 296, 296, 296, 296, 296, 296, 296, 277, 296, 296, 67, 296, 68, 70, 277, 277, 296, 277, 296, 296, 296, 296, 296, 296, 296, 295, 71, 295, 72, 73, 74, 295, 295, 295, 78, 295, 295, 295, 98, 295, 104, 295, 106, 295, 295, 295, 295, 295, 295, 295, 107, 295, 295, 108, 295, 110, 26, 26, 26, 295, 111, 295, 295, 295, 295, 295, 295, 295, 26, 113, 115, 117, 118, 124, 125, 126, 127, 128, 129, 138, 141, 142, 7, 143, 26, 144, 146, 26, 148, 26, 26, 26, 26, 7, 7, 7, 7, 7, 7, 7, 7, 7, 152, 155, 165, 163, 175, 178, 179, 182, 10, 10, 185, 186, 7, 7, 163, 163, 163, 163, 163, 163, 163, 163, 163, 10, 10, 192, 10, 10, 10, 168, 168, 168, 194, 211, 212, 163, 163, 168, 168, 168, 168, 168, 168, 168, 168, 168, 214, 237, 238, nil, 168, 168, 168, 168, 31, 31, 31, nil, 168, 168, nil, nil, 31, 31, 31, 31, 31, 31, 31, 31, 31, nil, nil, nil, nil, 31, 31, 31, 31, 263, 263, 14, 14, 31, 31, nil, 263, 263, 263, 263, 263, 263, 263, 263, 263, nil, 14, 14, nil, 14, 14, 14, 166, 166, nil, nil, nil, 263, 263, 166, 166, 166, 166, 166, 166, 166, 166, 166, nil, nil, nil, nil, nil, nil, 170, 170, nil, nil, nil, nil, 166, 166, 170, nil, 170, 170, 170, nil, nil, nil, 170, 172, 172, nil, nil, 170, 170, 170, 170, 172, nil, 172, 172, 172, nil, nil, nil, 172, 171, 171, nil, nil, 172, 172, 172, 172, 171, nil, 171, 171, 171, nil, nil, nil, 171, 169, 169, 169, nil, 171, 171, 171, 171, 169, nil, 169, 169, 169, nil, nil, nil, 169, nil, nil, nil, nil, 169, 169, 169, 169, 120, 120, 120, 120, 120, 120, 120, 120, 120, 177, 177, 177, 177, 177, 177, 177, 177, 177, nil, nil, nil, 120, 120, nil, nil, nil, nil, nil, nil, nil, 177, 177, 122, 122, 122, 122, 122, 122, 122, 122, 122, nil, nil, nil, nil, 122, 122, 122, 122, nil, nil, nil, nil, 122, 122, 191, 191, 191, 191, 191, 191, 191, 191, 191, 123, 123, 123, 123, 123, 123, 123, 123, 123, nil, nil, nil, 191, 191, nil, nil, nil, nil, nil, nil, nil, 123, 123, 193, 193, 193, 193, 193, 193, 193, 193, 193, 198, 198, 198, 198, 198, 198, 198, 198, 198, nil, nil, nil, 193, 193, nil, nil, nil, nil, nil, nil, nil, 198, 198, 201, 201, 201, 201, 201, 201, 201, 201, 201, 208, 208, 208, 208, 208, 208, 208, 208, 208, nil, nil, nil, 201, 201, nil, nil, nil, nil, nil, nil, nil, 208, 208, 209, 209, 209, 209, 209, 209, 209, 209, 209, 210, 210, 210, 210, 210, 210, 210, 210, 210, nil, nil, nil, 209, 209, nil, nil, nil, nil, nil, nil, nil, 210, 210, 228, 228, 228, 228, 228, 228, 228, 228, 228, 231, 231, 231, 231, 231, 231, 231, 231, 231, nil, nil, nil, 228, 228, nil, nil, nil, nil, nil, nil, nil, 231, 231, 134, 134, 134, 134, 134, 134, 134, 134, 134, 136, 136, 136, 136, 136, 136, 136, 136, 136, nil, nil, nil, 134, 134, nil, nil, nil, nil, nil, nil, nil, 136, 136, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, nil, nil, nil, 55, 55, nil, nil, nil, nil, nil, nil, nil, 56, 56, 270, 270, 270, 270, 270, 270, 270, 270, 270, 149, 149, 149, 149, 149, 149, 149, 149, 149, nil, nil, nil, 270, 270, nil, nil, nil, nil, nil, nil, nil, 149, 149, 150, 150, 150, 150, 150, 150, 150, 150, 150, 275, 275, 275, 275, 275, 275, 275, 275, 275, nil, nil, nil, 150, 150, nil, nil, nil, nil, nil, nil, nil, 275, 275, 151, 151, 151, 151, 151, 151, 151, 151, 151, 153, 153, 153, 153, 153, 153, 153, 153, 153, nil, nil, nil, 151, 151, nil, nil, nil, nil, nil, nil, nil, 153, 153, 154, 154, 154, 154, 154, 154, 154, 154, 154, 289, 289, 289, 289, 289, 289, 289, 289, 289, nil, nil, nil, 154, 154, nil, nil, nil, nil, nil, nil, nil, 289, 289, 290, 290, 290, 290, 290, 290, 290, 290, 290, 156, 156, 156, 156, 156, 156, 156, 156, 156, 11, 11, nil, 290, 290, nil, 3, 3, nil, nil, nil, nil, 156, 156, nil, 11, 11, nil, 11, 11, 11, 3, 3, nil, 3, 3, 3, 15, 15, nil, nil, nil, nil, 12, 12, nil, nil, nil, nil, 13, 13, nil, 15, 15, nil, 15, 15, 15, 12, 12, nil, 12, 12, 12, 13, 13, nil, 13, 13, 13, 225, nil, 225, 225, 225, nil, nil, nil, 225, nil, nil, nil, nil, 225, 225, 225, 225 ] racc_action_pointer = [ 1, 164, 158, 990, 16, 177, nil, 352, 163, nil, 367, 984, 1017, 1023, 440, 1011, 175, 177, 172, -8, 8, 94, nil, 162, 165, nil, 312, 121, 34, nil, 194, 423, nil, nil, 201, nil, nil, nil, nil, nil, nil, nil, nil, 194, nil, 195, nil, 212, 222, nil, nil, nil, nil, nil, nil, 808, 817, 217, nil, 228, 244, 248, nil, 229, 241, 243, 263, 274, 276, 223, 277, 290, 264, 293, 291, nil, nil, nil, 300, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 298, nil, nil, nil, nil, nil, 308, nil, 292, 300, 324, -5, 324, 328, nil, 337, nil, 338, nil, 339, 340, nil, 561, nil, 593, 625, 337, 338, 339, 340, 341, 342, nil, nil, nil, nil, 776, 156, 785, nil, 337, nil, nil, 315, 313, 347, 355, nil, 350, nil, 352, 849, 872, 904, 366, 913, 936, 367, 977, nil, nil, nil, 120, 77, -9, 375, nil, 375, 470, nil, 398, 544, 493, 527, 510, nil, nil, 370, nil, 570, 367, 376, 89, nil, 356, nil, nil, 352, 348, 206, -8, 51, 78, 616, 365, 648, 395, nil, nil, nil, 657, nil, nil, 680, nil, nil, nil, nil, nil, nil, 689, 712, 721, 404, 404, nil, 416, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1046, nil, nil, 744, nil, nil, 753, nil, nil, nil, nil, nil, 413, 390, 207, nil, nil, nil, nil, nil, nil, 1, 9, 164, 180, nil, 2, -8, nil, 37, nil, nil, nil, nil, 41, 23, 44, nil, 447, 235, nil, nil, 45, nil, nil, 840, 163, 44, 60, 63, 881, nil, 250, nil, nil, nil, nil, nil, 58, nil, 79, 69, 73, 94, 945, 968, 87, 78, 115, 119, 292, 249, nil, 122, 128, nil, nil, nil, nil, 134, 142, nil, nil, 142, 146, nil, nil ] racc_action_default = [ -176, -176, -119, -77, -176, -176, -1, -7, -176, -2, -77, -77, -77, -77, -77, -77, -176, -176, -176, -176, -176, -176, -93, -176, -95, -3, -176, -176, -176, 312, -31, -24, -9, -44, -56, -46, -47, -48, -49, -50, -51, -52, -53, -54, -55, -62, -63, -176, -121, -78, -79, -80, -81, -82, -83, -176, -176, -119, -92, -119, -119, -119, -94, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, -119, -128, -129, -130, -131, -132, -133, -134, -135, -136, -137, -138, -139, -140, -141, -142, -143, -144, -145, -146, -147, -148, -149, -150, -151, -152, -153, -154, -155, -168, -171, -172, -176, -176, -176, -34, -176, -10, -12, -13, -15, -16, -18, -19, -20, -23, -176, -26, -176, -176, -176, -46, -48, -49, -50, -55, -68, -69, -75, -76, -176, -176, -176, -120, -176, -84, -85, -123, -115, -90, -176, -96, -176, -175, -176, -176, -176, -176, -176, -176, -176, -176, -176, -167, -156, -157, -176, -176, -176, -176, -32, -176, -42, -8, -24, -24, -24, -24, -24, -25, -27, -176, -28, -176, -176, -64, -59, -58, -66, -67, -122, -176, -123, -176, -97, -176, -97, -176, -176, -176, -119, -160, -161, -162, -176, -164, -165, -176, -169, -170, -173, -174, -4, -5, -176, -176, -176, -176, -36, -38, -39, -41, -43, -11, -14, -70, -71, -72, -73, -74, -17, -176, -21, -22, -176, -29, -45, -176, -57, -60, -61, -86, -124, -176, -176, -97, -99, -100, -101, -102, -103, -104, -176, -113, -176, -176, -116, -117, -176, -91, -176, -158, -159, -163, -166, -176, -176, -176, -35, -42, -42, -30, -65, -119, -87, -98, -176, -176, -176, -109, -111, -176, -88, -97, -6, -33, -37, -40, -125, -126, -105, -176, -176, -176, -176, -176, -176, -176, -176, -119, -119, -176, -176, -114, -176, -176, -118, -89, -127, -106, -176, -176, -110, -112, -119, -119, -107, -108 ] racc_goto_table = [ 32, 17, 110, 6, 103, 47, 175, 178, 17, 17, 17, 17, 17, 17, 214, 182, 183, 59, 60, 61, 204, 205, 216, 185, 121, 74, 212, 211, 238, 282, 252, 165, 62, 141, 25, 142, 143, 144, 224, 226, 227, 30, 207, 146, 148, 108, 237, 206, 139, 140, 157, 9, 218, 1, 281, 302, 303, 232, 49, 50, 51, 52, 53, 54, 57, 188, 190, 152, 236, 271, 310, 311, 145, 250, nil, nil, nil, nil, nil, 269, nil, nil, nil, nil, nil, nil, nil, 260, 259, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 266, nil, nil, nil, nil, 175, nil, 214, 214, 173, nil, 174, 176, 292, nil, 216, 216, nil, nil, 212, 280, nil, nil, nil, nil, nil, 285, nil, nil, nil, nil, 184, 203, nil, nil, 217, nil, nil, 195, 196, 197, nil, 199, 200, 291, 202, nil, nil, nil, nil, 304, 305, nil, nil, nil, 121, nil, 121, 298, 299, nil, nil, nil, nil, nil, nil, 229, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 253, nil, 255, 251, nil, nil, nil, 257, nil, nil, 258, 256, nil, nil, nil, nil, nil, nil, 261, 174, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 265, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 273, 274, nil, nil, nil, nil, nil, nil, nil, nil, 121, nil, nil, nil, nil, nil, nil, 284 ] racc_goto_check = [ 12, 30, 11, 2, 58, 55, 22, 29, 30, 30, 30, 30, 30, 30, 15, 9, 10, 30, 30, 30, 52, 52, 17, 39, 12, 30, 13, 24, 41, 53, 41, 23, 43, 5, 4, 5, 5, 5, 18, 18, 18, 6, 9, 57, 57, 7, 52, 8, 12, 12, 5, 3, 14, 1, 25, 53, 53, 31, 3, 3, 3, 3, 3, 3, 38, 40, 42, 30, 39, 51, 53, 53, 43, 54, nil, nil, nil, nil, nil, 41, nil, nil, nil, nil, nil, nil, nil, 9, 10, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 29, nil, nil, nil, nil, 22, nil, 15, 15, 12, nil, 12, 12, 41, nil, 17, 17, nil, nil, 13, 24, nil, nil, nil, nil, nil, 52, nil, nil, nil, nil, 55, 58, nil, nil, 11, nil, nil, 12, 12, 12, nil, 12, 12, 29, 12, nil, nil, nil, nil, 52, 52, nil, nil, nil, 12, nil, 12, 29, 29, nil, nil, nil, nil, nil, nil, 12, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 12, nil, 12, 30, nil, nil, nil, 12, nil, nil, 12, 2, nil, nil, nil, nil, nil, nil, 12, 12, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 12, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 30, 30, nil, nil, nil, nil, nil, nil, nil, nil, 12, nil, nil, nil, nil, nil, nil, 12 ] racc_goto_pointer = [ nil, 53, 1, 48, 30, -24, 34, 15, -116, -121, -120, -29, -7, -140, -117, -152, nil, -144, -132, nil, nil, nil, -116, -78, -139, -210, nil, nil, nil, -127, -2, -123, nil, nil, nil, nil, nil, nil, 46, -118, -77, -160, -77, 9, nil, nil, nil, nil, nil, nil, nil, -178, -141, -238, -116, -3, nil, -21, -24, nil ] racc_goto_default = [ nil, nil, 283, nil, nil, 7, nil, nil, nil, 45, 46, nil, 179, 111, 112, 113, 114, 115, 116, 117, 118, 119, 124, nil, nil, 213, 215, 33, 34, nil, 43, nil, 10, 11, 12, 13, 14, 15, nil, nil, nil, nil, nil, 22, 239, 240, 241, 242, 243, 244, 245, nil, 105, nil, nil, nil, 186, nil, nil, 104 ] racc_reduce_table = [ 0, 0, :racc_error, 2, 60, :_reduce_1, 2, 60, :_reduce_2, 2, 60, :_reduce_3, 5, 61, :_reduce_4, 1, 67, :_reduce_none, 3, 67, :_reduce_6, 0, 65, :_reduce_7, 3, 65, :_reduce_8, 1, 65, :_reduce_9, 1, 70, :_reduce_10, 3, 70, :_reduce_11, 1, 70, :_reduce_12, 1, 73, :_reduce_13, 3, 73, :_reduce_14, 1, 73, :_reduce_15, 1, 75, :_reduce_16, 3, 75, :_reduce_17, 1, 75, :_reduce_18, 1, 77, :_reduce_19, 1, 77, :_reduce_20, 3, 77, :_reduce_21, 3, 77, :_reduce_22, 1, 77, :_reduce_23, 0, 80, :_reduce_24, 2, 80, :_reduce_25, 1, 72, :_reduce_26, 2, 74, :_reduce_27, 2, 76, :_reduce_28, 3, 78, :_reduce_29, 4, 79, :_reduce_30, 0, 66, :_reduce_31, 2, 66, :_reduce_32, 5, 66, :_reduce_33, 0, 82, :_reduce_34, 3, 82, :_reduce_35, 1, 83, :_reduce_36, 3, 83, :_reduce_37, 1, 83, :_reduce_38, 1, 84, :_reduce_39, 3, 84, :_reduce_40, 1, 84, :_reduce_41, 0, 85, :_reduce_42, 1, 85, :_reduce_43, 1, 68, :_reduce_44, 4, 68, :_reduce_45, 1, 68, :_reduce_46, 1, 68, :_reduce_47, 1, 68, :_reduce_48, 1, 68, :_reduce_49, 1, 68, :_reduce_50, 1, 68, :_reduce_51, 1, 68, :_reduce_52, 1, 68, :_reduce_53, 1, 87, :_reduce_54, 1, 87, :_reduce_55, 1, 86, :_reduce_none, 4, 86, :_reduce_57, 3, 86, :_reduce_58, 0, 90, :_reduce_59, 1, 90, :_reduce_none, 1, 90, :_reduce_none, 1, 71, :_reduce_none, 1, 71, :_reduce_63, 1, 88, :_reduce_64, 3, 88, :_reduce_65, 3, 69, :_reduce_66, 3, 69, :_reduce_67, 1, 81, :_reduce_none, 1, 81, :_reduce_none, 1, 81, :_reduce_none, 1, 81, :_reduce_none, 1, 81, :_reduce_none, 1, 81, :_reduce_none, 1, 81, :_reduce_none, 1, 81, :_reduce_none, 1, 81, :_reduce_none, 0, 62, :_reduce_77, 2, 62, :_reduce_78, 2, 62, :_reduce_79, 2, 62, :_reduce_80, 2, 62, :_reduce_81, 2, 62, :_reduce_82, 2, 62, :_reduce_83, 3, 96, :_reduce_84, 3, 95, :_reduce_85, 5, 91, :_reduce_86, 6, 92, :_reduce_87, 6, 93, :_reduce_88, 8, 94, :_reduce_89, 0, 101, :_reduce_90, 2, 101, :_reduce_91, 1, 97, :_reduce_none, 1, 89, :_reduce_none, 2, 89, :_reduce_94, 1, 102, :_reduce_95, 3, 102, :_reduce_96, 0, 100, :_reduce_97, 2, 100, :_reduce_98, 1, 103, :_reduce_none, 1, 103, :_reduce_none, 1, 103, :_reduce_none, 1, 103, :_reduce_none, 1, 103, :_reduce_none, 1, 103, :_reduce_none, 3, 109, :_reduce_105, 5, 104, :_reduce_106, 7, 105, :_reduce_107, 7, 106, :_reduce_108, 2, 107, :_reduce_109, 5, 107, :_reduce_110, 2, 108, :_reduce_111, 5, 108, :_reduce_112, 0, 110, :_reduce_113, 3, 110, :_reduce_114, 0, 99, :_reduce_115, 2, 99, :_reduce_116, 1, 113, :_reduce_117, 4, 113, :_reduce_118, 0, 64, :_reduce_119, 3, 64, :_reduce_120, 1, 114, :_reduce_121, 3, 114, :_reduce_122, 0, 98, :_reduce_123, 2, 98, :_reduce_124, 4, 115, :_reduce_125, 1, 112, :_reduce_126, 3, 112, :_reduce_127, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_153, 1, 111, :_reduce_154, 1, 111, :_reduce_155, 2, 111, :_reduce_156, 2, 111, :_reduce_157, 5, 63, :_reduce_158, 5, 63, :_reduce_159, 4, 63, :_reduce_160, 4, 63, :_reduce_161, 4, 63, :_reduce_162, 5, 63, :_reduce_163, 4, 63, :_reduce_164, 4, 63, :_reduce_165, 5, 63, :_reduce_166, 3, 63, :_reduce_167, 2, 63, :_reduce_168, 4, 63, :_reduce_169, 3, 117, :_reduce_170, 1, 117, :_reduce_171, 1, 118, :_reduce_172, 3, 118, :_reduce_173, 3, 118, :_reduce_174, 1, 116, :_reduce_175 ] racc_reduce_n = 176 racc_shift_n = 312 racc_token_table = { false => 0, :error => 1, :type_METHOD => 2, :type_SIGNATURE => 3, :type_ANNOTATION => 4, :ARROW => 5, :LPAREN => 6, :RPAREN => 7, :COMMA => 8, :STAR2 => 9, :QUESTION => 10, :STAR => 11, :COLON => 12, :LBRACE => 13, :RBRACE => 14, :LT => 15, :GT => 16, :ANY => 17, :TVAR => 18, :CLASS => 19, :MODULE => 20, :INSTANCE => 21, :SELF => 22, :VOID => 23, :NIL => 24, :INTERFACE_NAME => 25, :DOT => 26, :CONSTRUCTOR => 27, :NOCONSTRUCTOR => 28, :BAR => 29, :IDENT => 30, :MODULE_NAME => 31, :BLOCK => 32, :INCLUDE => 33, :GVAR => 34, :INTERFACE => 35, :END => 36, :EXTENSION => 37, :UIDENT => 38, :COLON2 => 39, :IVAR_NAME => 40, :DEF => 41, :SELFQ => 42, :EXTEND => 43, :LTCOLON => 44, :PLUS => 45, :OPERATOR => 46, :METHOD_NAME => 47, :BREAK => 48, :PERCENT => 49, :MINUS => 50, :METHOD => 51, :AT_TYPE => 52, :VAR => 53, :RETURN => 54, :CONST => 55, :IVAR => 56, :AT_IMPLEMENTS => 57, :AT_DYNAMIC => 58 } racc_nt_base = 59 racc_use_result_var = true Racc_arg = [ racc_action_table, racc_action_check, racc_action_default, racc_action_pointer, racc_goto_table, racc_goto_check, racc_goto_default, racc_goto_pointer, racc_nt_base, racc_reduce_table, racc_token_table, racc_shift_n, racc_reduce_n, racc_use_result_var ] Racc_token_to_s_table = [ "$end", "error", "type_METHOD", "type_SIGNATURE", "type_ANNOTATION", "ARROW", "LPAREN", "RPAREN", "COMMA", "STAR2", "QUESTION", "STAR", "COLON", "LBRACE", "RBRACE", "LT", "GT", "ANY", "TVAR", "CLASS", "MODULE", "INSTANCE", "SELF", "VOID", "NIL", "INTERFACE_NAME", "DOT", "CONSTRUCTOR", "NOCONSTRUCTOR", "BAR", "IDENT", "MODULE_NAME", "BLOCK", "INCLUDE", "GVAR", "INTERFACE", "END", "EXTENSION", "UIDENT", "COLON2", "IVAR_NAME", "DEF", "SELFQ", "EXTEND", "LTCOLON", "PLUS", "OPERATOR", "METHOD_NAME", "BREAK", "PERCENT", "MINUS", "METHOD", "AT_TYPE", "VAR", "RETURN", "CONST", "IVAR", "AT_IMPLEMENTS", "AT_DYNAMIC", "$start", "target", "method_type", "signatures", "annotation", "type_params", "params", "block_opt", "return_type", "simple_type", "union_seq", "params0", "type", "required_param", "params1", "optional_param", "params2", "rest_param", "params3", "required_keyword", "optional_keyword", "params4", "keyword", "block_params", "block_params0", "block_params1", "block_params2", "type_name", "instance_type_name", "type_seq", "module_name", "constructor", "interface", "class_decl", "module_decl", "extension_decl", "const_decl", "gvar_decl", "interface_name", "interface_members", "super_opt", "class_members", "self_type_opt", "module_name0", "class_member", "instance_method_member", "module_method_member", "module_instance_method_member", "include_member", "extend_member", "ivar_member", "constructor_method", "method_name", "method_type_union", "super_class", "type_param_seq", "interface_method", "subject", "dynamic_names", "dynamic_name" ] Racc_debug_parser = false ##### State transition tables end ##### # reduce 0 omitted module_eval(<<'.,.,', 'parser.y', 6) def _reduce_1(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 7) def _reduce_2(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 8) def _reduce_3(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 12) def _reduce_4(val, _values, result) result = AST::MethodType.new(location: AST::Location.concat(*val.compact.map(&:location)), type_params: val[0], params: val[1]&.value, block: val[2], return_type: val[4]) result end .,., # reduce 5 omitted module_eval(<<'.,.,', 'parser.y', 20) def _reduce_6(val, _values, result) result = AST::Types::Union.build(location: val[0].location + val[2].location, types: val[1]) result end .,., module_eval(<<'.,.,', 'parser.y', 23) def _reduce_7(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 24) def _reduce_8(val, _values, result) result = LocatedValue.new(location: val[0].location + val[2].location, value: val[1]) result end .,., module_eval(<<'.,.,', 'parser.y', 26) def _reduce_9(val, _values, result) result = LocatedValue.new(location: val[0].location, value: AST::MethodType::Params::Required.new(location: val[0].location, type: val[0])) result end .,., module_eval(<<'.,.,', 'parser.y', 29) def _reduce_10(val, _values, result) result = AST::MethodType::Params::Required.new(location: val[0].location, type: val[0]) result end .,., module_eval(<<'.,.,', 'parser.y', 31) def _reduce_11(val, _values, result) location = val[0].location result = AST::MethodType::Params::Required.new(location: location, type: val[0], next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 36) def _reduce_12(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 38) def _reduce_13(val, _values, result) result = AST::MethodType::Params::Optional.new(location: val[0].first, type: val[0].last) result end .,., module_eval(<<'.,.,', 'parser.y', 40) def _reduce_14(val, _values, result) location = val[0].first result = AST::MethodType::Params::Optional.new(type: val[0].last, location: location, next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 43) def _reduce_15(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 45) def _reduce_16(val, _values, result) result = AST::MethodType::Params::Rest.new(location: val[0].first, type: val[0].last) result end .,., module_eval(<<'.,.,', 'parser.y', 47) def _reduce_17(val, _values, result) loc = val[0].first result = AST::MethodType::Params::Rest.new(location: loc, type: val[0].last, next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 50) def _reduce_18(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 53) def _reduce_19(val, _values, result) location, name, type = val[0] result = AST::MethodType::Params::RequiredKeyword.new(location: location, name: name, type: type) result end .,., module_eval(<<'.,.,', 'parser.y', 57) def _reduce_20(val, _values, result) location, name, type = val[0] result = AST::MethodType::Params::OptionalKeyword.new(location: location, name: name, type: type) result end .,., module_eval(<<'.,.,', 'parser.y', 61) def _reduce_21(val, _values, result) location, name, type = val[0] result = AST::MethodType::Params::RequiredKeyword.new(location: location, name: name, type: type, next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 68) def _reduce_22(val, _values, result) location, name, type = val[0] result = AST::MethodType::Params::OptionalKeyword.new(location: location, name: name, type: type, next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 74) def _reduce_23(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 76) def _reduce_24(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 78) def _reduce_25(val, _values, result) result = AST::MethodType::Params::RestKeyword.new(location: val[0].location + val[1].location, type: val[1]) result end .,., module_eval(<<'.,.,', 'parser.y', 82) def _reduce_26(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 83) def _reduce_27(val, _values, result) result = [val[0].location + val[1].location, val[1]] result end .,., module_eval(<<'.,.,', 'parser.y', 85) def _reduce_28(val, _values, result) result = [val[0].location + val[1].location, val[1]] result end .,., module_eval(<<'.,.,', 'parser.y', 87) def _reduce_29(val, _values, result) result = [val[0].location + val[2].location, val[0].value, val[2]] result end .,., module_eval(<<'.,.,', 'parser.y', 90) def _reduce_30(val, _values, result) result = [val[0].location + val[3].location, val[1].value, val[3]] result end .,., module_eval(<<'.,.,', 'parser.y', 94) def _reduce_31(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 96) def _reduce_32(val, _values, result) result = AST::MethodType::Block.new(params: nil, return_type: nil, location: val[0].location + val[1].location) result end .,., module_eval(<<'.,.,', 'parser.y', 101) def _reduce_33(val, _values, result) result = AST::MethodType::Block.new(params: val[1], return_type: val[3], location: val[0].location + val[4].location) result end .,., module_eval(<<'.,.,', 'parser.y', 106) def _reduce_34(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 108) def _reduce_35(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 112) def _reduce_36(val, _values, result) result = AST::MethodType::Params::Required.new(location: val[0].location, type: val[0]) result end .,., module_eval(<<'.,.,', 'parser.y', 116) def _reduce_37(val, _values, result) result = AST::MethodType::Params::Required.new(location: val[0].location, type: val[0], next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 120) def _reduce_38(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 123) def _reduce_39(val, _values, result) result = AST::MethodType::Params::Optional.new(location: val[0].first, type: val[0].last) result end .,., module_eval(<<'.,.,', 'parser.y', 127) def _reduce_40(val, _values, result) loc = val.first[0] + (val[2] || val[1]).location type = val.first[1] next_params = val[2] result = AST::MethodType::Params::Optional.new(location: loc, type: type, next_params: next_params) result end .,., module_eval(<<'.,.,', 'parser.y', 132) def _reduce_41(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 134) def _reduce_42(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 136) def _reduce_43(val, _values, result) result = AST::MethodType::Params::Rest.new(location: val[0].first, type: val[0].last) result end .,., module_eval(<<'.,.,', 'parser.y', 140) def _reduce_44(val, _values, result) result = AST::Types::Name.new(name: val[0].value, location: val[0].location, args: []) result end .,., module_eval(<<'.,.,', 'parser.y', 143) def _reduce_45(val, _values, result) loc = val[0].location + val[3].location name = val[0].value args = val[2] result = AST::Types::Name.new(location: loc, name: name, args: args) result end .,., module_eval(<<'.,.,', 'parser.y', 148) def _reduce_46(val, _values, result) result = AST::Types::Any.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 149) def _reduce_47(val, _values, result) result = AST::Types::Var.new(location: val[0].location, name: val[0].value) result end .,., module_eval(<<'.,.,', 'parser.y', 150) def _reduce_48(val, _values, result) result = AST::Types::Class.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 151) def _reduce_49(val, _values, result) result = AST::Types::Class.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 152) def _reduce_50(val, _values, result) result = AST::Types::Instance.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 153) def _reduce_51(val, _values, result) result = AST::Types::Self.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 154) def _reduce_52(val, _values, result) result = AST::Types::Void.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 155) def _reduce_53(val, _values, result) result = AST::Types::Name.new_instance(name: ModuleName.new(name: "NilClass", absolute: true), location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 159) def _reduce_54(val, _values, result) result = LocatedValue.new(value: TypeName::Instance.new(name: val[0].value), location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 163) def _reduce_55(val, _values, result) result = LocatedValue.new(value: TypeName::Interface.new(name: val[0].value), location: val[0].location) result end .,., # reduce 56 omitted module_eval(<<'.,.,', 'parser.y', 169) def _reduce_57(val, _values, result) loc = val[0].location + (val[3] || val[2]).location result = LocatedValue.new(value: TypeName::Class.new(name: val[0].value, constructor: val[3]&.value), location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 174) def _reduce_58(val, _values, result) loc = val[0].location + val.last.location result = LocatedValue.new(value: TypeName::Module.new(name: val[0].value), location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 179) def _reduce_59(val, _values, result) result = nil result end .,., # reduce 60 omitted # reduce 61 omitted # reduce 62 omitted module_eval(<<'.,.,', 'parser.y', 185) def _reduce_63(val, _values, result) loc = val[0].first.location + val[0].last.location result = AST::Types::Union.build(types: val[0], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 189) def _reduce_64(val, _values, result) result = [val[0]] result end .,., module_eval(<<'.,.,', 'parser.y', 190) def _reduce_65(val, _values, result) result = [val[0]] + val[2] result end .,., module_eval(<<'.,.,', 'parser.y', 192) def _reduce_66(val, _values, result) result = [val[0], val[2]] result end .,., module_eval(<<'.,.,', 'parser.y', 193) def _reduce_67(val, _values, result) result = [val[0]] + val[2] result end .,., # reduce 68 omitted # reduce 69 omitted # reduce 70 omitted # reduce 71 omitted # reduce 72 omitted # reduce 73 omitted # reduce 74 omitted # reduce 75 omitted # reduce 76 omitted module_eval(<<'.,.,', 'parser.y', 205) def _reduce_77(val, _values, result) result = [] result end .,., module_eval(<<'.,.,', 'parser.y', 206) def _reduce_78(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 207) def _reduce_79(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 208) def _reduce_80(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 209) def _reduce_81(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 210) def _reduce_82(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 211) def _reduce_83(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 214) def _reduce_84(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Gvar.new( location: loc, name: val[0].value, type: val[2] ) result end .,., module_eval(<<'.,.,', 'parser.y', 223) def _reduce_85(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Const.new( location: loc, name: val[0].value, type: val[2] ) result end .,., module_eval(<<'.,.,', 'parser.y', 232) def _reduce_86(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Interface.new( location: loc, name: val[1].value, params: val[2], methods: val[3] ) result end .,., module_eval(<<'.,.,', 'parser.y', 242) def _reduce_87(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Class.new(name: val[1].value.absolute!, params: val[2], super_class: val[3], members: val[4], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 250) def _reduce_88(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Module.new(name: val[1].value.absolute!, location: loc, params: val[2], self_type: val[3], members: val[4]) result end .,., module_eval(<<'.,.,', 'parser.y', 258) def _reduce_89(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Extension.new(module_name: val[1].value.absolute!, name: val[4].value, location: loc, params: val[2], members: val[6]) result end .,., module_eval(<<'.,.,', 'parser.y', 266) def _reduce_90(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 267) def _reduce_91(val, _values, result) result = val[1] result end .,., # reduce 92 omitted # reduce 93 omitted module_eval(<<'.,.,', 'parser.y', 273) def _reduce_94(val, _values, result) loc = val.first.location + val.last.location result = LocatedValue.new(location: loc, value: val[1].value.absolute!) result end .,., module_eval(<<'.,.,', 'parser.y', 278) def _reduce_95(val, _values, result) result = LocatedValue.new(location: val[0].location, value: ModuleName.parse(val[0].value)) result end .,., module_eval(<<'.,.,', 'parser.y', 281) def _reduce_96(val, _values, result) location = val[0].location + val.last.location name = ModuleName.parse(val[0].value) + val.last.value result = LocatedValue.new(location: location, value: name) result end .,., module_eval(<<'.,.,', 'parser.y', 286) def _reduce_97(val, _values, result) result = [] result end .,., module_eval(<<'.,.,', 'parser.y', 287) def _reduce_98(val, _values, result) result = [val[0]] + val[1] result end .,., # reduce 99 omitted # reduce 100 omitted # reduce 101 omitted # reduce 102 omitted # reduce 103 omitted # reduce 104 omitted module_eval(<<'.,.,', 'parser.y', 297) def _reduce_105(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Members::Ivar.new( location: loc, name: val[0].value, type: val[2] ) result end .,., module_eval(<<'.,.,', 'parser.y', 306) def _reduce_106(val, _values, result) loc = val.first.location + val.last.last.location result = AST::Signature::Members::Method.new( name: val[2].value, types: val[4], kind: :instance, location: loc, attributes: [val[1] ? :constructor : nil].compact ) result end .,., module_eval(<<'.,.,', 'parser.y', 316) def _reduce_107(val, _values, result) loc = val.first.location + val.last.last.location result = AST::Signature::Members::Method.new( name: val[4].value, types: val[6], kind: :module, location: loc, attributes: [val[1] ? :constructor : nil].compact ) result end .,., module_eval(<<'.,.,', 'parser.y', 326) def _reduce_108(val, _values, result) loc = val.first.location + val.last.last.location result = AST::Signature::Members::Method.new( name: val[4].value, types: val[6], kind: :module_instance, location: loc, attributes: [val[1] ? :constructor : nil].compact ) result end .,., module_eval(<<'.,.,', 'parser.y', 336) def _reduce_109(val, _values, result) loc = val.first.location + val.last.location name = val[1].value result = AST::Signature::Members::Include.new(name: name, location: loc, args: []) result end .,., module_eval(<<'.,.,', 'parser.y', 341) def _reduce_110(val, _values, result) loc = val.first.location + val.last.location name = val[1].value result = AST::Signature::Members::Include.new(name: name, location: loc, args: val[3]) result end .,., module_eval(<<'.,.,', 'parser.y', 346) def _reduce_111(val, _values, result) loc = val.first.location + val.last.location name = val[1].value result = AST::Signature::Members::Extend.new(name: name, location: loc, args: []) result end .,., module_eval(<<'.,.,', 'parser.y', 351) def _reduce_112(val, _values, result) loc = val.first.location + val.last.location name = val[1].value result = AST::Signature::Members::Extend.new(name: name, location: loc, args: val[3]) result end .,., module_eval(<<'.,.,', 'parser.y', 356) def _reduce_113(val, _values, result) result = false result end .,., module_eval(<<'.,.,', 'parser.y', 357) def _reduce_114(val, _values, result) result = true result end .,., module_eval(<<'.,.,', 'parser.y', 359) def _reduce_115(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 360) def _reduce_116(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 363) def _reduce_117(val, _values, result) result = AST::Signature::SuperClass.new(location: val[0].location, name: val[0].value, args: []) result end .,., module_eval(<<'.,.,', 'parser.y', 366) def _reduce_118(val, _values, result) loc = val[0].location + val[3].location name = val[0].value result = AST::Signature::SuperClass.new(location: loc, name: name, args: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 371) def _reduce_119(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 373) def _reduce_120(val, _values, result) location = val[0].location + val[2].location result = AST::TypeParams.new(location: location, variables: val[1]) result end .,., module_eval(<<'.,.,', 'parser.y', 377) def _reduce_121(val, _values, result) result = [val[0].value] result end .,., module_eval(<<'.,.,', 'parser.y', 378) def _reduce_122(val, _values, result) result = [val[0].value] + val[2] result end .,., module_eval(<<'.,.,', 'parser.y', 380) def _reduce_123(val, _values, result) result = [] result end .,., module_eval(<<'.,.,', 'parser.y', 381) def _reduce_124(val, _values, result) result = val[1].unshift(val[0]) result end .,., module_eval(<<'.,.,', 'parser.y', 384) def _reduce_125(val, _values, result) loc = val[0].location + val[3].last.location result = AST::Signature::Interface::Method.new(location: loc, name: val[1].value, types: val[3]) result end .,., module_eval(<<'.,.,', 'parser.y', 388) def _reduce_126(val, _values, result) result = [val[0]] result end .,., module_eval(<<'.,.,', 'parser.y', 389) def _reduce_127(val, _values, result) result = [val[0]] + val[2] result end .,., # reduce 128 omitted # reduce 129 omitted # reduce 130 omitted # reduce 131 omitted # reduce 132 omitted # reduce 133 omitted # reduce 134 omitted # reduce 135 omitted # reduce 136 omitted # reduce 137 omitted # reduce 138 omitted # reduce 139 omitted # reduce 140 omitted # reduce 141 omitted # reduce 142 omitted # reduce 143 omitted # reduce 144 omitted # reduce 145 omitted # reduce 146 omitted # reduce 147 omitted # reduce 148 omitted # reduce 149 omitted # reduce 150 omitted # reduce 151 omitted # reduce 152 omitted module_eval(<<'.,.,', 'parser.y', 412) def _reduce_153(val, _values, result) result = LocatedValue.new(location: val[0].location, value: :|) result end .,., module_eval(<<'.,.,', 'parser.y', 413) def _reduce_154(val, _values, result) result = LocatedValue.new(location: val[0].location, value: :constructor) result end .,., module_eval(<<'.,.,', 'parser.y', 414) def _reduce_155(val, _values, result) result = LocatedValue.new(location: val[0].location, value: :noconstructor) result end .,., module_eval(<<'.,.,', 'parser.y', 416) def _reduce_156(val, _values, result) raise ParseError, "\nunexpected method name any ?" unless val[0].location.pred?(val[1].location) result = LocatedValue.new(location: val[0].location + val[1].location, value: :any?) result end .,., module_eval(<<'.,.,', 'parser.y', 420) def _reduce_157(val, _values, result) raise ParseError, "\nunexpected method name > >" unless val[0].location.pred?(val[1].location) result = LocatedValue.new(location: val[0].location + val[1].location, value: :>>) result end .,., module_eval(<<'.,.,', 'parser.y', 425) def _reduce_158(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::VarType.new(location: loc, name: val[2].value, type: val[4]) result end .,., module_eval(<<'.,.,', 'parser.y', 431) def _reduce_159(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::MethodType.new(location: loc, name: val[2].value, type: val[4]) result end .,., module_eval(<<'.,.,', 'parser.y', 437) def _reduce_160(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::ReturnType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 441) def _reduce_161(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::BlockType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 445) def _reduce_162(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::SelfType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 449) def _reduce_163(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::ConstType.new(name: val[2].value, type: val[4], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 455) def _reduce_164(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::InstanceType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 459) def _reduce_165(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::ModuleType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 463) def _reduce_166(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::IvarType.new(name: val[2].value, type: val[4], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 467) def _reduce_167(val, _values, result) loc = val[0].location + (val[2]&.location || val[1].location) args = val[2]&.variables || [] name = AST::Annotation::Implements::Module.new(name: val[1].value, args: args) result = AST::Annotation::Implements.new(name: name, location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 473) def _reduce_168(val, _values, result) loc = val[0].location + val[1].last.location result = AST::Annotation::Dynamic.new(names: val[1], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 477) def _reduce_169(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::BreakType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 481) def _reduce_170(val, _values, result) result = [val[0]] + val[2] result end .,., module_eval(<<'.,.,', 'parser.y', 482) def _reduce_171(val, _values, result) result = val result end .,., module_eval(<<'.,.,', 'parser.y', 485) def _reduce_172(val, _values, result) result = AST::Annotation::Dynamic::Name.new(name: val[0].value, location: val[0].location, kind: :instance) result end .,., module_eval(<<'.,.,', 'parser.y', 488) def _reduce_173(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::Dynamic::Name.new(name: val[2].value, location: loc, kind: :module) result end .,., module_eval(<<'.,.,', 'parser.y', 492) def _reduce_174(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::Dynamic::Name.new(name: val[2].value, location: loc, kind: :module_instance) result end .,., module_eval(<<'.,.,', 'parser.y', 496) def _reduce_175(val, _values, result) result = val[0] result end .,., def _reduce_none(val, _values, result) val[0] end end # class Parser end # module Steep