# typed: true # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `parser` gem. # Please instead update this file by running `bin/tapioca gem parser`. # @api public # # source://parser//lib/parser.rb#19 module Parser class << self private # source://parser//lib/parser/current.rb#5 def warn_syntax_deviation(feature, version); end end end # @api public # # source://parser//lib/parser.rb#24 module Parser::AST; end # {Parser::AST::Node} contains information about a single AST node and its # child nodes. It extends the basic [AST::Node](http://rdoc.info/gems/ast/AST/Node) # class provided by gem [ast](http://rdoc.info/gems/ast). # # @api public # # source://parser//lib/parser/ast/node.rb#17 class Parser::AST::Node < ::AST::Node # Assigns various properties to this AST node. Currently only the # location can be set. # # @api public # @option properties # @param properties [Hash] # # source://parser//lib/parser/ast/node.rb#30 def assign_properties(properties); end # Source map for this Node. # # @api public # @return [Parser::Source::Map] # # source://parser//lib/parser/ast/node.rb#18 def loc; end # Source map for this Node. # # @api public # @return [Parser::Source::Map] # # source://parser//lib/parser/ast/node.rb#18 def location; end end # @api public # # source://parser//lib/parser/ast/processor.rb#9 class Parser::AST::Processor < ::AST::Processor # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_alias(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_and(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_and_asgn(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#116 def on_arg(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_arg_expr(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_args(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#103 def on_argument(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_array(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_array_pattern(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_array_pattern_with_tail(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#32 def on_back_ref(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_begin(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_block(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_block_pass(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#116 def on_blockarg(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_blockarg_expr(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_break(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_case(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_case_match(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#87 def on_casgn(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_class(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#79 def on_const(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_const_pattern(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#179 def on_csend(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#32 def on_cvar(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#56 def on_cvasgn(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#158 def on_def(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_defined?(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#167 def on_defs(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_dstr(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_dsym(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_eflipflop(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#286 def on_empty_else(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_ensure(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_erange(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_find_pattern(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_for(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#116 def on_forward_arg(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_forwarded_kwrestarg(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_forwarded_restarg(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#32 def on_gvar(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#56 def on_gvasgn(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_hash(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_hash_pattern(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_if(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_if_guard(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_iflipflop(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_in_match(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_in_pattern(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_index(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_indexasgn(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_irange(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#32 def on_ivar(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#56 def on_ivasgn(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#116 def on_kwarg(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_kwargs(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_kwbegin(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#116 def on_kwoptarg(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#116 def on_kwrestarg(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_kwsplat(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_lambda(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#32 def on_lvar(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#56 def on_lvasgn(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_masgn(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_match_alt(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_match_as(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_match_current_line(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_match_pattern(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_match_pattern_p(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_match_rest(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#32 def on_match_var(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_match_with_lvasgn(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_mlhs(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_module(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_next(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_not(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#32 def on_nth_ref(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#196 def on_numblock(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#68 def on_op_asgn(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#116 def on_optarg(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_or(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_or_asgn(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_pair(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_pin(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_postexe(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_preexe(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#130 def on_procarg0(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_redo(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_regexp(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_resbody(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_rescue(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#116 def on_restarg(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_restarg_expr(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_retry(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_return(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_sclass(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#179 def on_send(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#116 def on_shadowarg(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_splat(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_super(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_undef(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_unless_guard(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_until(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_until_post(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#27 def on_var(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#43 def on_vasgn(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_when(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_while(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_while_post(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_xstr(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def on_yield(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#279 def process_argument_node(node); end # @api public # # source://parser//lib/parser/ast/processor.rb#10 def process_regular_node(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#271 def process_var_asgn_node(node); end # @api public # @private # # source://parser//lib/parser/ast/processor.rb#263 def process_variable_node(node); end end # Base class for version-specific parsers. # # @api public # # source://parser//lib/parser/base.rb#29 class Parser::Base < ::Racc::Parser # @api public # @param builder [Parser::Builders::Default] The AST builder to use. # @return [Base] a new instance of Base # # source://parser//lib/parser/base.rb#126 def initialize(builder = T.unsafe(nil)); end # @api public # # source://parser//lib/parser/base.rb#114 def builder; end # @api public # # source://parser//lib/parser/base.rb#117 def context; end # @api public # # source://parser//lib/parser/base.rb#119 def current_arg_stack; end # @api public # @return [Parser::Diagnostic::Engine] # # source://parser//lib/parser/base.rb#113 def diagnostics; end # @api public # # source://parser//lib/parser/base.rb#112 def lexer; end # @api public # # source://parser//lib/parser/base.rb#118 def max_numparam_stack; end # Parses a source buffer and returns the AST, or `nil` in case of a non fatal error. # # @api public # @param source_buffer [Parser::Source::Buffer] The source buffer to parse. # @return [Parser::AST::Node, nil] # # source://parser//lib/parser/base.rb#186 def parse(source_buffer); end # Parses a source buffer and returns the AST and the source code comments. # # @api public # @return [Array] # @see #parse # @see Parser::Source::Comment#associate # # source://parser//lib/parser/base.rb#204 def parse_with_comments(source_buffer); end # @api public # # source://parser//lib/parser/base.rb#121 def pattern_hash_keys; end # @api public # # source://parser//lib/parser/base.rb#120 def pattern_variables; end # Resets the state of the parser. # # @api public # # source://parser//lib/parser/base.rb#167 def reset; end # @api public # # source://parser//lib/parser/base.rb#116 def source_buffer; end # @api public # @return [Parser::StaticEnvironment] # # source://parser//lib/parser/base.rb#115 def static_env; end # Parses a source buffer and returns the AST, the source code comments, # and the tokens emitted by the lexer. In case of a fatal error, a {SyntaxError} # is raised, unless `recover` is true. In case of an error # (non-fatal or recovered), `nil` is returned instead of the AST, and # comments as well as tokens are only returned up to the location of # the error. # # Currently, token stream format returned by #tokenize is not documented, # but is considered part of a public API and only changed according # to Semantic Versioning. # # However, note that the exact token composition of various constructs # might vary. For example, a string `"foo"` is represented equally well # by `:tSTRING_BEG " :tSTRING_CONTENT foo :tSTRING_END "` and # `:tSTRING "foo"`; such details must not be relied upon. # # @api public # @param source_buffer [Parser::Source::Buffer] # @param recover [Boolean] If true, recover from syntax errors. False by default. # @return [Array] # # source://parser//lib/parser/base.rb#233 def tokenize(source_buffer, recover = T.unsafe(nil)); end private # @api public # # source://parser//lib/parser/base.rb#257 def check_kwarg_name(name_t); end # @api public # # source://parser//lib/parser/base.rb#266 def diagnostic(level, reason, arguments, location_t, highlights_ts = T.unsafe(nil)); end # @api public # # source://parser//lib/parser/base.rb#251 def next_token; end # @api public # # source://parser//lib/parser/base.rb#282 def on_error(error_token_id, error_value, value_stack); end class << self # @api public # @return [Parser::Base] parser with the default options set. # # source://parser//lib/parser/base.rb#84 def default_parser; end # Parses a string of Ruby code and returns the AST. If the source # cannot be parsed, {SyntaxError} is raised and a diagnostic is # printed to `stderr`. # # @api public # @example # Parser::Base.parse('puts "hello"') # @param string [String] The block of code to parse. # @param file [String] The name of the file the code originated from. # @param line [Numeric] The initial line number. # @return [Parser::AST::Node] # # source://parser//lib/parser/base.rb#30 def parse(string, file = T.unsafe(nil), line = T.unsafe(nil)); end # Parses Ruby source code by reading it from a file. If the source # cannot be parsed, {SyntaxError} is raised and a diagnostic is # printed to `stderr`. # # @api public # @param filename [String] Path to the file to parse. # @return [Parser::AST::Node] # @see #parse # # source://parser//lib/parser/base.rb#64 def parse_file(filename); end # Parses Ruby source code by reading it from a file and returns the AST and # comments. If the source cannot be parsed, {SyntaxError} is raised and a # diagnostic is printed to `stderr`. # # @api public # @param filename [String] Path to the file to parse. # @return [Array] # @see #parse # # source://parser//lib/parser/base.rb#77 def parse_file_with_comments(filename); end # Parses a string of Ruby code and returns the AST and comments. If the # source cannot be parsed, {SyntaxError} is raised and a diagnostic is # printed to `stderr`. # # @api public # @example # Parser::Base.parse_with_comments('puts "hello"') # @param string [String] The block of code to parse. # @param file [String] The name of the file the code originated from. # @param line [Numeric] The initial line number. # @return [Array] # # source://parser//lib/parser/base.rb#49 def parse_with_comments(string, file = T.unsafe(nil), line = T.unsafe(nil)); end private # @api public # # source://parser//lib/parser/base.rb#97 def setup_source_buffer(file, line, string, encoding); end end end # @api public # # source://parser//lib/parser.rb#77 module Parser::Builders; end # source://parser//lib/parser/builders/default.rb#8 class Parser::Builders::Default # source://parser//lib/parser/builders/default.rb#243 def initialize; end # source://parser//lib/parser/builders/default.rb#696 def __ENCODING__(__ENCODING__t); end # source://parser//lib/parser/builders/default.rb#348 def __FILE__(__FILE__t); end # source://parser//lib/parser/builders/default.rb#312 def __LINE__(__LINE__t); end # source://parser//lib/parser/builders/default.rb#622 def accessible(node); end # source://parser//lib/parser/builders/default.rb#871 def alias(alias_t, to, from); end # source://parser//lib/parser/builders/default.rb#910 def arg(name_t); end # source://parser//lib/parser/builders/default.rb#1000 def arg_expr(expr); end # source://parser//lib/parser/builders/default.rb#880 def args(begin_t, args, end_t, check_args = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#440 def array(begin_t, elements, end_t); end # source://parser//lib/parser/builders/default.rb#1583 def array_pattern(lbrack_t, elements, rbrack_t); end # source://parser//lib/parser/builders/default.rb#760 def assign(lhs, eql_t, rhs); end # source://parser//lib/parser/builders/default.rb#705 def assignable(node); end # source://parser//lib/parser/builders/default.rb#540 def associate(begin_t, pairs, end_t); end # source://parser//lib/parser/builders/default.rb#1164 def attr_asgn(receiver, dot_t, selector_t); end # source://parser//lib/parser/builders/default.rb#612 def back_ref(token); end # source://parser//lib/parser/builders/default.rb#1428 def begin(begin_t, body, end_t); end # source://parser//lib/parser/builders/default.rb#1370 def begin_body(compound_stmt, rescue_bodies = T.unsafe(nil), else_t = T.unsafe(nil), else_ = T.unsafe(nil), ensure_t = T.unsafe(nil), ensure_ = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#1446 def begin_keyword(begin_t, body, end_t); end # source://parser//lib/parser/builders/default.rb#1198 def binary_op(receiver, operator_t, arg); end # source://parser//lib/parser/builders/default.rb#1115 def block(method_call, begin_t, args, body, end_t); end # source://parser//lib/parser/builders/default.rb#1150 def block_pass(amper_t, arg); end # source://parser//lib/parser/builders/default.rb#975 def blockarg(amper_t, name_t); end # source://parser//lib/parser/builders/default.rb#1020 def blockarg_expr(amper_t, expr); end # source://parser//lib/parser/builders/default.rb#1106 def call_lambda(lambda_t); end # source://parser//lib/parser/builders/default.rb#1089 def call_method(receiver, dot_t, selector_t, lparen_t = T.unsafe(nil), args = T.unsafe(nil), rparen_t = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#1061 def call_type_for_dot(dot_t); end # source://parser//lib/parser/builders/default.rb#1303 def case(case_t, expr, when_bodies, else_t, else_body, end_t); end # source://parser//lib/parser/builders/default.rb#1466 def case_match(case_t, expr, in_bodies, else_t, else_body, end_t); end # source://parser//lib/parser/builders/default.rb#343 def character(char_t); end # source://parser//lib/parser/builders/default.rb#284 def complex(complex_t); end # source://parser//lib/parser/builders/default.rb#1416 def compstmt(statements); end # source://parser//lib/parser/builders/default.rb#1279 def condition(cond_t, cond, then_t, if_true, else_t, if_false, end_t); end # source://parser//lib/parser/builders/default.rb#1285 def condition_mod(if_true, if_false, cond_t, cond); end # source://parser//lib/parser/builders/default.rb#679 def const(name_t); end # source://parser//lib/parser/builders/default.rb#691 def const_fetch(scope, t_colon2, name_t); end # source://parser//lib/parser/builders/default.rb#684 def const_global(t_colon3, name_t); end # source://parser//lib/parser/builders/default.rb#756 def const_op_assignable(node); end # source://parser//lib/parser/builders/default.rb#1613 def const_pattern(const, ldelim_t, pattern, rdelim_t); end # source://parser//lib/parser/builders/default.rb#607 def cvar(token); end # source://parser//lib/parser/builders/default.rb#388 def dedent_string(node, dedent_level); end # source://parser//lib/parser/builders/default.rb#807 def def_class(class_t, name, lt_t, superclass, body, end_t); end # source://parser//lib/parser/builders/default.rb#838 def def_endless_method(def_t, name_t, args, assignment_t, body); end # source://parser//lib/parser/builders/default.rb#856 def def_endless_singleton(def_t, definee, dot_t, name_t, args, assignment_t, body); end # source://parser//lib/parser/builders/default.rb#830 def def_method(def_t, name_t, args, body, end_t); end # source://parser//lib/parser/builders/default.rb#820 def def_module(module_t, name, body, end_t); end # source://parser//lib/parser/builders/default.rb#814 def def_sclass(class_t, lshft_t, expr, body, end_t); end # source://parser//lib/parser/builders/default.rb#846 def def_singleton(def_t, definee, dot_t, name_t, args, body, end_t); end # source://parser//lib/parser/builders/default.rb#237 def emit_file_line_as_literals; end # source://parser//lib/parser/builders/default.rb#237 def emit_file_line_as_literals=(_arg0); end # source://parser//lib/parser/builders/default.rb#265 def false(false_t); end # source://parser//lib/parser/builders/default.rb#1604 def find_pattern(lbrack_t, elements, rbrack_t); end # source://parser//lib/parser/builders/default.rb#276 def float(float_t); end # source://parser//lib/parser/builders/default.rb#1324 def for(for_t, iterator, in_t, iteratee, do_t, body, end_t); end # source://parser//lib/parser/builders/default.rb#906 def forward_arg(dots_t); end # source://parser//lib/parser/builders/default.rb#896 def forward_only_args(begin_t, dots_t, end_t); end # source://parser//lib/parser/builders/default.rb#1077 def forwarded_args(dots_t); end # source://parser//lib/parser/builders/default.rb#1085 def forwarded_kwrestarg(dstar_t); end # source://parser//lib/parser/builders/default.rb#1081 def forwarded_restarg(star_t); end # source://parser//lib/parser/builders/default.rb#602 def gvar(token); end # source://parser//lib/parser/builders/default.rb#1577 def hash_pattern(lbrace_t, kwargs, rbrace_t); end # source://parser//lib/parser/builders/default.rb#592 def ident(token); end # source://parser//lib/parser/builders/default.rb#1493 def if_guard(if_t, if_body); end # source://parser//lib/parser/builders/default.rb#1472 def in_match(lhs, in_t, rhs); end # source://parser//lib/parser/builders/default.rb#1487 def in_pattern(in_t, pattern, guard, then_t, body); end # source://parser//lib/parser/builders/default.rb#1173 def index(receiver, lbrack_t, indexes, rbrack_t); end # source://parser//lib/parser/builders/default.rb#1187 def index_asgn(receiver, lbrack_t, indexes, rbrack_t); end # source://parser//lib/parser/builders/default.rb#272 def integer(integer_t); end # source://parser//lib/parser/builders/default.rb#597 def ivar(token); end # source://parser//lib/parser/builders/default.rb#1332 def keyword_cmd(type, keyword_t, lparen_t = T.unsafe(nil), args = T.unsafe(nil), rparen_t = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#937 def kwarg(name_t); end # source://parser//lib/parser/builders/default.rb#963 def kwnilarg(dstar_t, nil_t); end # source://parser//lib/parser/builders/default.rb#944 def kwoptarg(name_t, value); end # source://parser//lib/parser/builders/default.rb#951 def kwrestarg(dstar_t, name_t = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#535 def kwsplat(dstar_t, arg); end # source://parser//lib/parser/builders/default.rb#1272 def logical_op(type, lhs, op_t, rhs); end # source://parser//lib/parser/builders/default.rb#1310 def loop(type, keyword_t, cond, do_t, body, end_t); end # source://parser//lib/parser/builders/default.rb#1315 def loop_mod(type, body, keyword_t, cond); end # source://parser//lib/parser/builders/default.rb#1627 def match_alt(left, pipe_t, right); end # source://parser//lib/parser/builders/default.rb#1634 def match_as(value, assoc_t, as); end # source://parser//lib/parser/builders/default.rb#1513 def match_hash_var(name_t); end # source://parser//lib/parser/builders/default.rb#1527 def match_hash_var_from_str(begin_t, strings, end_t); end # source://parser//lib/parser/builders/default.rb#1665 def match_label(label_type, label); end # source://parser//lib/parser/builders/default.rb#1641 def match_nil_pattern(dstar_t, nil_t); end # source://parser//lib/parser/builders/default.rb#1220 def match_op(receiver, match_t, arg); end # source://parser//lib/parser/builders/default.rb#1646 def match_pair(label_type, label, value); end # source://parser//lib/parser/builders/default.rb#1477 def match_pattern(lhs, match_t, rhs); end # source://parser//lib/parser/builders/default.rb#1482 def match_pattern_p(lhs, match_t, rhs); end # source://parser//lib/parser/builders/default.rb#1566 def match_rest(star_t, name_t = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#1501 def match_var(name_t); end # source://parser//lib/parser/builders/default.rb#1609 def match_with_trailing_comma(match, comma_t); end # source://parser//lib/parser/builders/default.rb#798 def multi_assign(lhs, eql_t, rhs); end # source://parser//lib/parser/builders/default.rb#793 def multi_lhs(begin_t, items, end_t); end # source://parser//lib/parser/builders/default.rb#255 def nil(nil_t); end # source://parser//lib/parser/builders/default.rb#1248 def not_op(not_t, begin_t = T.unsafe(nil), receiver = T.unsafe(nil), end_t = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#617 def nth_ref(token); end # source://parser//lib/parser/builders/default.rb#892 def numargs(max_numparam); end # source://parser//lib/parser/builders/default.rb#1031 def objc_kwarg(kwname_t, assoc_t, name_t); end # source://parser//lib/parser/builders/default.rb#1045 def objc_restarg(star_t, name = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#1155 def objc_varargs(pair, rest_of_varargs); end # source://parser//lib/parser/builders/default.rb#767 def op_assign(lhs, op_t, rhs); end # source://parser//lib/parser/builders/default.rb#917 def optarg(name_t, eql_t, value); end # source://parser//lib/parser/builders/default.rb#488 def pair(key, assoc_t, value); end # source://parser//lib/parser/builders/default.rb#505 def pair_keyword(key_t, value); end # source://parser//lib/parser/builders/default.rb#521 def pair_label(key_t); end # source://parser//lib/parser/builders/default.rb#493 def pair_list_18(list); end # source://parser//lib/parser/builders/default.rb#513 def pair_quoted(begin_t, parts, end_t, value); end # source://parser//lib/parser/builders/default.rb#225 def parser; end # source://parser//lib/parser/builders/default.rb#225 def parser=(_arg0); end # source://parser//lib/parser/builders/default.rb#1622 def pin(pin_t, var); end # source://parser//lib/parser/builders/default.rb#1355 def postexe(postexe_t, lbrace_t, compstmt, rbrace_t); end # source://parser//lib/parser/builders/default.rb#1350 def preexe(preexe_t, lbrace_t, compstmt, rbrace_t); end # source://parser//lib/parser/builders/default.rb#985 def procarg0(arg); end # source://parser//lib/parser/builders/default.rb#578 def range_exclusive(lhs, dot3_t, rhs); end # source://parser//lib/parser/builders/default.rb#573 def range_inclusive(lhs, dot2_t, rhs); end # source://parser//lib/parser/builders/default.rb#280 def rational(rational_t); end # source://parser//lib/parser/builders/default.rb#426 def regexp_compose(begin_t, parts, end_t, options); end # source://parser//lib/parser/builders/default.rb#417 def regexp_options(regopt_t); end # source://parser//lib/parser/builders/default.rb#1362 def rescue_body(rescue_t, exc_list, assoc_t, exc_var, then_t, compound_stmt); end # source://parser//lib/parser/builders/default.rb#926 def restarg(star_t, name_t = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#1009 def restarg_expr(star_t, expr = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#587 def self(token); end # source://parser//lib/parser/builders/default.rb#968 def shadowarg(name_t); end # source://parser//lib/parser/builders/default.rb#445 def splat(star_t, arg = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#319 def string(string_t); end # source://parser//lib/parser/builders/default.rb#329 def string_compose(begin_t, parts, end_t); end # source://parser//lib/parser/builders/default.rb#324 def string_internal(string_t); end # source://parser//lib/parser/builders/default.rb#355 def symbol(symbol_t); end # source://parser//lib/parser/builders/default.rb#365 def symbol_compose(begin_t, parts, end_t); end # source://parser//lib/parser/builders/default.rb#360 def symbol_internal(symbol_t); end # source://parser//lib/parser/builders/default.rb#469 def symbols_compose(begin_t, parts, end_t); end # source://parser//lib/parser/builders/default.rb#1290 def ternary(cond, question_t, if_true, colon_t, if_false); end # source://parser//lib/parser/builders/default.rb#260 def true(true_t); end # source://parser//lib/parser/builders/default.rb#294 def unary_num(unary_t, numeric); end # source://parser//lib/parser/builders/default.rb#1236 def unary_op(op_t, receiver); end # source://parser//lib/parser/builders/default.rb#866 def undef_method(undef_t, names); end # source://parser//lib/parser/builders/default.rb#1497 def unless_guard(unless_t, unless_body); end # source://parser//lib/parser/builders/default.rb#1297 def when(when_t, patterns, then_t, body); end # source://parser//lib/parser/builders/default.rb#455 def word(parts); end # source://parser//lib/parser/builders/default.rb#464 def words_compose(begin_t, parts, end_t); end # source://parser//lib/parser/builders/default.rb#381 def xstring_compose(begin_t, parts, end_t); end private # source://parser//lib/parser/builders/default.rb#1804 def arg_name_collides?(this_name, that_name); end # source://parser//lib/parser/builders/default.rb#2000 def arg_prefix_map(op_t, name_t = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#1974 def binary_op_map(left_e, op_t, right_e); end # source://parser//lib/parser/builders/default.rb#2102 def block_map(receiver_l, begin_t, end_t); end # source://parser//lib/parser/builders/default.rb#1779 def check_assignment_to_numparam(name, loc); end # source://parser//lib/parser/builders/default.rb#1681 def check_condition(cond); end # source://parser//lib/parser/builders/default.rb#1750 def check_duplicate_arg(this_arg, map = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#1725 def check_duplicate_args(args, map = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#1837 def check_duplicate_pattern_key(name, loc); end # source://parser//lib/parser/builders/default.rb#1827 def check_duplicate_pattern_variable(name, loc); end # source://parser//lib/parser/builders/default.rb#1819 def check_lvar_name(name, loc); end # source://parser//lib/parser/builders/default.rb#1794 def check_reserved_for_numparam(name, loc); end # source://parser//lib/parser/builders/default.rb#2259 def collapse_string_parts?(parts); end # source://parser//lib/parser/builders/default.rb#1925 def collection_map(begin_t, parts, end_t); end # source://parser//lib/parser/builders/default.rb#2129 def condition_map(keyword_t, cond_e, begin_t, body_e, else_t, else_e, end_t); end # source://parser//lib/parser/builders/default.rb#1960 def constant_map(scope, colon2_t, name_t); end # source://parser//lib/parser/builders/default.rb#2033 def definition_map(keyword_t, operator_t, name_t, end_t); end # source://parser//lib/parser/builders/default.rb#1866 def delimited_string_map(string_t); end # source://parser//lib/parser/builders/default.rb#2281 def diagnostic(type, reason, arguments, location, highlights = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#2173 def eh_keyword_map(compstmt_e, keyword_t, body_es, else_t, else_e); end # source://parser//lib/parser/builders/default.rb#2039 def endless_definition_map(keyword_t, operator_t, name_t, assignment_t, body_e); end # source://parser//lib/parser/builders/default.rb#1921 def expr_map(loc); end # source://parser//lib/parser/builders/default.rb#2154 def for_map(keyword_t, in_t, begin_t, end_t); end # source://parser//lib/parser/builders/default.rb#2201 def guard_map(keyword_t, guard_body_e); end # source://parser//lib/parser/builders/default.rb#2091 def index_map(receiver_e, lbrack_t, rbrack_t); end # source://parser//lib/parser/builders/default.rb#1857 def join_exprs(left_expr, right_expr); end # source://parser//lib/parser/builders/default.rb#2107 def keyword_map(keyword_t, begin_t, args, end_t); end # source://parser//lib/parser/builders/default.rb#2124 def keyword_mod_map(pre_e, keyword_t, post_e); end # source://parser//lib/parser/builders/default.rb#2010 def kwarg_map(name_t, value_e = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#2312 def kwargs?(node); end # source://parser//lib/parser/builders/default.rb#2276 def loc(token); end # source://parser//lib/parser/builders/default.rb#2023 def module_definition_map(keyword_t, name_e, operator_t, end_t); end # source://parser//lib/parser/builders/default.rb#1849 def n(type, children, source_map); end # source://parser//lib/parser/builders/default.rb#1853 def n0(type, source_map); end # source://parser//lib/parser/builders/default.rb#288 def numeric(kind, token); end # source://parser//lib/parser/builders/default.rb#1891 def pair_keyword_map(key_t, value_e); end # source://parser//lib/parser/builders/default.rb#1906 def pair_quoted_map(begin_t, end_t, value_e); end # source://parser//lib/parser/builders/default.rb#1877 def prefix_string_map(symbol); end # source://parser//lib/parser/builders/default.rb#1988 def range_map(start_e, op_t, end_e); end # source://parser//lib/parser/builders/default.rb#1955 def regexp_map(begin_t, end_t, options_e); end # source://parser//lib/parser/builders/default.rb#2160 def rescue_body_map(keyword_t, exc_list_e, assoc_t, exc_var_e, then_t, compstmt_e); end # source://parser//lib/parser/builders/default.rb#2302 def rewrite_hash_args_to_kwargs(args); end # source://parser//lib/parser/builders/default.rb#2073 def send_binary_op_map(lhs_e, selector_t, rhs_e); end # source://parser//lib/parser/builders/default.rb#2096 def send_index_map(receiver_e, lbrack_t, rbrack_t); end # source://parser//lib/parser/builders/default.rb#2047 def send_map(receiver_e, dot_t, selector_t, begin_t = T.unsafe(nil), args = T.unsafe(nil), end_t = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#2079 def send_unary_op_map(selector_t, arg_e); end # source://parser//lib/parser/builders/default.rb#2232 def static_regexp(parts, options); end # source://parser//lib/parser/builders/default.rb#2252 def static_regexp_node(node); end # source://parser//lib/parser/builders/default.rb#2215 def static_string(nodes); end # source://parser//lib/parser/builders/default.rb#1941 def string_map(begin_t, parts, end_t); end # source://parser//lib/parser/builders/default.rb#2268 def string_value(token); end # source://parser//lib/parser/builders/default.rb#2149 def ternary_map(begin_e, question_t, mid_e, colon_t, end_e); end # source://parser//lib/parser/builders/default.rb#1862 def token_map(token); end # source://parser//lib/parser/builders/default.rb#1978 def unary_op_map(op_t, arg_e = T.unsafe(nil)); end # source://parser//lib/parser/builders/default.rb#1886 def unquoted_map(token); end # source://parser//lib/parser/builders/default.rb#2290 def validate_definee(definee); end # source://parser//lib/parser/builders/default.rb#1764 def validate_no_forward_arg_after_restarg(args); end # source://parser//lib/parser/builders/default.rb#2264 def value(token); end # source://parser//lib/parser/builders/default.rb#2067 def var_send_map(variable_e); end # source://parser//lib/parser/builders/default.rb#1970 def variable_map(name_t); end class << self # source://parser//lib/parser/builders/default.rb#97 def emit_arg_inside_procarg0; end # source://parser//lib/parser/builders/default.rb#97 def emit_arg_inside_procarg0=(_arg0); end # source://parser//lib/parser/builders/default.rb#58 def emit_encoding; end # source://parser//lib/parser/builders/default.rb#58 def emit_encoding=(_arg0); end # source://parser//lib/parser/builders/default.rb#126 def emit_forward_arg; end # source://parser//lib/parser/builders/default.rb#126 def emit_forward_arg=(_arg0); end # source://parser//lib/parser/builders/default.rb#80 def emit_index; end # source://parser//lib/parser/builders/default.rb#80 def emit_index=(_arg0); end # source://parser//lib/parser/builders/default.rb#174 def emit_kwargs; end # source://parser//lib/parser/builders/default.rb#174 def emit_kwargs=(_arg0); end # source://parser//lib/parser/builders/default.rb#22 def emit_lambda; end # source://parser//lib/parser/builders/default.rb#22 def emit_lambda=(_arg0); end # source://parser//lib/parser/builders/default.rb#203 def emit_match_pattern; end # source://parser//lib/parser/builders/default.rb#203 def emit_match_pattern=(_arg0); end # source://parser//lib/parser/builders/default.rb#40 def emit_procarg0; end # source://parser//lib/parser/builders/default.rb#40 def emit_procarg0=(_arg0); end # source://parser//lib/parser/builders/default.rb#211 def modernize; end end end # {Parser::ClobberingError} is raised when {Parser::Source::Rewriter} # detects a clobbering rewrite action. This class inherits {RuntimeError} # rather than {StandardError} for backward compatibility. # # @api public # # source://parser//lib/parser/clobbering_error.rb#11 class Parser::ClobberingError < ::RuntimeError; end # Context of parsing that is represented by a stack of scopes. # # Supported states: # + :class - in the class body (class A; end) # + :module - in the module body (module M; end) # + :sclass - in the singleton class body (class << obj; end) # + :def - in the method body (def m; end) # + :defs - in the singleton method body (def self.m; end) # + :def_open_args - in the arglist of the method definition # keep in mind that it's set **only** after reducing the first argument, # if you need to handle the first argument check `lex_state == expr_fname` # + :block - in the block body (tap {}) # + :lambda - in the lambda body (-> {}) # # source://parser//lib/parser/context.rb#18 class Parser::Context # @return [Context] a new instance of Context # # source://parser//lib/parser/context.rb#29 def initialize; end # source://parser//lib/parser/context.rb#43 def in_argdef; end # source://parser//lib/parser/context.rb#43 def in_argdef=(_arg0); end # source://parser//lib/parser/context.rb#43 def in_block; end # source://parser//lib/parser/context.rb#43 def in_block=(_arg0); end # source://parser//lib/parser/context.rb#43 def in_class; end # source://parser//lib/parser/context.rb#43 def in_class=(_arg0); end # source://parser//lib/parser/context.rb#43 def in_def; end # source://parser//lib/parser/context.rb#43 def in_def=(_arg0); end # source://parser//lib/parser/context.rb#43 def in_defined; end # source://parser//lib/parser/context.rb#43 def in_defined=(_arg0); end # @return [Boolean] # # source://parser//lib/parser/context.rb#45 def in_dynamic_block?; end # source://parser//lib/parser/context.rb#43 def in_kwarg; end # source://parser//lib/parser/context.rb#43 def in_kwarg=(_arg0); end # source://parser//lib/parser/context.rb#43 def in_lambda; end # source://parser//lib/parser/context.rb#43 def in_lambda=(_arg0); end # source://parser//lib/parser/context.rb#33 def reset; end end # source://parser//lib/parser/context.rb#19 Parser::Context::FLAGS = T.let(T.unsafe(nil), Array) # Stack that holds names of current arguments, # i.e. while parsing # def m1(a = (def m2(b = def m3(c = 1); end); end)); end # ^ # stack is [:a, :b, :c] # # Emulates `p->cur_arg` in MRI's parse.y # # @api private # # source://parser//lib/parser/current_arg_stack.rb#14 class Parser::CurrentArgStack # @api private # @return [CurrentArgStack] a new instance of CurrentArgStack # # source://parser//lib/parser/current_arg_stack.rb#17 def initialize; end # @api private # @return [Boolean] # # source://parser//lib/parser/current_arg_stack.rb#22 def empty?; end # @api private # # source://parser//lib/parser/current_arg_stack.rb#34 def pop; end # @api private # # source://parser//lib/parser/current_arg_stack.rb#26 def push(value); end # @api private # # source://parser//lib/parser/current_arg_stack.rb#38 def reset; end # @api private # # source://parser//lib/parser/current_arg_stack.rb#30 def set(value); end # @api private # # source://parser//lib/parser/current_arg_stack.rb#15 def stack; end # @api private # # source://parser//lib/parser/current_arg_stack.rb#42 def top; end end # source://parser//lib/parser/current.rb#102 Parser::CurrentRuby = Parser::Ruby31 # @api private # # source://parser//lib/parser/deprecation.rb#7 module Parser::Deprecation # @api private # # source://parser//lib/parser/deprecation.rb#9 def warn_of_deprecation; end # @api private # # source://parser//lib/parser/deprecation.rb#8 def warned_of_deprecation=(_arg0); end end # @api public # # source://parser//lib/parser/diagnostic.rb#31 class Parser::Diagnostic # @api public # @param level [Symbol] # @param reason [Symbol] # @param arguments [Hash] # @param location [Parser::Source::Range] # @param highlights [Array] # @return [Diagnostic] a new instance of Diagnostic # # source://parser//lib/parser/diagnostic.rb#49 def initialize(level, reason, arguments, location, highlights = T.unsafe(nil)); end # @api public # @return [Symbol] extended arguments that describe the error # @see Parser::MESSAGES # # source://parser//lib/parser/diagnostic.rb#39 def arguments; end # Supplementary error-related source ranges. # # @api public # @return [Array] # # source://parser//lib/parser/diagnostic.rb#40 def highlights; end # @api public # @return [Symbol] diagnostic level # @see LEVELS # # source://parser//lib/parser/diagnostic.rb#39 def level; end # Main error-related source range. # # @api public # @return [Parser::Source::Range] # # source://parser//lib/parser/diagnostic.rb#40 def location; end # @api public # @return [String] the rendered message. # # source://parser//lib/parser/diagnostic.rb#69 def message; end # @api public # @return [Symbol] reason for error # @see Parser::MESSAGES # # source://parser//lib/parser/diagnostic.rb#39 def reason; end # Renders the diagnostic message as a clang-like diagnostic. # # @api public # @example # diagnostic.render # => # # [ # # "(fragment:0):1:5: error: unexpected token $end", # # "foo +", # # " ^" # # ] # @return [Array] # # source://parser//lib/parser/diagnostic.rb#86 def render; end private # If necessary, shrink a `Range` so as to include only the first line. # # @api public # @return [Parser::Source::Range] # # source://parser//lib/parser/diagnostic.rb#142 def first_line_only(range); end # If necessary, shrink a `Range` so as to include only the last line. # # @api public # @return [Parser::Source::Range] # # source://parser//lib/parser/diagnostic.rb#155 def last_line_only(range); end # Renders one source line in clang diagnostic style, with highlights. # # @api public # @return [Array] # # source://parser//lib/parser/diagnostic.rb#110 def render_line(range, ellipsis = T.unsafe(nil), range_end = T.unsafe(nil)); end end # source://parser//lib/parser/diagnostic/engine.rb#36 class Parser::Diagnostic::Engine # source://parser//lib/parser/diagnostic/engine.rb#45 def initialize(consumer = T.unsafe(nil)); end # source://parser//lib/parser/diagnostic/engine.rb#39 def all_errors_are_fatal; end # source://parser//lib/parser/diagnostic/engine.rb#39 def all_errors_are_fatal=(_arg0); end # source://parser//lib/parser/diagnostic/engine.rb#37 def consumer; end # source://parser//lib/parser/diagnostic/engine.rb#37 def consumer=(_arg0); end # source://parser//lib/parser/diagnostic/engine.rb#40 def ignore_warnings; end # source://parser//lib/parser/diagnostic/engine.rb#40 def ignore_warnings=(_arg0); end # source://parser//lib/parser/diagnostic/engine.rb#64 def process(diagnostic); end protected # source://parser//lib/parser/diagnostic/engine.rb#86 def ignore?(diagnostic); end # source://parser//lib/parser/diagnostic/engine.rb#97 def raise?(diagnostic); end end # Collection of the available diagnostic levels. # # @api public # @return [Array] # # source://parser//lib/parser/diagnostic.rb#37 Parser::Diagnostic::LEVELS = T.let(T.unsafe(nil), Array) # line 3 "lib/parser/lexer.rl" # # === BEFORE YOU START === # # Read the Ruby Hacking Guide chapter 11, available in English at # http://whitequark.org/blog/2013/04/01/ruby-hacking-guide-ch-11-finite-state-lexer/ # # Remember two things about Ragel scanners: # # 1) Longest match wins. # # 2) If two matches have the same length, the first # in source code wins. # # General rules of making Ragel and Bison happy: # # * `p` (position) and `@te` contain the index of the character # they're pointing to ("current"), plus one. `@ts` contains the index # of the corresponding character. The code for extracting matched token is: # # @source_buffer.slice(@ts...@te) # # * If your input is `foooooooobar` and the rule is: # # 'f' 'o'+ # # the result will be: # # foooooooobar # ^ ts=0 ^ p=te=9 # # * A Ragel lexer action should not emit more than one token, unless # you know what you are doing. # # * All Ragel commands (fnext, fgoto, ...) end with a semicolon. # # * If an action emits the token and transitions to another state, use # these Ragel commands: # # emit($whatever) # fnext $next_state; fbreak; # # If you perform `fgoto` in an action which does not emit a token nor # rewinds the stream pointer, the parser's side-effectful, # context-sensitive lookahead actions will break in a hard to detect # and debug way. # # * If an action does not emit a token: # # fgoto $next_state; # # * If an action features lookbehind, i.e. matches characters with the # intent of passing them to another action: # # p = @ts - 1 # fgoto $next_state; # # or, if the lookbehind consists of a single character: # # fhold; fgoto $next_state; # # * Ragel merges actions. So, if you have `e_lparen = '(' %act` and # `c_lparen = '('` and a lexer action `e_lparen | c_lparen`, the result # _will_ invoke the action `act`. # # e_something stands for "something with **e**mbedded action". # # * EOF is explicit and is matched by `c_eof`. If you want to introspect # the state of the lexer, add this rule to the state: # # c_eof => do_eof; # # * If you proceed past EOF, the lexer will complain: # # NoMethodError: undefined method `ord' for nil:NilClass # # source://parser//lib/parser/lexer-F1.rb#82 class Parser::Lexer # @return [Lexer] a new instance of Lexer # # source://parser//lib/parser/lexer-F1.rb#8250 def initialize(version); end # Return next token: [type, value]. # # source://parser//lib/parser/lexer-F1.rb#8410 def advance; end # Returns the value of attribute cmdarg. # # source://parser//lib/parser/lexer-F1.rb#8244 def cmdarg; end # Sets the attribute cmdarg # # @param value the value to set the attribute cmdarg to. # # source://parser//lib/parser/lexer-F1.rb#8244 def cmdarg=(_arg0); end # Returns the value of attribute cmdarg_stack. # # source://parser//lib/parser/lexer-F1.rb#8248 def cmdarg_stack; end # Returns the value of attribute command_start. # # source://parser//lib/parser/lexer-F1.rb#8244 def command_start; end # Sets the attribute command_start # # @param value the value to set the attribute command_start to. # # source://parser//lib/parser/lexer-F1.rb#8244 def command_start=(_arg0); end # Returns the value of attribute comments. # # source://parser//lib/parser/lexer-F1.rb#8246 def comments; end # Sets the attribute comments # # @param value the value to set the attribute comments to. # # source://parser//lib/parser/lexer-F1.rb#8246 def comments=(_arg0); end # Returns the value of attribute cond. # # source://parser//lib/parser/lexer-F1.rb#8244 def cond; end # Sets the attribute cond # # @param value the value to set the attribute cond to. # # source://parser//lib/parser/lexer-F1.rb#8244 def cond=(_arg0); end # Returns the value of attribute cond_stack. # # source://parser//lib/parser/lexer-F1.rb#8248 def cond_stack; end # Returns the value of attribute context. # # source://parser//lib/parser/lexer-F1.rb#8244 def context; end # Sets the attribute context # # @param value the value to set the attribute context to. # # source://parser//lib/parser/lexer-F1.rb#8244 def context=(_arg0); end # source://parser//lib/parser/lexer-F1.rb#8405 def dedent_level; end # Returns the value of attribute diagnostics. # # source://parser//lib/parser/lexer-F1.rb#8240 def diagnostics; end # Sets the attribute diagnostics # # @param value the value to set the attribute diagnostics to. # # source://parser//lib/parser/lexer-F1.rb#8240 def diagnostics=(_arg0); end # source://parser//lib/parser/lexer-F1.rb#8358 def encoding; end # Returns the value of attribute force_utf32. # # source://parser//lib/parser/lexer-F1.rb#8242 def force_utf32; end # Sets the attribute force_utf32 # # @param value the value to set the attribute force_utf32 to. # # source://parser//lib/parser/lexer-F1.rb#8242 def force_utf32=(_arg0); end # Returns the value of attribute lambda_stack. # # source://parser//lib/parser/lexer-F1.rb#8248 def lambda_stack; end # Returns the value of attribute paren_nest. # # source://parser//lib/parser/lexer-F1.rb#8248 def paren_nest; end # source://parser//lib/parser/lexer-F1.rb#8392 def pop_cmdarg; end # source://parser//lib/parser/lexer-F1.rb#8401 def pop_cond; end # source://parser//lib/parser/lexer-F1.rb#8387 def push_cmdarg; end # source://parser//lib/parser/lexer-F1.rb#8396 def push_cond; end # source://parser//lib/parser/lexer-F1.rb#8281 def reset(reset_state = T.unsafe(nil)); end # % # # source://parser//lib/parser/lexer-F1.rb#8238 def source_buffer; end # source://parser//lib/parser/lexer-F1.rb#8334 def source_buffer=(source_buffer); end # source://parser//lib/parser/lexer-F1.rb#8379 def state; end # source://parser//lib/parser/lexer-F1.rb#8383 def state=(state); end # Returns the value of attribute static_env. # # source://parser//lib/parser/lexer-F1.rb#8241 def static_env; end # Sets the attribute static_env # # @param value the value to set the attribute static_env to. # # source://parser//lib/parser/lexer-F1.rb#8241 def static_env=(_arg0); end # Returns the value of attribute tokens. # # source://parser//lib/parser/lexer-F1.rb#8246 def tokens; end # Sets the attribute tokens # # @param value the value to set the attribute tokens to. # # source://parser//lib/parser/lexer-F1.rb#8246 def tokens=(_arg0); end # Returns the value of attribute version. # # source://parser//lib/parser/lexer-F1.rb#8248 def version; end protected # source://parser//lib/parser/lexer-F1.rb#14631 def arg_or_cmdarg(cmd_state); end # source://parser//lib/parser/lexer-F1.rb#14693 def check_ambiguous_slash(tm); end # source://parser//lib/parser/lexer-F1.rb#14655 def diagnostic(type, reason, arguments = T.unsafe(nil), location = T.unsafe(nil), highlights = T.unsafe(nil)); end # source://parser//lib/parser/lexer-F1.rb#14661 def e_lbrace; end # source://parser//lib/parser/lexer-F1.rb#14605 def emit(type, value = T.unsafe(nil), s = T.unsafe(nil), e = T.unsafe(nil)); end # source://parser//lib/parser/lexer-F1.rb#14714 def emit_class_var(ts = T.unsafe(nil), te = T.unsafe(nil)); end # source://parser//lib/parser/lexer-F1.rb#14742 def emit_colon_with_digits(p, tm, diag_msg); end # source://parser//lib/parser/lexer-F1.rb#14639 def emit_comment(s = T.unsafe(nil), e = T.unsafe(nil)); end # source://parser//lib/parser/lexer-F1.rb#14651 def emit_comment_from_range(p, pe); end # source://parser//lib/parser/lexer-F1.rb#14621 def emit_do(do_block = T.unsafe(nil)); end # source://parser//lib/parser/lexer-F1.rb#14704 def emit_global_var(ts = T.unsafe(nil), te = T.unsafe(nil)); end # source://parser//lib/parser/lexer-F1.rb#14722 def emit_instance_var(ts = T.unsafe(nil), te = T.unsafe(nil)); end # source://parser//lib/parser/lexer-F1.rb#14730 def emit_rbrace_rparen_rbrack; end # source://parser//lib/parser/lexer-F1.rb#14752 def emit_singleton_class; end # source://parser//lib/parser/lexer-F1.rb#14615 def emit_table(table, s = T.unsafe(nil), e = T.unsafe(nil)); end # source://parser//lib/parser/lexer-F1.rb#14670 def numeric_literal_int; end # source://parser//lib/parser/lexer-F1.rb#14689 def on_newline(p); end # source://parser//lib/parser/lexer-F1.rb#14601 def range(s = T.unsafe(nil), e = T.unsafe(nil)); end # source://parser//lib/parser/lexer-F1.rb#14592 def stack_pop; end # source://parser//lib/parser/lexer-F1.rb#14597 def tok(s = T.unsafe(nil), e = T.unsafe(nil)); end # @return [Boolean] # # source://parser//lib/parser/lexer-F1.rb#14588 def version?(*versions); end class << self # Returns the value of attribute lex_en_expr_arg. # # source://parser//lib/parser/lexer-F1.rb#8186 def lex_en_expr_arg; end # Sets the attribute lex_en_expr_arg # # @param value the value to set the attribute lex_en_expr_arg to. # # source://parser//lib/parser/lexer-F1.rb#8186 def lex_en_expr_arg=(_arg0); end # Returns the value of attribute lex_en_expr_beg. # # source://parser//lib/parser/lexer-F1.rb#8202 def lex_en_expr_beg; end # Sets the attribute lex_en_expr_beg # # @param value the value to set the attribute lex_en_expr_beg to. # # source://parser//lib/parser/lexer-F1.rb#8202 def lex_en_expr_beg=(_arg0); end # Returns the value of attribute lex_en_expr_cmdarg. # # source://parser//lib/parser/lexer-F1.rb#8190 def lex_en_expr_cmdarg; end # Sets the attribute lex_en_expr_cmdarg # # @param value the value to set the attribute lex_en_expr_cmdarg to. # # source://parser//lib/parser/lexer-F1.rb#8190 def lex_en_expr_cmdarg=(_arg0); end # Returns the value of attribute lex_en_expr_dot. # # source://parser//lib/parser/lexer-F1.rb#8182 def lex_en_expr_dot; end # Sets the attribute lex_en_expr_dot # # @param value the value to set the attribute lex_en_expr_dot to. # # source://parser//lib/parser/lexer-F1.rb#8182 def lex_en_expr_dot=(_arg0); end # Returns the value of attribute lex_en_expr_end. # # source://parser//lib/parser/lexer-F1.rb#8214 def lex_en_expr_end; end # Sets the attribute lex_en_expr_end # # @param value the value to set the attribute lex_en_expr_end to. # # source://parser//lib/parser/lexer-F1.rb#8214 def lex_en_expr_end=(_arg0); end # Returns the value of attribute lex_en_expr_endarg. # # source://parser//lib/parser/lexer-F1.rb#8194 def lex_en_expr_endarg; end # Sets the attribute lex_en_expr_endarg # # @param value the value to set the attribute lex_en_expr_endarg to. # # source://parser//lib/parser/lexer-F1.rb#8194 def lex_en_expr_endarg=(_arg0); end # Returns the value of attribute lex_en_expr_endfn. # # source://parser//lib/parser/lexer-F1.rb#8178 def lex_en_expr_endfn; end # Sets the attribute lex_en_expr_endfn # # @param value the value to set the attribute lex_en_expr_endfn to. # # source://parser//lib/parser/lexer-F1.rb#8178 def lex_en_expr_endfn=(_arg0); end # Returns the value of attribute lex_en_expr_fname. # # source://parser//lib/parser/lexer-F1.rb#8174 def lex_en_expr_fname; end # Sets the attribute lex_en_expr_fname # # @param value the value to set the attribute lex_en_expr_fname to. # # source://parser//lib/parser/lexer-F1.rb#8174 def lex_en_expr_fname=(_arg0); end # Returns the value of attribute lex_en_expr_labelarg. # # source://parser//lib/parser/lexer-F1.rb#8206 def lex_en_expr_labelarg; end # Sets the attribute lex_en_expr_labelarg # # @param value the value to set the attribute lex_en_expr_labelarg to. # # source://parser//lib/parser/lexer-F1.rb#8206 def lex_en_expr_labelarg=(_arg0); end # Returns the value of attribute lex_en_expr_mid. # # source://parser//lib/parser/lexer-F1.rb#8198 def lex_en_expr_mid; end # Sets the attribute lex_en_expr_mid # # @param value the value to set the attribute lex_en_expr_mid to. # # source://parser//lib/parser/lexer-F1.rb#8198 def lex_en_expr_mid=(_arg0); end # Returns the value of attribute lex_en_expr_value. # # source://parser//lib/parser/lexer-F1.rb#8210 def lex_en_expr_value; end # Sets the attribute lex_en_expr_value # # @param value the value to set the attribute lex_en_expr_value to. # # source://parser//lib/parser/lexer-F1.rb#8210 def lex_en_expr_value=(_arg0); end # Returns the value of attribute lex_en_expr_variable. # # source://parser//lib/parser/lexer-F1.rb#8170 def lex_en_expr_variable; end # Sets the attribute lex_en_expr_variable # # @param value the value to set the attribute lex_en_expr_variable to. # # source://parser//lib/parser/lexer-F1.rb#8170 def lex_en_expr_variable=(_arg0); end # Returns the value of attribute lex_en_inside_string. # # source://parser//lib/parser/lexer-F1.rb#8230 def lex_en_inside_string; end # Sets the attribute lex_en_inside_string # # @param value the value to set the attribute lex_en_inside_string to. # # source://parser//lib/parser/lexer-F1.rb#8230 def lex_en_inside_string=(_arg0); end # Returns the value of attribute lex_en_leading_dot. # # source://parser//lib/parser/lexer-F1.rb#8218 def lex_en_leading_dot; end # Sets the attribute lex_en_leading_dot # # @param value the value to set the attribute lex_en_leading_dot to. # # source://parser//lib/parser/lexer-F1.rb#8218 def lex_en_leading_dot=(_arg0); end # Returns the value of attribute lex_en_line_begin. # # source://parser//lib/parser/lexer-F1.rb#8226 def lex_en_line_begin; end # Sets the attribute lex_en_line_begin # # @param value the value to set the attribute lex_en_line_begin to. # # source://parser//lib/parser/lexer-F1.rb#8226 def lex_en_line_begin=(_arg0); end # Returns the value of attribute lex_en_line_comment. # # source://parser//lib/parser/lexer-F1.rb#8222 def lex_en_line_comment; end # Sets the attribute lex_en_line_comment # # @param value the value to set the attribute lex_en_line_comment to. # # source://parser//lib/parser/lexer-F1.rb#8222 def lex_en_line_comment=(_arg0); end # Returns the value of attribute lex_error. # # source://parser//lib/parser/lexer-F1.rb#8165 def lex_error; end # Sets the attribute lex_error # # @param value the value to set the attribute lex_error to. # # source://parser//lib/parser/lexer-F1.rb#8165 def lex_error=(_arg0); end # Returns the value of attribute lex_start. # # source://parser//lib/parser/lexer-F1.rb#8161 def lex_start; end # Sets the attribute lex_start # # @param value the value to set the attribute lex_start to. # # source://parser//lib/parser/lexer-F1.rb#8161 def lex_start=(_arg0); end private # Returns the value of attribute _lex_eof_trans. # # source://parser//lib/parser/lexer-F1.rb#8064 def _lex_eof_trans; end # Sets the attribute _lex_eof_trans # # @param value the value to set the attribute _lex_eof_trans to. # # source://parser//lib/parser/lexer-F1.rb#8064 def _lex_eof_trans=(_arg0); end # Returns the value of attribute _lex_from_state_actions. # # source://parser//lib/parser/lexer-F1.rb#7967 def _lex_from_state_actions; end # Sets the attribute _lex_from_state_actions # # @param value the value to set the attribute _lex_from_state_actions to. # # source://parser//lib/parser/lexer-F1.rb#7967 def _lex_from_state_actions=(_arg0); end # Returns the value of attribute _lex_index_offsets. # # source://parser//lib/parser/lexer-F1.rb#461 def _lex_index_offsets; end # Sets the attribute _lex_index_offsets # # @param value the value to set the attribute _lex_index_offsets to. # # source://parser//lib/parser/lexer-F1.rb#461 def _lex_index_offsets=(_arg0); end # Returns the value of attribute _lex_indicies. # # source://parser//lib/parser/lexer-F1.rb#558 def _lex_indicies; end # Sets the attribute _lex_indicies # # @param value the value to set the attribute _lex_indicies to. # # source://parser//lib/parser/lexer-F1.rb#558 def _lex_indicies=(_arg0); end # Returns the value of attribute _lex_key_spans. # # source://parser//lib/parser/lexer-F1.rb#364 def _lex_key_spans; end # Sets the attribute _lex_key_spans # # @param value the value to set the attribute _lex_key_spans to. # # source://parser//lib/parser/lexer-F1.rb#364 def _lex_key_spans=(_arg0); end # Returns the value of attribute _lex_to_state_actions. # # source://parser//lib/parser/lexer-F1.rb#7870 def _lex_to_state_actions; end # Sets the attribute _lex_to_state_actions # # @param value the value to set the attribute _lex_to_state_actions to. # # source://parser//lib/parser/lexer-F1.rb#7870 def _lex_to_state_actions=(_arg0); end # Returns the value of attribute _lex_trans_actions. # # source://parser//lib/parser/lexer-F1.rb#7722 def _lex_trans_actions; end # Sets the attribute _lex_trans_actions # # @param value the value to set the attribute _lex_trans_actions to. # # source://parser//lib/parser/lexer-F1.rb#7722 def _lex_trans_actions=(_arg0); end # Returns the value of attribute _lex_trans_keys. # # source://parser//lib/parser/lexer-F1.rb#87 def _lex_trans_keys; end # Sets the attribute _lex_trans_keys # # @param value the value to set the attribute _lex_trans_keys to. # # source://parser//lib/parser/lexer-F1.rb#87 def _lex_trans_keys=(_arg0); end # Returns the value of attribute _lex_trans_targs. # # source://parser//lib/parser/lexer-F1.rb#7574 def _lex_trans_targs; end # Sets the attribute _lex_trans_targs # # @param value the value to set the attribute _lex_trans_targs to. # # source://parser//lib/parser/lexer-F1.rb#7574 def _lex_trans_targs=(_arg0); end end end # source://parser//lib/parser/lexer/dedenter.rb#5 class Parser::Lexer::Dedenter # source://parser//lib/parser/lexer/dedenter.rb#9 def initialize(dedent_level); end # source://parser//lib/parser/lexer/dedenter.rb#36 def dedent(string); end # source://parser//lib/parser/lexer/dedenter.rb#83 def interrupt; end end # source://parser//lib/parser/lexer/dedenter.rb#7 Parser::Lexer::Dedenter::TAB_WIDTH = T.let(T.unsafe(nil), Integer) # source://parser//lib/parser/lexer-F1.rb#14799 Parser::Lexer::ESCAPE_WHITESPACE = T.let(T.unsafe(nil), Hash) # source://parser//lib/parser/lexer-F1.rb#14785 Parser::Lexer::KEYWORDS = T.let(T.unsafe(nil), Hash) # source://parser//lib/parser/lexer-F1.rb#14792 Parser::Lexer::KEYWORDS_BEGIN = T.let(T.unsafe(nil), Hash) # source://parser//lib/parser/lexer-F1.rb#8362 Parser::Lexer::LEX_STATES = T.let(T.unsafe(nil), Hash) # source://parser//lib/parser/lexer/literal.rb#6 class Parser::Lexer::Literal # source://parser//lib/parser/lexer/literal.rb#40 def initialize(lexer, str_type, delimiter, str_s, heredoc_e = T.unsafe(nil), indent = T.unsafe(nil), dedent_body = T.unsafe(nil), label_allowed = T.unsafe(nil)); end # source://parser//lib/parser/lexer/literal.rb#114 def backslash_delimited?; end # source://parser//lib/parser/lexer/literal.rb#37 def dedent_level; end # source://parser//lib/parser/lexer/literal.rb#189 def end_interp_brace_and_try_closing; end # source://parser//lib/parser/lexer/literal.rb#216 def extend_content; end # source://parser//lib/parser/lexer/literal.rb#220 def extend_space(ts, te); end # source://parser//lib/parser/lexer/literal.rb#195 def extend_string(string, ts, te); end # source://parser//lib/parser/lexer/literal.rb#202 def flush_string; end # source://parser//lib/parser/lexer/literal.rb#102 def heredoc?; end # source://parser//lib/parser/lexer/literal.rb#37 def heredoc_e; end # source://parser//lib/parser/lexer/literal.rb#166 def infer_indent_level(line); end # source://parser//lib/parser/lexer/literal.rb#89 def interpolate?; end # source://parser//lib/parser/lexer/literal.rb#122 def munge_escape?(character); end # source://parser//lib/parser/lexer/literal.rb#132 def nest_and_try_closing(delimiter, ts, te, lookahead = T.unsafe(nil)); end # source://parser//lib/parser/lexer/literal.rb#106 def plain_heredoc?; end # source://parser//lib/parser/lexer/literal.rb#98 def regexp?; end # source://parser//lib/parser/lexer/literal.rb#38 def saved_herebody_s; end # source://parser//lib/parser/lexer/literal.rb#38 def saved_herebody_s=(_arg0); end # source://parser//lib/parser/lexer/literal.rb#110 def squiggly_heredoc?; end # source://parser//lib/parser/lexer/literal.rb#185 def start_interp_brace; end # source://parser//lib/parser/lexer/literal.rb#37 def str_s; end # source://parser//lib/parser/lexer/literal.rb#230 def supports_line_continuation_via_slash?; end # source://parser//lib/parser/lexer/literal.rb#118 def type; end # source://parser//lib/parser/lexer/literal.rb#93 def words?; end protected # source://parser//lib/parser/lexer/literal.rb#248 def clear_buffer; end # source://parser//lib/parser/lexer/literal.rb#244 def coerce_encoding(string); end # source://parser//lib/parser/lexer/literal.rb#236 def delimiter?(delimiter); end # source://parser//lib/parser/lexer/literal.rb#264 def emit(token, type, s, e); end # source://parser//lib/parser/lexer/literal.rb#259 def emit_start_tok; end end # source://parser//lib/parser/lexer/literal.rb#7 Parser::Lexer::Literal::DELIMITERS = T.let(T.unsafe(nil), Hash) # source://parser//lib/parser/lexer/literal.rb#9 Parser::Lexer::Literal::TYPES = T.let(T.unsafe(nil), Hash) # Mapping of strings to parser tokens. # # source://parser//lib/parser/lexer-F1.rb#14759 Parser::Lexer::PUNCTUATION = T.let(T.unsafe(nil), Hash) # source://parser//lib/parser/lexer-F1.rb#14779 Parser::Lexer::PUNCTUATION_BEGIN = T.let(T.unsafe(nil), Hash) # source://parser//lib/parser/lexer/stack_state.rb#5 class Parser::Lexer::StackState # source://parser//lib/parser/lexer/stack_state.rb#6 def initialize(name); end # source://parser//lib/parser/lexer/stack_state.rb#34 def active?; end # source://parser//lib/parser/lexer/stack_state.rb#11 def clear; end # source://parser//lib/parser/lexer/stack_state.rb#38 def empty?; end # source://parser//lib/parser/lexer/stack_state.rb#42 def inspect; end # source://parser//lib/parser/lexer/stack_state.rb#29 def lexpop; end # source://parser//lib/parser/lexer/stack_state.rb#22 def pop; end # source://parser//lib/parser/lexer/stack_state.rb#15 def push(bit); end # source://parser//lib/parser/lexer/stack_state.rb#42 def to_s; end end # line 3 "lib/parser/lexer-strings.rl" # # source://parser//lib/parser/lexer-strings.rb#6 class Parser::LexerStrings # @return [LexerStrings] a new instance of LexerStrings # # source://parser//lib/parser/lexer-strings.rb#3300 def initialize(lexer, version); end # source://parser//lib/parser/lexer-strings.rb#3339 def advance(p); end # source://parser//lib/parser/lexer-strings.rb#5069 def close_interp_on_current_literal(p); end # source://parser//lib/parser/lexer-strings.rb#5043 def continue_lexing(current_literal); end # source://parser//lib/parser/lexer-strings.rb#5092 def dedent_level; end # Returns the value of attribute herebody_s. # # source://parser//lib/parser/lexer-strings.rb#3295 def herebody_s; end # Sets the attribute herebody_s # # @param value the value to set the attribute herebody_s to. # # source://parser//lib/parser/lexer-strings.rb#3295 def herebody_s=(_arg0); end # source://parser//lib/parser/lexer-strings.rb#5047 def literal; end # source://parser//lib/parser/lexer-strings.rb#5015 def next_state_for_literal(literal); end # This hook is triggered by "main" lexer on every newline character # # source://parser//lib/parser/lexer-strings.rb#5100 def on_newline(p); end # source://parser//lib/parser/lexer-strings.rb#5051 def pop_literal; end # === LITERAL STACK === # # source://parser//lib/parser/lexer-strings.rb#5009 def push_literal(*args); end # source://parser//lib/parser/lexer-strings.rb#4999 def read_character_constant(p); end # source://parser//lib/parser/lexer-strings.rb#3314 def reset; end # Set by "main" lexer # # source://parser//lib/parser/lexer-strings.rb#3298 def source_buffer; end # Set by "main" lexer # # source://parser//lib/parser/lexer-strings.rb#3298 def source_buffer=(_arg0); end # Set by "main" lexer # # source://parser//lib/parser/lexer-strings.rb#3298 def source_pts; end # Set by "main" lexer # # source://parser//lib/parser/lexer-strings.rb#3298 def source_pts=(_arg0); end protected # source://parser//lib/parser/lexer-strings.rb#5397 def check_ambiguous_slash(tm); end # source://parser//lib/parser/lexer-strings.rb#5408 def check_invalid_escapes(p); end # source://parser//lib/parser/lexer-strings.rb#5136 def cond; end # source://parser//lib/parser/lexer-strings.rb#5132 def diagnostic(type, reason, arguments = T.unsafe(nil), location = T.unsafe(nil), highlights = T.unsafe(nil)); end # source://parser//lib/parser/lexer-strings.rb#5128 def emit(type, value = T.unsafe(nil), s = T.unsafe(nil), e = T.unsafe(nil)); end # source://parser//lib/parser/lexer-strings.rb#5387 def emit_character_constant; end # source://parser//lib/parser/lexer-strings.rb#5364 def emit_interp_var(interp_var_kind); end # @return [Boolean] # # source://parser//lib/parser/lexer-strings.rb#5140 def emit_invalid_escapes?; end # source://parser//lib/parser/lexer-strings.rb#5291 def encode_escape(ord); end # source://parser//lib/parser/lexer-strings.rb#5375 def encode_escaped_char(p); end # @return [Boolean] # # source://parser//lib/parser/lexer-strings.rb#5112 def eof_codepoint?(point); end # source://parser//lib/parser/lexer-strings.rb#5210 def extend_interp_code(current_literal); end # source://parser//lib/parser/lexer-strings.rb#5225 def extend_interp_digit_var; end # source://parser//lib/parser/lexer-strings.rb#5355 def extend_interp_var(current_literal); end # source://parser//lib/parser/lexer-strings.rb#5234 def extend_string_eol_check_eof(current_literal, pe); end # source://parser//lib/parser/lexer-strings.rb#5251 def extend_string_eol_heredoc_intertwined(p); end # source://parser//lib/parser/lexer-strings.rb#5241 def extend_string_eol_heredoc_line; end # source://parser//lib/parser/lexer-strings.rb#5267 def extend_string_eol_words(current_literal, p); end # String escaping # # source://parser//lib/parser/lexer-strings.rb#5154 def extend_string_escaped; end # source://parser//lib/parser/lexer-strings.rb#5287 def extend_string_for_token_range(current_literal, string); end # source://parser//lib/parser/lexer-strings.rb#5279 def extend_string_slice_end(lookahead); end # source://parser//lib/parser/lexer-strings.rb#5124 def range(s = T.unsafe(nil), e = T.unsafe(nil)); end # source://parser//lib/parser/lexer-strings.rb#5347 def read_post_meta_or_ctrl_char(p); end # source://parser//lib/parser/lexer-strings.rb#5379 def slash_c_char; end # source://parser//lib/parser/lexer-strings.rb#5383 def slash_m_char; end # source://parser//lib/parser/lexer-strings.rb#5120 def tok(s = T.unsafe(nil), e = T.unsafe(nil)); end # source://parser//lib/parser/lexer-strings.rb#5295 def unescape_char(p); end # source://parser//lib/parser/lexer-strings.rb#5307 def unicode_points(p); end # @return [Boolean] # # source://parser//lib/parser/lexer-strings.rb#5116 def version?(*versions); end class << self # Returns the value of attribute lex_en_character. # # source://parser//lib/parser/lexer-strings.rb#3275 def lex_en_character; end # Sets the attribute lex_en_character # # @param value the value to set the attribute lex_en_character to. # # source://parser//lib/parser/lexer-strings.rb#3275 def lex_en_character=(_arg0); end # Returns the value of attribute lex_en_interp_backslash_delimited. # # source://parser//lib/parser/lexer-strings.rb#3255 def lex_en_interp_backslash_delimited; end # Sets the attribute lex_en_interp_backslash_delimited # # @param value the value to set the attribute lex_en_interp_backslash_delimited to. # # source://parser//lib/parser/lexer-strings.rb#3255 def lex_en_interp_backslash_delimited=(_arg0); end # Returns the value of attribute lex_en_interp_backslash_delimited_words. # # source://parser//lib/parser/lexer-strings.rb#3263 def lex_en_interp_backslash_delimited_words; end # Sets the attribute lex_en_interp_backslash_delimited_words # # @param value the value to set the attribute lex_en_interp_backslash_delimited_words to. # # source://parser//lib/parser/lexer-strings.rb#3263 def lex_en_interp_backslash_delimited_words=(_arg0); end # Returns the value of attribute lex_en_interp_string. # # source://parser//lib/parser/lexer-strings.rb#3243 def lex_en_interp_string; end # Sets the attribute lex_en_interp_string # # @param value the value to set the attribute lex_en_interp_string to. # # source://parser//lib/parser/lexer-strings.rb#3243 def lex_en_interp_string=(_arg0); end # Returns the value of attribute lex_en_interp_words. # # source://parser//lib/parser/lexer-strings.rb#3239 def lex_en_interp_words; end # Sets the attribute lex_en_interp_words # # @param value the value to set the attribute lex_en_interp_words to. # # source://parser//lib/parser/lexer-strings.rb#3239 def lex_en_interp_words=(_arg0); end # Returns the value of attribute lex_en_plain_backslash_delimited. # # source://parser//lib/parser/lexer-strings.rb#3259 def lex_en_plain_backslash_delimited; end # Sets the attribute lex_en_plain_backslash_delimited # # @param value the value to set the attribute lex_en_plain_backslash_delimited to. # # source://parser//lib/parser/lexer-strings.rb#3259 def lex_en_plain_backslash_delimited=(_arg0); end # Returns the value of attribute lex_en_plain_backslash_delimited_words. # # source://parser//lib/parser/lexer-strings.rb#3267 def lex_en_plain_backslash_delimited_words; end # Sets the attribute lex_en_plain_backslash_delimited_words # # @param value the value to set the attribute lex_en_plain_backslash_delimited_words to. # # source://parser//lib/parser/lexer-strings.rb#3267 def lex_en_plain_backslash_delimited_words=(_arg0); end # Returns the value of attribute lex_en_plain_string. # # source://parser//lib/parser/lexer-strings.rb#3251 def lex_en_plain_string; end # Sets the attribute lex_en_plain_string # # @param value the value to set the attribute lex_en_plain_string to. # # source://parser//lib/parser/lexer-strings.rb#3251 def lex_en_plain_string=(_arg0); end # Returns the value of attribute lex_en_plain_words. # # source://parser//lib/parser/lexer-strings.rb#3247 def lex_en_plain_words; end # Sets the attribute lex_en_plain_words # # @param value the value to set the attribute lex_en_plain_words to. # # source://parser//lib/parser/lexer-strings.rb#3247 def lex_en_plain_words=(_arg0); end # Returns the value of attribute lex_en_regexp_modifiers. # # source://parser//lib/parser/lexer-strings.rb#3271 def lex_en_regexp_modifiers; end # Sets the attribute lex_en_regexp_modifiers # # @param value the value to set the attribute lex_en_regexp_modifiers to. # # source://parser//lib/parser/lexer-strings.rb#3271 def lex_en_regexp_modifiers=(_arg0); end # Returns the value of attribute lex_en_unknown. # # source://parser//lib/parser/lexer-strings.rb#3279 def lex_en_unknown; end # Sets the attribute lex_en_unknown # # @param value the value to set the attribute lex_en_unknown to. # # source://parser//lib/parser/lexer-strings.rb#3279 def lex_en_unknown=(_arg0); end # Returns the value of attribute lex_error. # # source://parser//lib/parser/lexer-strings.rb#3234 def lex_error; end # Sets the attribute lex_error # # @param value the value to set the attribute lex_error to. # # source://parser//lib/parser/lexer-strings.rb#3234 def lex_error=(_arg0); end # Returns the value of attribute lex_start. # # source://parser//lib/parser/lexer-strings.rb#3230 def lex_start; end # Sets the attribute lex_start # # @param value the value to set the attribute lex_start to. # # source://parser//lib/parser/lexer-strings.rb#3230 def lex_start=(_arg0); end private # Returns the value of attribute _lex_actions. # # source://parser//lib/parser/lexer-strings.rb#11 def _lex_actions; end # Sets the attribute _lex_actions # # @param value the value to set the attribute _lex_actions to. # # source://parser//lib/parser/lexer-strings.rb#11 def _lex_actions=(_arg0); end # Returns the value of attribute _lex_eof_trans. # # source://parser//lib/parser/lexer-strings.rb#3184 def _lex_eof_trans; end # Sets the attribute _lex_eof_trans # # @param value the value to set the attribute _lex_eof_trans to. # # source://parser//lib/parser/lexer-strings.rb#3184 def _lex_eof_trans=(_arg0); end # Returns the value of attribute _lex_from_state_actions. # # source://parser//lib/parser/lexer-strings.rb#3138 def _lex_from_state_actions; end # Sets the attribute _lex_from_state_actions # # @param value the value to set the attribute _lex_from_state_actions to. # # source://parser//lib/parser/lexer-strings.rb#3138 def _lex_from_state_actions=(_arg0); end # Returns the value of attribute _lex_index_offsets. # # source://parser//lib/parser/lexer-strings.rb#244 def _lex_index_offsets; end # Sets the attribute _lex_index_offsets # # @param value the value to set the attribute _lex_index_offsets to. # # source://parser//lib/parser/lexer-strings.rb#244 def _lex_index_offsets=(_arg0); end # Returns the value of attribute _lex_indicies. # # source://parser//lib/parser/lexer-strings.rb#290 def _lex_indicies; end # Sets the attribute _lex_indicies # # @param value the value to set the attribute _lex_indicies to. # # source://parser//lib/parser/lexer-strings.rb#290 def _lex_indicies=(_arg0); end # Returns the value of attribute _lex_key_spans. # # source://parser//lib/parser/lexer-strings.rb#198 def _lex_key_spans; end # Sets the attribute _lex_key_spans # # @param value the value to set the attribute _lex_key_spans to. # # source://parser//lib/parser/lexer-strings.rb#198 def _lex_key_spans=(_arg0); end # Returns the value of attribute _lex_to_state_actions. # # source://parser//lib/parser/lexer-strings.rb#3092 def _lex_to_state_actions; end # Sets the attribute _lex_to_state_actions # # @param value the value to set the attribute _lex_to_state_actions to. # # source://parser//lib/parser/lexer-strings.rb#3092 def _lex_to_state_actions=(_arg0); end # Returns the value of attribute _lex_trans_actions. # # source://parser//lib/parser/lexer-strings.rb#3029 def _lex_trans_actions; end # Sets the attribute _lex_trans_actions # # @param value the value to set the attribute _lex_trans_actions to. # # source://parser//lib/parser/lexer-strings.rb#3029 def _lex_trans_actions=(_arg0); end # Returns the value of attribute _lex_trans_keys. # # source://parser//lib/parser/lexer-strings.rb#76 def _lex_trans_keys; end # Sets the attribute _lex_trans_keys # # @param value the value to set the attribute _lex_trans_keys to. # # source://parser//lib/parser/lexer-strings.rb#76 def _lex_trans_keys=(_arg0); end # Returns the value of attribute _lex_trans_targs. # # source://parser//lib/parser/lexer-strings.rb#2966 def _lex_trans_targs; end # Sets the attribute _lex_trans_targs # # @param value the value to set the attribute _lex_trans_targs to. # # source://parser//lib/parser/lexer-strings.rb#2966 def _lex_trans_targs=(_arg0); end end end # % # # source://parser//lib/parser/lexer-strings.rb#3287 Parser::LexerStrings::ESCAPES = T.let(T.unsafe(nil), Hash) # source://parser//lib/parser/lexer-strings.rb#5414 Parser::LexerStrings::ESCAPE_WHITESPACE = T.let(T.unsafe(nil), Hash) # source://parser//lib/parser/lexer-strings.rb#3332 Parser::LexerStrings::LEX_STATES = T.let(T.unsafe(nil), Hash) # source://parser//lib/parser/lexer-strings.rb#3293 Parser::LexerStrings::REGEXP_META_CHARACTERS = T.let(T.unsafe(nil), Regexp) # Diagnostic messages (errors, warnings and notices) that can be generated. # # @api public # @see Diagnostic # # source://parser//lib/parser/messages.rb#11 Parser::MESSAGES = T.let(T.unsafe(nil), Hash) # Holds p->max_numparam from parse.y # # @api private # # source://parser//lib/parser/max_numparam_stack.rb#8 class Parser::MaxNumparamStack # @api private # @return [MaxNumparamStack] a new instance of MaxNumparamStack # # source://parser//lib/parser/max_numparam_stack.rb#13 def initialize; end # @api private # @return [Boolean] # # source://parser//lib/parser/max_numparam_stack.rb#17 def empty?; end # @api private # @return [Boolean] # # source://parser//lib/parser/max_numparam_stack.rb#29 def has_numparams?; end # @api private # # source://parser//lib/parser/max_numparam_stack.rb#21 def has_ordinary_params!; end # @api private # @return [Boolean] # # source://parser//lib/parser/max_numparam_stack.rb#25 def has_ordinary_params?; end # @api private # # source://parser//lib/parser/max_numparam_stack.rb#45 def pop; end # @api private # # source://parser//lib/parser/max_numparam_stack.rb#41 def push(static:); end # @api private # # source://parser//lib/parser/max_numparam_stack.rb#33 def register(numparam); end # @api private # # source://parser//lib/parser/max_numparam_stack.rb#9 def stack; end # @api private # # source://parser//lib/parser/max_numparam_stack.rb#37 def top; end private # @api private # # source://parser//lib/parser/max_numparam_stack.rb#51 def set(value); end end # @api private # # source://parser//lib/parser/max_numparam_stack.rb#11 Parser::MaxNumparamStack::ORDINARY_PARAMS = T.let(T.unsafe(nil), Integer) # @api private # # source://parser//lib/parser/messages.rb#107 module Parser::Messages class << self # Formats the message, returns a raw template if there's nothing to interpolate # # Code like `format("", {})` gives a warning, and so this method tries interpolating # only if `arguments` hash is not empty. # # @api private # # source://parser//lib/parser/messages.rb#114 def compile(reason, arguments); end end end # Parser metadata # # source://parser//lib/parser/meta.rb#5 module Parser::Meta; end # All node types that parser can produce. Not all parser versions # will be able to produce every possible node. # # source://parser//lib/parser/meta.rb#9 Parser::Meta::NODE_TYPES = T.let(T.unsafe(nil), Set) # {Parser::Rewriter} is deprecated. Use {Parser::TreeRewriter} instead. # It has a backwards compatible API and uses {Parser::Source::TreeRewriter} # instead of {Parser::Source::Rewriter}. # Please check the documentation for {Parser::Source::Rewriter} for details. # # @api public # @deprecated Use {Parser::TreeRewriter} # # source://parser//lib/parser/rewriter.rb#22 class Parser::Rewriter < ::Parser::AST::Processor extend ::Parser::Deprecation # @api public # @return [Rewriter] a new instance of Rewriter # # source://parser//lib/parser/rewriter.rb#98 def initialize(*_arg0); end # Returns `true` if the specified node is an assignment node, returns false # otherwise. # # @api public # @param node [Parser::AST::Node] # @return [Boolean] # # source://parser//lib/parser/rewriter.rb#38 def assignment?(node); end # Inserts new code after the given source range. # # @api public # @param range [Parser::Source::Range] # @param content [String] # # source://parser//lib/parser/rewriter.rb#77 def insert_after(range, content); end # Inserts new code before the given source range. # # @api public # @param range [Parser::Source::Range] # @param content [String] # # source://parser//lib/parser/rewriter.rb#67 def insert_before(range, content); end # Removes the source range. # # @api public # @param range [Parser::Source::Range] # # source://parser//lib/parser/rewriter.rb#47 def remove(range); end # Replaces the code of the source range `range` with `content`. # # @api public # @param range [Parser::Source::Range] # @param content [String] # # source://parser//lib/parser/rewriter.rb#87 def replace(range, content); end # Rewrites the AST/source buffer and returns a String containing the new # version. # # @api public # @param source_buffer [Parser::Source::Buffer] # @param ast [Parser::AST::Node] # @return [String] # # source://parser//lib/parser/rewriter.rb#23 def rewrite(source_buffer, ast); end # Wraps the given source range with the given values. # # @api public # @param range [Parser::Source::Range] # @param content [String] # # source://parser//lib/parser/rewriter.rb#57 def wrap(range, before, after); end end # @api public # # source://parser//lib/parser/rewriter.rb#91 Parser::Rewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String) # source://parser//lib/parser/ruby31.rb#14 class Parser::Ruby31 < ::Parser::Base # reduce 0 omitted # # source://parser//lib/parser/ruby31.rb#8433 def _reduce_1(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8487 def _reduce_10(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9122 def _reduce_100(val, _values, result); end # reduce 101 omitted # # source://parser//lib/parser/ruby31.rb#9131 def _reduce_102(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9137 def _reduce_103(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9143 def _reduce_104(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9149 def _reduce_105(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9155 def _reduce_106(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9161 def _reduce_107(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9167 def _reduce_108(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9173 def _reduce_109(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8493 def _reduce_11(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9179 def _reduce_110(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9189 def _reduce_111(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9195 def _reduce_112(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9205 def _reduce_113(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9212 def _reduce_114(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9219 def _reduce_115(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9225 def _reduce_116(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9231 def _reduce_117(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9237 def _reduce_118(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9243 def _reduce_119(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8510 def _reduce_12(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9249 def _reduce_120(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9255 def _reduce_121(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9261 def _reduce_122(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9268 def _reduce_123(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9275 def _reduce_124(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9281 def _reduce_125(val, _values, result); end # reduce 126 omitted # # source://parser//lib/parser/ruby31.rb#9289 def _reduce_127(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9295 def _reduce_128(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9301 def _reduce_129(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8516 def _reduce_13(val, _values, result); end # reduce 134 omitted # # source://parser//lib/parser/ruby31.rb#9317 def _reduce_135(val, _values, result); end # reduce 136 omitted # # source://parser//lib/parser/ruby31.rb#9325 def _reduce_137(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9331 def _reduce_138(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9337 def _reduce_139(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8522 def _reduce_14(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8528 def _reduce_15(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8534 def _reduce_16(val, _values, result); end # reduce 17 omitted # # source://parser//lib/parser/ruby31.rb#8542 def _reduce_18(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8548 def _reduce_19(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8440 def _reduce_2(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8554 def _reduce_20(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8560 def _reduce_21(val, _values, result); end # reduce 210 omitted # # source://parser//lib/parser/ruby31.rb#9485 def _reduce_211(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9491 def _reduce_212(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9497 def _reduce_213(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9506 def _reduce_214(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9515 def _reduce_215(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9524 def _reduce_216(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9533 def _reduce_217(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9541 def _reduce_218(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9549 def _reduce_219(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8568 def _reduce_22(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9555 def _reduce_220(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9561 def _reduce_221(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9567 def _reduce_222(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9573 def _reduce_223(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9579 def _reduce_224(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9585 def _reduce_225(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9591 def _reduce_226(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9597 def _reduce_227(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9603 def _reduce_228(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9609 def _reduce_229(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8576 def _reduce_23(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9615 def _reduce_230(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9621 def _reduce_231(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9627 def _reduce_232(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9635 def _reduce_233(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9641 def _reduce_234(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9647 def _reduce_235(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9653 def _reduce_236(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9659 def _reduce_237(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9665 def _reduce_238(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8582 def _reduce_24(val, _values, result); end # reduce 239 omitted # # source://parser//lib/parser/ruby31.rb#9673 def _reduce_240(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9679 def _reduce_241(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9685 def _reduce_242(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9691 def _reduce_243(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9697 def _reduce_244(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9703 def _reduce_245(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9709 def _reduce_246(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9715 def _reduce_247(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9721 def _reduce_248(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9727 def _reduce_249(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8588 def _reduce_25(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9733 def _reduce_250(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9739 def _reduce_251(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9745 def _reduce_252(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9752 def _reduce_253(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9759 def _reduce_254(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9773 def _reduce_255(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9793 def _reduce_256(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9807 def _reduce_257(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8595 def _reduce_26(val, _values, result); end # reduce 262 omitted # # source://parser//lib/parser/ruby31.rb#9837 def _reduce_263(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9843 def _reduce_264(val, _values, result); end # reduce 267 omitted # # source://parser//lib/parser/ruby31.rb#9855 def _reduce_268(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9861 def _reduce_269(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8602 def _reduce_27(val, _values, result); end # reduce 270 omitted # # source://parser//lib/parser/ruby31.rb#9869 def _reduce_271(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9879 def _reduce_272(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9885 def _reduce_273(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9895 def _reduce_274(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9905 def _reduce_275(val, _values, result); end # reduce 276 omitted # # source://parser//lib/parser/ruby31.rb#9913 def _reduce_277(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8608 def _reduce_28(val, _values, result); end # reduce 279 omitted # # source://parser//lib/parser/ruby31.rb#9923 def _reduce_280(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9929 def _reduce_281(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9935 def _reduce_282(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9941 def _reduce_283(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9947 def _reduce_284(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9954 def _reduce_285(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9962 def _reduce_286(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9968 def _reduce_287(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9995 def _reduce_288(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10016 def _reduce_289(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8614 def _reduce_29(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10022 def _reduce_290(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10032 def _reduce_291(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10038 def _reduce_292(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10044 def _reduce_293(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10050 def _reduce_294(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10056 def _reduce_295(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10062 def _reduce_296(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10068 def _reduce_297(val, _values, result); end # reduce 298 omitted # # source://parser//lib/parser/ruby31.rb#10076 def _reduce_299(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8449 def _reduce_3(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8624 def _reduce_30(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10082 def _reduce_300(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10088 def _reduce_301(val, _values, result); end # reduce 311 omitted # # source://parser//lib/parser/ruby31.rb#10114 def _reduce_312(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10120 def _reduce_313(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10126 def _reduce_314(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10134 def _reduce_315(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10140 def _reduce_316(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10146 def _reduce_317(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10152 def _reduce_318(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10158 def _reduce_319(val, _values, result); end # reduce 31 omitted # # source://parser//lib/parser/ruby31.rb#8632 def _reduce_32(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10164 def _reduce_320(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10170 def _reduce_321(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10176 def _reduce_322(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10182 def _reduce_323(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10188 def _reduce_324(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10194 def _reduce_325(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10200 def _reduce_326(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10206 def _reduce_327(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10212 def _reduce_328(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10218 def _reduce_329(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8638 def _reduce_33(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10226 def _reduce_330(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10232 def _reduce_331(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10238 def _reduce_332(val, _values, result); end # reduce 333 omitted # # source://parser//lib/parser/ruby31.rb#10250 def _reduce_334(val, _values, result); end # reduce 335 omitted # # source://parser//lib/parser/ruby31.rb#10260 def _reduce_336(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10269 def _reduce_337(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10278 def _reduce_338(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10284 def _reduce_339(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8645 def _reduce_34(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10290 def _reduce_340(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10300 def _reduce_341(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10310 def _reduce_342(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10320 def _reduce_343(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10326 def _reduce_344(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10333 def _reduce_345(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10349 def _reduce_346(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10357 def _reduce_347(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10369 def _reduce_348(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10376 def _reduce_349(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8656 def _reduce_35(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10390 def _reduce_350(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10402 def _reduce_351(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10414 def _reduce_352(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10420 def _reduce_353(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10426 def _reduce_354(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10432 def _reduce_355(val, _values, result); end # reduce 356 omitted # # source://parser//lib/parser/ruby31.rb#10440 def _reduce_357(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10446 def _reduce_358(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10452 def _reduce_359(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10459 def _reduce_360(val, _values, result); end # reduce 362 omitted # # source://parser//lib/parser/ruby31.rb#10471 def _reduce_363(val, _values, result); end # reduce 366 omitted # # source://parser//lib/parser/ruby31.rb#10483 def _reduce_367(val, _values, result); end # reduce 368 omitted # # source://parser//lib/parser/ruby31.rb#10496 def _reduce_369(val, _values, result); end # reduce 36 omitted # # source://parser//lib/parser/ruby31.rb#8664 def _reduce_37(val, _values, result); end # reduce 371 omitted # # source://parser//lib/parser/ruby31.rb#10506 def _reduce_372(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10512 def _reduce_373(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10518 def _reduce_374(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10524 def _reduce_375(val, _values, result); end # reduce 376 omitted # # source://parser//lib/parser/ruby31.rb#10532 def _reduce_377(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10539 def _reduce_378(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10547 def _reduce_379(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8670 def _reduce_38(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10553 def _reduce_380(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10559 def _reduce_381(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10565 def _reduce_382(val, _values, result); end # reduce 384 omitted # # source://parser//lib/parser/ruby31.rb#10575 def _reduce_385(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10581 def _reduce_386(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10587 def _reduce_387(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10593 def _reduce_388(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10599 def _reduce_389(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8676 def _reduce_39(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10605 def _reduce_390(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10611 def _reduce_391(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10617 def _reduce_392(val, _values, result); end # reduce 393 omitted # # source://parser//lib/parser/ruby31.rb#10625 def _reduce_394(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10634 def _reduce_395(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10644 def _reduce_396(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10652 def _reduce_397(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10661 def _reduce_398(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8455 def _reduce_4(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8685 def _reduce_40(val, _values, result); end # reduce 399 omitted # # source://parser//lib/parser/ruby31.rb#10671 def _reduce_400(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10680 def _reduce_401(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10690 def _reduce_402(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10698 def _reduce_403(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10707 def _reduce_404(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10714 def _reduce_405(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10722 def _reduce_406(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10729 def _reduce_407(val, _values, result); end # reduce 408 omitted # # source://parser//lib/parser/ruby31.rb#10739 def _reduce_409(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8694 def _reduce_41(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10745 def _reduce_410(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10751 def _reduce_411(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10760 def _reduce_412(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10769 def _reduce_413(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10775 def _reduce_414(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10781 def _reduce_415(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10787 def _reduce_416(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10793 def _reduce_417(val, _values, result); end # reduce 418 omitted # # source://parser//lib/parser/ruby31.rb#10802 def _reduce_419(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8703 def _reduce_42(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10811 def _reduce_420(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10817 def _reduce_421(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10833 def _reduce_422(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10841 def _reduce_423(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10851 def _reduce_424(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10858 def _reduce_425(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10865 def _reduce_426(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10872 def _reduce_427(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10879 def _reduce_428(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10886 def _reduce_429(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8711 def _reduce_43(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10893 def _reduce_430(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10901 def _reduce_431(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10909 def _reduce_432(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10921 def _reduce_433(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10932 def _reduce_434(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10940 def _reduce_435(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10948 def _reduce_436(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10956 def _reduce_437(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10962 def _reduce_438(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10970 def _reduce_439(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8720 def _reduce_44(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10978 def _reduce_440(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10986 def _reduce_441(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10992 def _reduce_442(val, _values, result); end # source://parser//lib/parser/ruby31.rb#10998 def _reduce_443(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11005 def _reduce_444(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11012 def _reduce_445(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11019 def _reduce_446(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11026 def _reduce_447(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11033 def _reduce_448(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11043 def _reduce_449(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8734 def _reduce_45(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11050 def _reduce_450(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11056 def _reduce_451(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11067 def _reduce_452(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11074 def _reduce_453(val, _values, result); end # reduce 454 omitted # # source://parser//lib/parser/ruby31.rb#11082 def _reduce_455(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11094 def _reduce_456(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11102 def _reduce_457(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11109 def _reduce_458(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8754 def _reduce_46(val, _values, result); end # reduce 459 omitted # # source://parser//lib/parser/ruby31.rb#11117 def _reduce_460(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11123 def _reduce_461(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11129 def _reduce_462(val, _values, result); end # reduce 463 omitted # # source://parser//lib/parser/ruby31.rb#11137 def _reduce_464(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11147 def _reduce_465(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11153 def _reduce_466(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11159 def _reduce_467(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11165 def _reduce_468(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8768 def _reduce_47(val, _values, result); end # reduce 469 omitted # # source://parser//lib/parser/ruby31.rb#11173 def _reduce_470(val, _values, result); end # reduce 471 omitted # # source://parser//lib/parser/ruby31.rb#11181 def _reduce_472(val, _values, result); end # reduce 473 omitted # # source://parser//lib/parser/ruby31.rb#11189 def _reduce_474(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11196 def _reduce_475(val, _values, result); end # reduce 477 omitted # # source://parser//lib/parser/ruby31.rb#11207 def _reduce_478(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11215 def _reduce_479(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8788 def _reduce_48(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11223 def _reduce_480(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11231 def _reduce_481(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11238 def _reduce_482(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11246 def _reduce_483(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11254 def _reduce_484(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11262 def _reduce_485(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11269 def _reduce_486(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11275 def _reduce_487(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11281 def _reduce_488(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11287 def _reduce_489(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11295 def _reduce_490(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11303 def _reduce_491(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11309 def _reduce_492(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11315 def _reduce_493(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11322 def _reduce_494(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11328 def _reduce_495(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11334 def _reduce_496(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11340 def _reduce_497(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11347 def _reduce_498(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11354 def _reduce_499(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8461 def _reduce_5(val, _values, result); end # reduce 49 omitted # # source://parser//lib/parser/ruby31.rb#8796 def _reduce_50(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11360 def _reduce_500(val, _values, result); end # reduce 501 omitted # # source://parser//lib/parser/ruby31.rb#11368 def _reduce_502(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11378 def _reduce_503(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11388 def _reduce_504(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11394 def _reduce_505(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11400 def _reduce_506(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11406 def _reduce_507(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11412 def _reduce_508(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11418 def _reduce_509(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11424 def _reduce_510(val, _values, result); end # reduce 511 omitted # # source://parser//lib/parser/ruby31.rb#11432 def _reduce_512(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11438 def _reduce_513(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11444 def _reduce_514(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11450 def _reduce_515(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11456 def _reduce_516(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11462 def _reduce_517(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11468 def _reduce_518(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11474 def _reduce_519(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11480 def _reduce_520(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11486 def _reduce_521(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11492 def _reduce_522(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11498 def _reduce_523(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11504 def _reduce_524(val, _values, result); end # reduce 527 omitted # # source://parser//lib/parser/ruby31.rb#11516 def _reduce_528(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11522 def _reduce_529(val, _values, result); end # reduce 52 omitted # # source://parser//lib/parser/ruby31.rb#8810 def _reduce_53(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11528 def _reduce_530(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11534 def _reduce_531(val, _values, result); end # reduce 534 omitted # # source://parser//lib/parser/ruby31.rb#11546 def _reduce_535(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11552 def _reduce_536(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8816 def _reduce_54(val, _values, result); end # reduce 544 omitted # # source://parser//lib/parser/ruby31.rb#11574 def _reduce_545(val, _values, result); end # reduce 546 omitted # # source://parser//lib/parser/ruby31.rb#11582 def _reduce_547(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11588 def _reduce_548(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11600 def _reduce_549(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8822 def _reduce_55(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11607 def _reduce_550(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11614 def _reduce_551(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11620 def _reduce_552(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11626 def _reduce_553(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11632 def _reduce_554(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11647 def _reduce_555(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11653 def _reduce_556(val, _values, result); end # reduce 558 omitted # # source://parser//lib/parser/ruby31.rb#11663 def _reduce_559(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8828 def _reduce_56(val, _values, result); end # reduce 560 omitted # # source://parser//lib/parser/ruby31.rb#11671 def _reduce_561(val, _values, result); end # reduce 564 omitted # # source://parser//lib/parser/ruby31.rb#11683 def _reduce_565(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11689 def _reduce_566(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11695 def _reduce_567(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11701 def _reduce_568(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11708 def _reduce_569(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8834 def _reduce_57(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11715 def _reduce_570(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11721 def _reduce_571(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11728 def _reduce_572(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11735 def _reduce_573(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11741 def _reduce_574(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11747 def _reduce_575(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11753 def _reduce_576(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11759 def _reduce_577(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11765 def _reduce_578(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11771 def _reduce_579(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8846 def _reduce_58(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11777 def _reduce_580(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11783 def _reduce_581(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11789 def _reduce_582(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11795 def _reduce_583(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11801 def _reduce_584(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11807 def _reduce_585(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11813 def _reduce_586(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11819 def _reduce_587(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11825 def _reduce_588(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11831 def _reduce_589(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8855 def _reduce_59(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11837 def _reduce_590(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11843 def _reduce_591(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11849 def _reduce_592(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11855 def _reduce_593(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11861 def _reduce_594(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11867 def _reduce_595(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11874 def _reduce_596(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11883 def _reduce_597(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11889 def _reduce_598(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11895 def _reduce_599(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8467 def _reduce_6(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8867 def _reduce_60(val, _values, result); end # reduce 602 omitted # # source://parser//lib/parser/ruby31.rb#11907 def _reduce_603(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11914 def _reduce_604(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11921 def _reduce_605(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11927 def _reduce_606(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11938 def _reduce_607(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11945 def _reduce_608(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11952 def _reduce_609(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11959 def _reduce_610(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11966 def _reduce_611(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11972 def _reduce_612(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11978 def _reduce_613(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11984 def _reduce_614(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11990 def _reduce_615(val, _values, result); end # source://parser//lib/parser/ruby31.rb#11996 def _reduce_616(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12002 def _reduce_617(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12008 def _reduce_618(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12014 def _reduce_619(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12020 def _reduce_620(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12026 def _reduce_621(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12032 def _reduce_622(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12038 def _reduce_623(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12044 def _reduce_624(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12050 def _reduce_625(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12056 def _reduce_626(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12062 def _reduce_627(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12068 def _reduce_628(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12074 def _reduce_629(val, _values, result); end # reduce 62 omitted # # source://parser//lib/parser/ruby31.rb#8880 def _reduce_63(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12080 def _reduce_630(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12086 def _reduce_631(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12092 def _reduce_632(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12098 def _reduce_633(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12104 def _reduce_634(val, _values, result); end # reduce 635 omitted # # source://parser//lib/parser/ruby31.rb#12112 def _reduce_636(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12119 def _reduce_637(val, _values, result); end # reduce 638 omitted # # source://parser//lib/parser/ruby31.rb#12130 def _reduce_639(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8886 def _reduce_64(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12138 def _reduce_640(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12146 def _reduce_641(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12152 def _reduce_642(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12158 def _reduce_643(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12164 def _reduce_644(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12170 def _reduce_645(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12177 def _reduce_646(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12183 def _reduce_647(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12189 def _reduce_648(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12198 def _reduce_649(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8893 def _reduce_65(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12208 def _reduce_650(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12216 def _reduce_651(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12225 def _reduce_652(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12233 def _reduce_653(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12242 def _reduce_654(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12249 def _reduce_655(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12257 def _reduce_656(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12266 def _reduce_657(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12273 def _reduce_658(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12281 def _reduce_659(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8903 def _reduce_66(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12288 def _reduce_660(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12296 def _reduce_661(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12302 def _reduce_662(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12308 def _reduce_663(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12314 def _reduce_664(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12320 def _reduce_665(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12326 def _reduce_666(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12332 def _reduce_667(val, _values, result); end # reduce 668 omitted # # source://parser//lib/parser/ruby31.rb#12340 def _reduce_669(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8909 def _reduce_67(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12350 def _reduce_670(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12357 def _reduce_671(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12364 def _reduce_672(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12370 def _reduce_673(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12376 def _reduce_674(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12382 def _reduce_675(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12397 def _reduce_676(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12405 def _reduce_677(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12413 def _reduce_678(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12420 def _reduce_679(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8916 def _reduce_68(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12427 def _reduce_680(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12433 def _reduce_681(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12439 def _reduce_682(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12445 def _reduce_683(val, _values, result); end # reduce 685 omitted # # source://parser//lib/parser/ruby31.rb#12455 def _reduce_686(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12461 def _reduce_687(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12469 def _reduce_688(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12475 def _reduce_689(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12483 def _reduce_690(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12491 def _reduce_691(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12497 def _reduce_692(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12503 def _reduce_693(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12509 def _reduce_694(val, _values, result); end # reduce 696 omitted # # source://parser//lib/parser/ruby31.rb#12519 def _reduce_697(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12527 def _reduce_698(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8473 def _reduce_7(val, _values, result); end # reduce 700 omitted # # source://parser//lib/parser/ruby31.rb#12537 def _reduce_701(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12545 def _reduce_702(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12553 def _reduce_703(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12559 def _reduce_704(val, _values, result); end # reduce 705 omitted # # source://parser//lib/parser/ruby31.rb#12567 def _reduce_706(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12573 def _reduce_707(val, _values, result); end # reduce 708 omitted # # source://parser//lib/parser/ruby31.rb#12581 def _reduce_709(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12587 def _reduce_710(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12593 def _reduce_711(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12599 def _reduce_712(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12605 def _reduce_713(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12611 def _reduce_714(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12617 def _reduce_715(val, _values, result); end # reduce 71 omitted # # source://parser//lib/parser/ruby31.rb#8928 def _reduce_72(val, _values, result); end # reduce 727 omitted # # source://parser//lib/parser/ruby31.rb#12647 def _reduce_728(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12653 def _reduce_729(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8935 def _reduce_73(val, _values, result); end # reduce 733 omitted # # source://parser//lib/parser/ruby31.rb#12667 def _reduce_734(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12673 def _reduce_735(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12679 def _reduce_736(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8942 def _reduce_74(val, _values, result); end # reduce 739 omitted # # source://parser//lib/parser/ruby31.rb#12691 def _reduce_740(val, _values, result); end # reduce 743 omitted # # source://parser//lib/parser/ruby31.rb#12703 def _reduce_744(val, _values, result); end # reduce 75 omitted # # source://parser//lib/parser/ruby31.rb#8951 def _reduce_76(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8958 def _reduce_77(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8969 def _reduce_78(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8976 def _reduce_79(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8987 def _reduce_80(val, _values, result); end # source://parser//lib/parser/ruby31.rb#8994 def _reduce_81(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9005 def _reduce_82(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9012 def _reduce_83(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9019 def _reduce_84(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9026 def _reduce_85(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9033 def _reduce_86(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9040 def _reduce_87(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9046 def _reduce_88(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9052 def _reduce_89(val, _values, result); end # reduce 8 omitted # # source://parser//lib/parser/ruby31.rb#8481 def _reduce_9(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9058 def _reduce_90(val, _values, result); end # reduce 91 omitted # # source://parser//lib/parser/ruby31.rb#9066 def _reduce_92(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9073 def _reduce_93(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9080 def _reduce_94(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9088 def _reduce_95(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9095 def _reduce_96(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9103 def _reduce_97(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9109 def _reduce_98(val, _values, result); end # source://parser//lib/parser/ruby31.rb#9116 def _reduce_99(val, _values, result); end # source://parser//lib/parser/ruby31.rb#12709 def _reduce_none(val, _values, result); end # source://parser//lib/parser/ruby31.rb#21 def default_encoding; end # source://parser//lib/parser/ruby31.rb#25 def endless_method_name(name_t); end # source://parser//lib/parser/ruby31.rb#38 def local_pop; end # source://parser//lib/parser/ruby31.rb#31 def local_push; end # source://parser//lib/parser/ruby31.rb#45 def try_declare_numparam(node); end # source://parser//lib/parser/ruby31.rb#17 def version; end end # source://parser//lib/parser/ruby31.rb#8022 Parser::Ruby31::Racc_arg = T.let(T.unsafe(nil), Array) # source://parser//lib/parser/ruby31.rb#8427 Parser::Ruby31::Racc_debug_parser = T.let(T.unsafe(nil), FalseClass) # source://parser//lib/parser/ruby31.rb#8038 Parser::Ruby31::Racc_token_to_s_table = T.let(T.unsafe(nil), Array) # @api public # # source://parser//lib/parser.rb#30 module Parser::Source; end # A buffer with source code. {Buffer} contains the source code itself, # associated location information (name and first line), and takes care # of encoding. # # A source buffer is immutable once populated. # # @api public # # source://parser//lib/parser/source/buffer.rb#25 class Parser::Source::Buffer # @api public # @return [Buffer] a new instance of Buffer # # source://parser//lib/parser/source/buffer.rb#105 def initialize(name, first_line = T.unsafe(nil), source: T.unsafe(nil)); end # Convert a character index into the source to a column number. # # @api private # @param position [Integer] # @return [Integer] column # # source://parser//lib/parser/source/buffer.rb#242 def column_for_position(position); end # Convert a character index into the source to a `[line, column]` tuple. # # @api public # @param position [Integer] # @return [[Integer, Integer]] `[line, column]` # # source://parser//lib/parser/source/buffer.rb#217 def decompose_position(position); end # First line of the buffer, 1 by default. # # @api public # @return [Integer] first line # # source://parser//lib/parser/source/buffer.rb#26 def first_line; end # @api public # # source://parser//lib/parser/source/buffer.rb#312 def freeze; end # @api public # # source://parser//lib/parser/source/buffer.rb#318 def inspect; end # Number of last line in the buffer # # @api public # @return [Integer] # # source://parser//lib/parser/source/buffer.rb#307 def last_line; end # Convert a character index into the source to a line number. # # @api private # @param position [Integer] # @return [Integer] line # # source://parser//lib/parser/source/buffer.rb#231 def line_for_position(position); end # Extract line `lineno` as a new `Range`, taking `first_line` into account. # # @api public # @param lineno [Integer] # @raise [IndexError] if `lineno` is out of bounds # @return [Range] # # source://parser//lib/parser/source/buffer.rb#284 def line_range(lineno); end # Buffer name. If the buffer was created from a file, the name corresponds # to relative path to the file. # # @api public # @return [String] buffer name # # source://parser//lib/parser/source/buffer.rb#26 def name; end # Populate this buffer from a string without encoding autodetection. # # @api public # @param input [String] # @raise [ArgumentError] if already populated # @return [String] # # source://parser//lib/parser/source/buffer.rb#180 def raw_source=(input); end # Populate this buffer from correspondingly named file. # # @api public # @example # Parser::Source::Buffer.new('foo/bar.rb').read # @raise [ArgumentError] if already populated # @return [Buffer] self # # source://parser//lib/parser/source/buffer.rb#131 def read; end # @api public # # source://parser//lib/parser/source/buffer.rb#194 def slice(start, length = T.unsafe(nil)); end # Source code contained in this buffer. # # @api public # @raise [RuntimeError] if buffer is not populated yet # @return [String] source code # # source://parser//lib/parser/source/buffer.rb#145 def source; end # Populate this buffer from a string with encoding autodetection. # `input` is mutated if not frozen. # # @api public # @param input [String] # @raise [ArgumentError] if already populated # @raise [EncodingError] if `input` includes invalid byte sequence for the encoding # @return [String] # # source://parser//lib/parser/source/buffer.rb#162 def source=(input); end # Extract line `lineno` from source, taking `first_line` into account. # # @api public # @param lineno [Integer] # @raise [IndexError] if `lineno` is out of bounds # @return [String] # # source://parser//lib/parser/source/buffer.rb#273 def source_line(lineno); end # Return an `Array` of source code lines. # # @api public # @return [Array] # # source://parser//lib/parser/source/buffer.rb#252 def source_lines; end # @api public # @return [Range] A range covering the whole source # # source://parser//lib/parser/source/buffer.rb#298 def source_range; end private # @api public # # source://parser//lib/parser/source/buffer.rb#348 def bsearch(line_begins, position); end # @api public # # source://parser//lib/parser/source/buffer.rb#325 def line_begins; end # @api public # # source://parser//lib/parser/source/buffer.rb#339 def line_index_for_position(position); end class << self # Try to recognize encoding of `string` as Ruby would, i.e. by looking for # magic encoding comment or UTF-8 BOM. `string` can be in any encoding. # # @api public # @param string [String] # @return [String, nil] encoding name, if recognized # # source://parser//lib/parser/source/buffer.rb#51 def recognize_encoding(string); end # Recognize encoding of `input` and process it so it could be lexed. # # * If `input` does not contain BOM or magic encoding comment, it is # kept in the original encoding. # * If the detected encoding is binary, `input` is kept in binary. # * Otherwise, `input` is re-encoded into UTF-8 and returned as a # new string. # # This method mutates the encoding of `input`, but not its content. # # @api public # @param input [String] # @raise [EncodingError] # @return [String] # # source://parser//lib/parser/source/buffer.rb#90 def reencode_string(input); end end end # @api private # # source://parser//lib/parser/source/buffer.rb#31 Parser::Source::Buffer::ENCODING_RE = T.let(T.unsafe(nil), Regexp) # A comment in the source code. # # @api public # # source://parser//lib/parser/source/comment.rb#17 class Parser::Source::Comment # @api public # @param range [Parser::Source::Range] # @return [Comment] a new instance of Comment # # source://parser//lib/parser/source/comment.rb#67 def initialize(range); end # Compares comments. Two comments are equal if they # correspond to the same source range. # # @api public # @param other [Object] # @return [Boolean] # # source://parser//lib/parser/source/comment.rb#120 def ==(other); end # @api public # @return [Boolean] true if this is a block comment. # @see #type # # source://parser//lib/parser/source/comment.rb#109 def document?; end # @api public # @return [Boolean] true if this is an inline comment. # @see #type # # source://parser//lib/parser/source/comment.rb#101 def inline?; end # @api public # @return [String] a human-readable representation of this comment # # source://parser//lib/parser/source/comment.rb#128 def inspect; end # @api public # @return [Parser::Source::Range] # # source://parser//lib/parser/source/comment.rb#20 def loc; end # @api public # @return [Parser::Source::Range] # # source://parser//lib/parser/source/comment.rb#20 def location; end # @api public # @return [String] # # source://parser//lib/parser/source/comment.rb#18 def text; end # Type of this comment. # # * Inline comments correspond to `:inline`: # # # whatever # # * Block comments correspond to `:document`: # # =begin # hi i am a document # =end # # @api public # @return [Symbol] # # source://parser//lib/parser/source/comment.rb#89 def type; end class << self # Associate `comments` with `ast` nodes by their corresponding node. # # @api public # @deprecated Use {associate_locations}. # @param ast [Parser::AST::Node] # @param comments [Array] # @return [Hash>] # @see Parser::Source::Comment::Associator#associate # # source://parser//lib/parser/source/comment.rb#32 def associate(ast, comments); end # Associate `comments` with `ast` nodes using identity. # # @api public # @param ast [Parser::AST::Node] # @param comments [Array] # @return [Hash>] # @see Parser::Source::Comment::Associator#associate_by_identity # # source://parser//lib/parser/source/comment.rb#59 def associate_by_identity(ast, comments); end # Associate `comments` with `ast` nodes by their location in the # source. # # @api public # @param ast [Parser::AST::Node] # @param comments [Array] # @return [Hash>] # @see Parser::Source::Comment::Associator#associate_locations # # source://parser//lib/parser/source/comment.rb#46 def associate_locations(ast, comments); end end end # source://parser//lib/parser/source/comment/associator.rb#45 class Parser::Source::Comment::Associator # source://parser//lib/parser/source/comment/associator.rb#51 def initialize(ast, comments); end # source://parser//lib/parser/source/comment/associator.rb#92 def associate; end # source://parser//lib/parser/source/comment/associator.rb#115 def associate_by_identity; end # source://parser//lib/parser/source/comment/associator.rb#103 def associate_locations; end # source://parser//lib/parser/source/comment/associator.rb#46 def skip_directives; end # source://parser//lib/parser/source/comment/associator.rb#46 def skip_directives=(_arg0); end private # source://parser//lib/parser/source/comment/associator.rb#182 def advance_comment; end # source://parser//lib/parser/source/comment/associator.rb#214 def advance_through_directives; end # source://parser//lib/parser/source/comment/associator.rb#206 def associate_and_advance_comment(node); end # source://parser//lib/parser/source/comment/associator.rb#123 def children_in_source_order(node); end # source://parser//lib/parser/source/comment/associator.rb#187 def current_comment_before?(node); end # source://parser//lib/parser/source/comment/associator.rb#194 def current_comment_before_end?(node); end # source://parser//lib/parser/source/comment/associator.rb#201 def current_comment_decorates?(node); end # source://parser//lib/parser/source/comment/associator.rb#135 def do_associate; end # source://parser//lib/parser/source/comment/associator.rb#166 def process_leading_comments(node); end # source://parser//lib/parser/source/comment/associator.rb#173 def process_trailing_comments(node); end # source://parser//lib/parser/source/comment/associator.rb#148 def visit(node); end end # source://parser//lib/parser/source/comment/associator.rb#212 Parser::Source::Comment::Associator::MAGIC_COMMENT_RE = T.let(T.unsafe(nil), Regexp) # source://parser//lib/parser/source/comment/associator.rb#122 Parser::Source::Comment::Associator::POSTFIX_TYPES = T.let(T.unsafe(nil), Set) # {Map} relates AST nodes to the source code they were parsed from. # More specifically, a {Map} or its subclass contains a set of ranges: # # * `expression`: smallest range which includes all source corresponding # to the node and all `expression` ranges of its children. # * other ranges (`begin`, `end`, `operator`, ...): node-specific ranges # pointing to various interesting tokens corresponding to the node. # # Note that the {Map::Heredoc} map is the only one whose `expression` does # not include other ranges. It only covers the heredoc marker (`< 2]').children[0].loc # # => > # # The {file:doc/AST_FORMAT.md} document describes how ranges associated to source # code tokens. For example, the entry # # (array (int 1) (int 2)) # # "[1, 2]" # ^ begin # ^ end # ~~~~~~ expression # # means that if `node` is an {Parser::AST::Node} `(array (int 1) (int 2))`, # then `node.loc` responds to `begin`, `end` and `expression`, and # `node.loc.begin` returns a range pointing at the opening bracket, and so on. # # If you want to write code polymorphic by the source map (i.e. accepting # several subclasses of {Map}), use `respond_to?` instead of `is_a?` to # check whether the map features the range you need. Concrete {Map} # subclasses may not be preserved between versions, but their interfaces # will be kept compatible. # # You can visualize the source maps with `ruby-parse -E` command-line tool. # # @api public # @example # require 'parser/current' # # p Parser::CurrentRuby.parse('[1, 2]').loc # # => #, # # @begin=#, # # @expression=#> # # source://parser//lib/parser/source/map.rb#70 class Parser::Source::Map # @api public # @param expression [Range] # @return [Map] a new instance of Map # # source://parser//lib/parser/source/map.rb#76 def initialize(expression); end # Compares source maps. # # @api public # @return [Boolean] # # source://parser//lib/parser/source/map.rb#140 def ==(other); end # A shortcut for `self.expression.column`. # # @api public # @return [Integer] # # source://parser//lib/parser/source/map.rb#109 def column; end # @api public # @return [Range] # # source://parser//lib/parser/source/map.rb#72 def expression; end # A shortcut for `self.expression.line`. # # @api public # @return [Integer] # # source://parser//lib/parser/source/map.rb#99 def first_line; end # A shortcut for `self.expression.last_column`. # # @api public # @return [Integer] # # source://parser//lib/parser/source/map.rb#125 def last_column; end # A shortcut for `self.expression.last_line`. # # @api public # @return [Integer] # # source://parser//lib/parser/source/map.rb#117 def last_line; end # A shortcut for `self.expression.line`. # # @api public # @return [Integer] # # source://parser//lib/parser/source/map.rb#99 def line; end # The node that is described by this map. Nodes and maps have 1:1 correspondence. # # @api public # @return [Parser::AST::Node] # # source://parser//lib/parser/source/map.rb#71 def node; end # @api private # # source://parser//lib/parser/source/map.rb#89 def node=(node); end # Converts this source map to a hash with keys corresponding to # ranges. For example, if called on an instance of {Collection}, # which adds the `begin` and `end` ranges, the resulting hash # will contain keys `:expression`, `:begin` and `:end`. # # @api public # @example # require 'parser/current' # # p Parser::CurrentRuby.parse('[1, 2]').loc.to_hash # # => { # # :begin => #, # # :end => #, # # :expression => # # # } # @return [Hash] # # source://parser//lib/parser/source/map.rb#166 def to_hash; end # @api private # # source://parser//lib/parser/source/map.rb#132 def with_expression(expression_l); end protected # @api public # # source://parser//lib/parser/source/map.rb#180 def update_expression(expression_l); end # @api public # # source://parser//lib/parser/source/map.rb#176 def with(&block); end private # @api private # # source://parser//lib/parser/source/map.rb#82 def initialize_copy(other); end end # source://parser//lib/parser/source/map/collection.rb#6 class Parser::Source::Map::Collection < ::Parser::Source::Map # source://parser//lib/parser/source/map/collection.rb#10 def initialize(begin_l, end_l, expression_l); end # source://parser//lib/parser/source/map/collection.rb#7 def begin; end # source://parser//lib/parser/source/map/collection.rb#8 def end; end end # source://parser//lib/parser/source/map/condition.rb#6 class Parser::Source::Map::Condition < ::Parser::Source::Map # source://parser//lib/parser/source/map/condition.rb#12 def initialize(keyword_l, begin_l, else_l, end_l, expression_l); end # source://parser//lib/parser/source/map/condition.rb#8 def begin; end # source://parser//lib/parser/source/map/condition.rb#9 def else; end # source://parser//lib/parser/source/map/condition.rb#10 def end; end # source://parser//lib/parser/source/map/condition.rb#7 def keyword; end end # source://parser//lib/parser/source/map/constant.rb#6 class Parser::Source::Map::Constant < ::Parser::Source::Map # source://parser//lib/parser/source/map/constant.rb#11 def initialize(double_colon, name, expression); end # source://parser//lib/parser/source/map/constant.rb#7 def double_colon; end # source://parser//lib/parser/source/map/constant.rb#8 def name; end # source://parser//lib/parser/source/map/constant.rb#9 def operator; end # source://parser//lib/parser/source/map/constant.rb#20 def with_operator(operator_l); end protected # source://parser//lib/parser/source/map/constant.rb#26 def update_operator(operator_l); end end # source://parser//lib/parser/source/map/definition.rb#6 class Parser::Source::Map::Definition < ::Parser::Source::Map # source://parser//lib/parser/source/map/definition.rb#12 def initialize(keyword_l, operator_l, name_l, end_l); end # source://parser//lib/parser/source/map/definition.rb#10 def end; end # source://parser//lib/parser/source/map/definition.rb#7 def keyword; end # source://parser//lib/parser/source/map/definition.rb#9 def name; end # source://parser//lib/parser/source/map/definition.rb#8 def operator; end end # source://parser//lib/parser/source/map/for.rb#6 class Parser::Source::Map::For < ::Parser::Source::Map # source://parser//lib/parser/source/map/for.rb#10 def initialize(keyword_l, in_l, begin_l, end_l, expression_l); end # source://parser//lib/parser/source/map/for.rb#8 def begin; end # source://parser//lib/parser/source/map/for.rb#8 def end; end # source://parser//lib/parser/source/map/for.rb#7 def in; end # source://parser//lib/parser/source/map/for.rb#7 def keyword; end end # source://parser//lib/parser/source/map/heredoc.rb#6 class Parser::Source::Map::Heredoc < ::Parser::Source::Map # source://parser//lib/parser/source/map/heredoc.rb#10 def initialize(begin_l, body_l, end_l); end # source://parser//lib/parser/source/map/heredoc.rb#7 def heredoc_body; end # source://parser//lib/parser/source/map/heredoc.rb#8 def heredoc_end; end end # source://parser//lib/parser/source/map/index.rb#6 class Parser::Source::Map::Index < ::Parser::Source::Map # source://parser//lib/parser/source/map/index.rb#11 def initialize(begin_l, end_l, expression_l); end # source://parser//lib/parser/source/map/index.rb#7 def begin; end # source://parser//lib/parser/source/map/index.rb#8 def end; end # source://parser//lib/parser/source/map/index.rb#9 def operator; end # source://parser//lib/parser/source/map/index.rb#21 def with_operator(operator_l); end protected # source://parser//lib/parser/source/map/index.rb#27 def update_operator(operator_l); end end # source://parser//lib/parser/source/map/keyword.rb#6 class Parser::Source::Map::Keyword < ::Parser::Source::Map # source://parser//lib/parser/source/map/keyword.rb#11 def initialize(keyword_l, begin_l, end_l, expression_l); end # source://parser//lib/parser/source/map/keyword.rb#8 def begin; end # source://parser//lib/parser/source/map/keyword.rb#9 def end; end # source://parser//lib/parser/source/map/keyword.rb#7 def keyword; end end # source://parser//lib/parser/source/map/method_definition.rb#6 class Parser::Source::Map::MethodDefinition < ::Parser::Source::Map # source://parser//lib/parser/source/map/method_definition.rb#13 def initialize(keyword_l, operator_l, name_l, end_l, assignment_l, body_l); end # source://parser//lib/parser/source/map/method_definition.rb#11 def assignment; end # source://parser//lib/parser/source/map/method_definition.rb#10 def end; end # source://parser//lib/parser/source/map/method_definition.rb#7 def keyword; end # source://parser//lib/parser/source/map/method_definition.rb#9 def name; end # source://parser//lib/parser/source/map/method_definition.rb#8 def operator; end end # source://parser//lib/parser/source/map/objc_kwarg.rb#6 class Parser::Source::Map::ObjcKwarg < ::Parser::Source::Map # source://parser//lib/parser/source/map/objc_kwarg.rb#11 def initialize(keyword_l, operator_l, argument_l, expression_l); end # source://parser//lib/parser/source/map/objc_kwarg.rb#9 def argument; end # source://parser//lib/parser/source/map/objc_kwarg.rb#7 def keyword; end # source://parser//lib/parser/source/map/objc_kwarg.rb#8 def operator; end end # source://parser//lib/parser/source/map/operator.rb#6 class Parser::Source::Map::Operator < ::Parser::Source::Map # source://parser//lib/parser/source/map/operator.rb#9 def initialize(operator, expression); end # source://parser//lib/parser/source/map/operator.rb#7 def operator; end end # source://parser//lib/parser/source/map/rescue_body.rb#6 class Parser::Source::Map::RescueBody < ::Parser::Source::Map # source://parser//lib/parser/source/map/rescue_body.rb#11 def initialize(keyword_l, assoc_l, begin_l, expression_l); end # source://parser//lib/parser/source/map/rescue_body.rb#8 def assoc; end # source://parser//lib/parser/source/map/rescue_body.rb#9 def begin; end # source://parser//lib/parser/source/map/rescue_body.rb#7 def keyword; end end # source://parser//lib/parser/source/map/send.rb#6 class Parser::Source::Map::Send < ::Parser::Source::Map # source://parser//lib/parser/source/map/send.rb#13 def initialize(dot_l, selector_l, begin_l, end_l, expression_l); end # source://parser//lib/parser/source/map/send.rb#10 def begin; end # source://parser//lib/parser/source/map/send.rb#7 def dot; end # source://parser//lib/parser/source/map/send.rb#11 def end; end # source://parser//lib/parser/source/map/send.rb#9 def operator; end # source://parser//lib/parser/source/map/send.rb#8 def selector; end # source://parser//lib/parser/source/map/send.rb#24 def with_operator(operator_l); end protected # source://parser//lib/parser/source/map/send.rb#30 def update_operator(operator_l); end end # source://parser//lib/parser/source/map/ternary.rb#6 class Parser::Source::Map::Ternary < ::Parser::Source::Map # source://parser//lib/parser/source/map/ternary.rb#10 def initialize(question_l, colon_l, expression_l); end # source://parser//lib/parser/source/map/ternary.rb#8 def colon; end # source://parser//lib/parser/source/map/ternary.rb#7 def question; end end # source://parser//lib/parser/source/map/variable.rb#6 class Parser::Source::Map::Variable < ::Parser::Source::Map # source://parser//lib/parser/source/map/variable.rb#10 def initialize(name_l, expression_l = T.unsafe(nil)); end # source://parser//lib/parser/source/map/variable.rb#7 def name; end # source://parser//lib/parser/source/map/variable.rb#8 def operator; end # source://parser//lib/parser/source/map/variable.rb#19 def with_operator(operator_l); end protected # source://parser//lib/parser/source/map/variable.rb#25 def update_operator(operator_l); end end # A range of characters in a particular source buffer. # # The range is always exclusive, i.e. a range with `begin_pos` of 3 and # `end_pos` of 5 will contain the following characters: # # example # ^^ # # @api public # # source://parser//lib/parser/source/range.rb#26 class Parser::Source::Range include ::Comparable # @api public # @param source_buffer [Buffer] # @param begin_pos [Integer] # @param end_pos [Integer] # @return [Range] a new instance of Range # # source://parser//lib/parser/source/range.rb#37 def initialize(source_buffer, begin_pos, end_pos); end # Compare ranges, first by begin_pos, then by end_pos. # # @api public # # source://parser//lib/parser/source/range.rb#301 def <=>(other); end # by the given amount(s) # # @api public # @param Endpoint(s) [Hash] to change, any combination of :begin_pos or :end_pos # @return [Range] the same range as this range but with the given end point(s) adjusted # # source://parser//lib/parser/source/range.rb#193 def adjust(begin_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end # @api public # @return [Range] a zero-length range located just before the beginning # of this range. # # source://parser//lib/parser/source/range.rb#55 def begin; end # @api public # @return [Integer] index of the first character in the range # # source://parser//lib/parser/source/range.rb#30 def begin_pos; end # @api public # @return [Integer] zero-based column number of the beginning of this range. # # source://parser//lib/parser/source/range.rb#92 def column; end # @api public # @raise RangeError # @return [::Range] a range of columns spanned by this range. # # source://parser//lib/parser/source/range.rb#114 def column_range; end # Return `other.contains?(self)` # # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? # # @api public # @param other [Range] # @return [Boolean] # # source://parser//lib/parser/source/range.rb#274 def contained?(other); end # Returns true iff this range contains (strictly) `other`. # # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? # # @api public # @param other [Range] # @return [Boolean] # # source://parser//lib/parser/source/range.rb#262 def contains?(other); end # Returns true iff both ranges intersect and also have different elements from one another. # # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? # # @api public # @param other [Range] # @return [Boolean] # # source://parser//lib/parser/source/range.rb#286 def crossing?(other); end # Return `true` iff this range and `other` are disjoint. # # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? # # @api public # @param other [Range] # @return [Boolean] # # source://parser//lib/parser/source/range.rb#236 def disjoint?(other); end # Checks if a range is empty; if it contains no characters # # @api public # @return [Boolean] # # source://parser//lib/parser/source/range.rb#294 def empty?; end # @api public # @return [Range] a zero-length range located just after the end # of this range. # # source://parser//lib/parser/source/range.rb#63 def end; end # @api public # @return [Integer] index of the character after the last character in the range # # source://parser//lib/parser/source/range.rb#30 def end_pos; end # @api public def eql?(_arg0); end # Line number of the beginning of this range. By default, the first line # of a buffer is 1; as such, line numbers are most commonly one-based. # # @api public # @return [Integer] line number of the beginning of this range. # @see Buffer # # source://parser//lib/parser/source/range.rb#83 def first_line; end # Support for Ranges be used in as Hash indices and in Sets. # # @api public # # source://parser//lib/parser/source/range.rb#313 def hash; end # @api public # @return [String] a human-readable representation of this range. # # source://parser//lib/parser/source/range.rb#320 def inspect; end # @api public # @param other [Range] # @return [Range] overlapping region of this range and `other`, or `nil` # if they do not overlap # # source://parser//lib/parser/source/range.rb#220 def intersect(other); end # `is?` provides a concise way to compare the source corresponding to this range. # For example, `r.source == '(' || r.source == 'begin'` is equivalent to # `r.is?('(', 'begin')`. # # @api public # @return [Boolean] # # source://parser//lib/parser/source/range.rb#141 def is?(*what); end # @api public # @param other [Range] # @return [Range] smallest possible range spanning both this range and `other`. # # source://parser//lib/parser/source/range.rb#209 def join(other); end # @api public # @return [Integer] zero-based column number of the end of this range. # # source://parser//lib/parser/source/range.rb#106 def last_column; end # @api public # @return [Integer] line number of the end of this range. # # source://parser//lib/parser/source/range.rb#99 def last_line; end # @api public # @return [Integer] amount of characters included in this range. # # source://parser//lib/parser/source/range.rb#70 def length; end # Line number of the beginning of this range. By default, the first line # of a buffer is 1; as such, line numbers are most commonly one-based. # # @api public # @return [Integer] line number of the beginning of this range. # @see Buffer # # source://parser//lib/parser/source/range.rb#83 def line; end # Return `true` iff this range is not disjoint from `other`. # # @api public # @param other [Range] # @return [Boolean] `true` if this range and `other` overlap # # source://parser//lib/parser/source/range.rb#250 def overlaps?(other); end # @api public # @param new_size [Integer] # @return [Range] a range beginning at the same point as this range and length `new_size`. # # source://parser//lib/parser/source/range.rb#201 def resize(new_size); end # @api public # @return [Integer] amount of characters included in this range. # # source://parser//lib/parser/source/range.rb#70 def size; end # @api public # @return [String] all source code covered by this range. # # source://parser//lib/parser/source/range.rb#132 def source; end # @api public # @return [Parser::Source::Buffer] # # source://parser//lib/parser/source/range.rb#29 def source_buffer; end # @api public # @return [String] a line of source code containing the beginning of this range. # # source://parser//lib/parser/source/range.rb#125 def source_line; end # @api public # @return [Array] a set of character indexes contained in this range. # # source://parser//lib/parser/source/range.rb#148 def to_a; end # @api public # @return [Range] a Ruby range with the same `begin_pos` and `end_pos` # # source://parser//lib/parser/source/range.rb#155 def to_range; end # Composes a GNU/Clang-style string representation of the beginning of this # range. # # For example, for the following range in file `foo.rb`, # # def foo # ^^^ # # `to_s` will return `foo.rb:1:5`. # Note that the column index is one-based. # # @api public # @return [String] # # source://parser//lib/parser/source/range.rb#173 def to_s; end # to the given value(s). # # @api public # @param Endpoint(s) [Hash] to change, any combination of :begin_pos or :end_pos # @return [Range] the same range as this range but with the given end point(s) changed # # source://parser//lib/parser/source/range.rb#184 def with(begin_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end end # {Rewriter} is deprecated. Use {TreeRewriter} instead. # # TreeRewriter has simplified semantics, and customizable policies # with regards to clobbering. Please read the documentation. # # Keep in mind: # - Rewriter was discarding the `end_pos` of the given range for `insert_before`, # and the `begin_pos` for `insert_after`. These are meaningful in TreeRewriter. # - TreeRewriter's wrap/insert_before/insert_after are multiple by default, while # Rewriter would raise clobbering errors if the non '_multi' version was called. # - The TreeRewriter policy closest to Rewriter's behavior is: # different_replacements: :raise, # swallowed_insertions: :raise, # crossing_deletions: :accept # # @api public # @deprecated Use {TreeRewriter} # # source://parser//lib/parser/source/rewriter.rb#31 class Parser::Source::Rewriter extend ::Parser::Deprecation # @api public # @deprecated Use {TreeRewriter} # @param source_buffer [Source::Buffer] # @return [Rewriter] a new instance of Rewriter # # source://parser//lib/parser/source/rewriter.rb#39 def initialize(source_buffer); end # @api public # @return [Diagnostic::Engine] # # source://parser//lib/parser/source/rewriter.rb#33 def diagnostics; end # Inserts new code after the given source range. # # @api public # @deprecated Use {TreeRewriter#insert_after} # @param range [Range] # @param content [String] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/rewriter.rb#131 def insert_after(range, content); end # Inserts new code after the given source range by allowing other # insertions at the same position. # Note that an insertion with latter invocation comes _after_ earlier # insertion at the same position in the rewritten source. # # @api public # @deprecated Use {TreeRewriter#insert_after} # @example Inserting ')]' # rewriter. # insert_after_multi(range, ')'). # insert_after_multi(range, ']'). # process # @param range [Range] # @param content [String] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/rewriter.rb#153 def insert_after_multi(range, content); end # Inserts new code before the given source range. # # @api public # @deprecated Use {TreeRewriter#insert_before} # @param range [Range] # @param content [String] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/rewriter.rb#80 def insert_before(range, content); end # Inserts new code before the given source range by allowing other # insertions at the same position. # Note that an insertion with latter invocation comes _before_ earlier # insertion at the same position in the rewritten source. # # @api public # @deprecated Use {TreeRewriter#insert_before} # @example Inserting '[(' # rewriter. # insert_before_multi(range, '('). # insert_before_multi(range, '['). # process # @param range [Range] # @param content [String] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/rewriter.rb#117 def insert_before_multi(range, content); end # Applies all scheduled changes to the `source_buffer` and returns # modified source as a new string. # # @api public # @deprecated Use {TreeRewriter#process} # @return [String] # # source://parser//lib/parser/source/rewriter.rb#178 def process; end # Removes the source range. # # @api public # @deprecated Use {TreeRewriter#remove} # @param range [Range] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/rewriter.rb#67 def remove(range); end # Replaces the code of the source range `range` with `content`. # # @api public # @deprecated Use {TreeRewriter#replace} # @param range [Range] # @param content [String] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/rewriter.rb#167 def replace(range, content); end # @api public # @return [Source::Buffer] # # source://parser//lib/parser/source/rewriter.rb#32 def source_buffer; end # Provides a protected block where a sequence of multiple rewrite actions # are handled atomically. If any of the actions failed by clobbering, # all the actions are rolled back. # # @api public # @deprecated Use {TreeRewriter#transaction} # @example # begin # rewriter.transaction do # rewriter.insert_before(range_of_something, '(') # rewriter.insert_after(range_of_something, ')') # end # rescue Parser::ClobberingError # end # @raise [RuntimeError] when no block is passed # @raise [RuntimeError] when already in a transaction # # source://parser//lib/parser/source/rewriter.rb#216 def transaction; end # Inserts new code before and after the given source range. # # @api public # @deprecated Use {TreeRewriter#wrap} # @param range [Range] # @param before [String] # @param after [String] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/rewriter.rb#94 def wrap(range, before, after); end private # @api public # # source://parser//lib/parser/source/rewriter.rb#476 def active_clobber; end # @api public # # source://parser//lib/parser/source/rewriter.rb#484 def active_clobber=(value); end # @api public # # source://parser//lib/parser/source/rewriter.rb#480 def active_insertions; end # @api public # # source://parser//lib/parser/source/rewriter.rb#492 def active_insertions=(value); end # @api public # # source://parser//lib/parser/source/rewriter.rb#472 def active_queue; end # @api public # @return [Boolean] # # source://parser//lib/parser/source/rewriter.rb#500 def adjacent?(range1, range2); end # @api public # # source://parser//lib/parser/source/rewriter.rb#351 def adjacent_insertion_mask(range); end # @api public # @return [Boolean] # # source://parser//lib/parser/source/rewriter.rb#366 def adjacent_insertions?(range); end # @api public # # source://parser//lib/parser/source/rewriter.rb#347 def adjacent_position_mask(range); end # @api public # @return [Boolean] # # source://parser//lib/parser/source/rewriter.rb#377 def adjacent_updates?(range); end # Schedule a code update. If it overlaps with another update, check # whether they conflict, and raise a clobbering error if they do. # (As a special case, zero-length ranges at the same position are # considered to "overlap".) Otherwise, merge them. # # Updates which are adjacent to each other, but do not overlap, are also # merged. # # RULES: # # - Insertion ("replacing" a zero-length range): # - Two insertions at the same point conflict. This is true even # if the earlier insertion has already been merged with an adjacent # update, and even if they are both inserting the same text. # - An insertion never conflicts with a replace or remove operation # on its right or left side, which does not overlap it (in other # words, which does not update BOTH its right and left sides). # - An insertion always conflicts with a remove operation which spans # both its sides. # - An insertion conflicts with a replace operation which spans both its # sides, unless the replacement text is longer than the replaced text # by the size of the insertion (or more), and the portion of # replacement text immediately after the insertion position is # identical to the inserted text. # # - Removal operations never conflict with each other. # # - Replacement operations: # - Take the portion of each replacement text which falls within: # - The other operation's replaced region # - The other operation's replacement text, if it extends past the # end of its own replaced region (in other words, if the replacement # text is longer than the text it replaces) # - If and only if the taken texts are identical for both operations, # they do not conflict. # # @api public # # source://parser//lib/parser/source/rewriter.rb#280 def append(action); end # @api public # @return [Boolean] # # source://parser//lib/parser/source/rewriter.rb#389 def can_merge?(action, existing); end # @api public # @return [Boolean] # # source://parser//lib/parser/source/rewriter.rb#355 def clobbered_insertion?(insertion); end # @api public # # source://parser//lib/parser/source/rewriter.rb#343 def clobbered_position_mask(range); end # @api public # @return [Boolean] # # source://parser//lib/parser/source/rewriter.rb#468 def in_transaction?; end # @api public # # source://parser//lib/parser/source/rewriter.rb#410 def merge_actions(action, existing); end # @api public # # source://parser//lib/parser/source/rewriter.rb#419 def merge_actions!(action, existing); end # @api public # # source://parser//lib/parser/source/rewriter.rb#425 def merge_replacements(actions); end # @api public # @raise [ClobberingError] # # source://parser//lib/parser/source/rewriter.rb#450 def raise_clobber_error(action, existing); end # @api public # # source://parser//lib/parser/source/rewriter.rb#335 def record_insertion(range); end # @api public # # source://parser//lib/parser/source/rewriter.rb#339 def record_replace(range); end # @api public # # source://parser//lib/parser/source/rewriter.rb#445 def replace_actions(old, updated); end # @api public # @return [Boolean] # # source://parser//lib/parser/source/rewriter.rb#383 def replace_compatible_with_insertion?(replace, insertion); end end # source://parser//lib/parser/source/rewriter/action.rb#9 class Parser::Source::Rewriter::Action include ::Comparable # source://parser//lib/parser/source/rewriter/action.rb#15 def initialize(range, replacement = T.unsafe(nil), allow_multiple_insertions = T.unsafe(nil), order = T.unsafe(nil)); end # source://parser//lib/parser/source/rewriter/action.rb#24 def <=>(other); end # source://parser//lib/parser/source/rewriter/action.rb#12 def allow_multiple_insertions; end # source://parser//lib/parser/source/rewriter/action.rb#12 def allow_multiple_insertions?; end # source://parser//lib/parser/source/rewriter/action.rb#12 def order; end # source://parser//lib/parser/source/rewriter/action.rb#12 def range; end # source://parser//lib/parser/source/rewriter/action.rb#12 def replacement; end # source://parser//lib/parser/source/rewriter/action.rb#30 def to_s; end end # @api public # # source://parser//lib/parser/source/rewriter.rb#504 Parser::Source::Rewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String) # {TreeRewriter} performs the heavy lifting in the source rewriting process. # It schedules code updates to be performed in the correct order. # # For simple cases, the resulting source will be obvious. # # Examples for more complex cases follow. Assume these examples are acting on # the source `'puts(:hello, :world)`. The methods #wrap, #remove, etc. # receive a Range as first argument; for clarity, examples below use english # sentences and a string of raw code instead. # # ## Overlapping ranges: # # Any two rewriting actions on overlapping ranges will fail and raise # a `ClobberingError`, unless they are both deletions (covered next). # # * wrap ':hello, ' with '(' and ')' # * wrap ', :world' with '(' and ')' # => CloberringError # # ## Overlapping deletions: # # * remove ':hello, ' # * remove ', :world' # # The overlapping ranges are merged and `':hello, :world'` will be removed. # This policy can be changed. `:crossing_deletions` defaults to `:accept` # but can be set to `:warn` or `:raise`. # # ## Multiple actions at the same end points: # # Results will always be independent on the order they were given. # Exception: rewriting actions done on exactly the same range (covered next). # # Example: # * replace ', ' by ' => ' # * wrap ':hello, :world' with '{' and '}' # * replace ':world' with ':everybody' # * wrap ':world' with '[', ']' # # The resulting string will be `'puts({:hello => [:everybody]})'` # and this result is independent on the order the instructions were given in. # # Note that if the two "replace" were given as a single replacement of ', :world' # for ' => :everybody', the result would be a `ClobberingError` because of the wrap # in square brackets. # # ## Multiple wraps on same range: # * wrap ':hello' with '(' and ')' # * wrap ':hello' with '[' and ']' # # The wraps are combined in order given and results would be `'puts([(:hello)], :world)'`. # # ## Multiple replacements on same range: # * replace ':hello' by ':hi', then # * replace ':hello' by ':hey' # # The replacements are made in the order given, so the latter replacement # supersedes the former and ':hello' will be replaced by ':hey'. # # This policy can be changed. `:different_replacements` defaults to `:accept` # but can be set to `:warn` or `:raise`. # # ## Swallowed insertions: # wrap 'world' by '__', '__' # replace ':hello, :world' with ':hi' # # A containing replacement will swallow the contained rewriting actions # and `':hello, :world'` will be replaced by `':hi'`. # # This policy can be changed for swallowed insertions. `:swallowed_insertions` # defaults to `:accept` but can be set to `:warn` or `:raise` # # ## Implementation # The updates are organized in a tree, according to the ranges they act on # (where children are strictly contained by their parent), hence the name. # # @api public # # source://parser//lib/parser/source/tree_rewriter.rb#91 class Parser::Source::TreeRewriter extend ::Parser::Deprecation # @api public # @param source_buffer [Source::Buffer] # @return [TreeRewriter] a new instance of TreeRewriter # # source://parser//lib/parser/source/tree_rewriter.rb#98 def initialize(source_buffer, crossing_deletions: T.unsafe(nil), different_replacements: T.unsafe(nil), swallowed_insertions: T.unsafe(nil)); end # Returns a representation of the rewriter as nested insertions (:wrap) and replacements. # # rewriter.as_actions # =>[ [:wrap, 1...10, '(', ')'], # [:wrap, 2...6, '', '!'], # aka "insert_after" # [:replace, 2...4, 'foo'], # [:replace, 5...6, ''], # aka "removal" # ], # # Contrary to `as_replacements`, this representation is sufficient to recreate exactly # the rewriter. # # @api public # @return [Array<(Symbol, Range, String{, String})>] # # source://parser//lib/parser/source/tree_rewriter.rb#299 def as_nested_actions; end # Returns a representation of the rewriter as an ordered list of replacements. # # rewriter.as_replacements # => [ [1...1, '('], # [2...4, 'foo'], # [5...6, ''], # [6...6, '!'], # [10...10, ')'], # ] # # This representation is sufficient to recreate the result of `process` but it is # not sufficient to recreate completely the rewriter for further merging/actions. # See `as_nested_actions` # # @api public # @return [Array] an ordered list of pairs of range & replacement # # source://parser//lib/parser/source/tree_rewriter.rb#281 def as_replacements; end # @api public # @return [Diagnostic::Engine] # # source://parser//lib/parser/source/tree_rewriter.rb#93 def diagnostics; end # Returns true iff no (non trivial) update has been recorded # # @api public # @return [Boolean] # # source://parser//lib/parser/source/tree_rewriter.rb#125 def empty?; end # For special cases where one needs to merge a rewriter attached to a different source_buffer # or that needs to be offset. Policies of the receiver are used. # # @api public # @param rewriter [TreeRewriter] from different source_buffer # @param offset [Integer] # @raise [IndexError] if action ranges (once offset) don't fit the current buffer # @return [Rewriter] self # # source://parser//lib/parser/source/tree_rewriter.rb#168 def import!(foreign_rewriter, offset: T.unsafe(nil)); end # @api public # @return [Boolean] # # source://parser//lib/parser/source/tree_rewriter.rb#329 def in_transaction?; end # Shortcut for `wrap(range, nil, content)` # # @api public # @param range [Range] # @param content [String] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/tree_rewriter.rb#242 def insert_after(range, content); end # @api private # @deprecated Use insert_after or wrap # # source://parser//lib/parser/source/tree_rewriter.rb#351 def insert_after_multi(range, text); end # Shortcut for `wrap(range, content, nil)` # # @api public # @param range [Range] # @param content [String] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/tree_rewriter.rb#230 def insert_before(range, content); end # @api private # @deprecated Use insert_after or wrap # # source://parser//lib/parser/source/tree_rewriter.rb#342 def insert_before_multi(range, text); end # @api public # # source://parser//lib/parser/source/tree_rewriter.rb#334 def inspect; end # Returns a new rewriter that consists of the updates of the received # and the given argument. Policies of the receiver are used. # # @api public # @param with [Rewriter] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] merge of receiver and argument # # source://parser//lib/parser/source/tree_rewriter.rb#155 def merge(with); end # Merges the updates of argument with the receiver. # Policies of the receiver are used. # This action is atomic in that it won't change the receiver # unless it succeeds. # # @api public # @param with [Rewriter] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/tree_rewriter.rb#139 def merge!(with); end # Applies all scheduled changes to the `source_buffer` and returns # modified source as a new string. # # @api public # @return [String] # # source://parser//lib/parser/source/tree_rewriter.rb#252 def process; end # Shortcut for `replace(range, '')` # # @api public # @param range [Range] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/tree_rewriter.rb#217 def remove(range); end # Replaces the code of the source range `range` with `content`. # # @api public # @param range [Range] # @param content [String] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/tree_rewriter.rb#193 def replace(range, content); end # @api public # @return [Source::Buffer] # # source://parser//lib/parser/source/tree_rewriter.rb#92 def source_buffer; end # Provides a protected block where a sequence of multiple rewrite actions # are handled atomically. If any of the actions failed by clobbering, # all the actions are rolled back. Transactions can be nested. # # @api public # @raise [RuntimeError] when no block is passed # # source://parser//lib/parser/source/tree_rewriter.rb#310 def transaction; end # Inserts the given strings before and after the given range. # # @api public # @param range [Range] # @param insert_before [String, nil] # @param insert_after [String, nil] # @raise [ClobberingError] when clobbering is detected # @return [Rewriter] self # # source://parser//lib/parser/source/tree_rewriter.rb#206 def wrap(range, insert_before, insert_after); end protected # @api public # # source://parser//lib/parser/source/tree_rewriter.rb#365 def action_root; end private # @api public # # source://parser//lib/parser/source/tree_rewriter.rb#369 def action_summary; end # @api public # @raise [ArgumentError] # # source://parser//lib/parser/source/tree_rewriter.rb#392 def check_policy_validity; end # @api public # # source://parser//lib/parser/source/tree_rewriter.rb#404 def check_range_validity(range); end # @api public # # source://parser//lib/parser/source/tree_rewriter.rb#397 def combine(range, attributes); end # @api public # # source://parser//lib/parser/source/tree_rewriter.rb#411 def enforce_policy(event); end # @api public # @raise [Parser::ClobberingError] # # source://parser//lib/parser/source/tree_rewriter.rb#418 def trigger_policy(event, range: T.unsafe(nil), conflict: T.unsafe(nil), **arguments); end end # @api public # # source://parser//lib/parser/source/tree_rewriter.rb#391 Parser::Source::TreeRewriter::ACTIONS = T.let(T.unsafe(nil), Array) # source://parser//lib/parser/source/tree_rewriter/action.rb#13 class Parser::Source::TreeRewriter::Action # source://parser//lib/parser/source/tree_rewriter/action.rb#16 def initialize(range, enforcer, insert_before: T.unsafe(nil), replacement: T.unsafe(nil), insert_after: T.unsafe(nil), children: T.unsafe(nil)); end # source://parser//lib/parser/source/tree_rewriter/action.rb#28 def combine(action); end # source://parser//lib/parser/source/tree_rewriter/action.rb#67 def contract; end # source://parser//lib/parser/source/tree_rewriter/action.rb#33 def empty?; end # source://parser//lib/parser/source/tree_rewriter/action.rb#14 def insert_after; end # source://parser//lib/parser/source/tree_rewriter/action.rb#14 def insert_before; end # source://parser//lib/parser/source/tree_rewriter/action.rb#57 def insertion?; end # source://parser//lib/parser/source/tree_rewriter/action.rb#80 def moved(source_buffer, offset); end # source://parser//lib/parser/source/tree_rewriter/action.rb#49 def nested_actions; end # source://parser//lib/parser/source/tree_rewriter/action.rb#40 def ordered_replacements; end # source://parser//lib/parser/source/tree_rewriter/action.rb#14 def range; end # source://parser//lib/parser/source/tree_rewriter/action.rb#14 def replacement; end protected # source://parser//lib/parser/source/tree_rewriter/action.rb#158 def analyse_hierarchy(action); end # source://parser//lib/parser/source/tree_rewriter/action.rb#145 def bsearch_child_index(from = T.unsafe(nil)); end # source://parser//lib/parser/source/tree_rewriter/action.rb#224 def call_enforcer_for_merge(action); end # source://parser//lib/parser/source/tree_rewriter/action.rb#204 def check_fusible(action, *fusible); end # source://parser//lib/parser/source/tree_rewriter/action.rb#94 def children; end # source://parser//lib/parser/source/tree_rewriter/action.rb#129 def combine_children(more_children); end # source://parser//lib/parser/source/tree_rewriter/action.rb#102 def do_combine(action); end # source://parser//lib/parser/source/tree_rewriter/action.rb#135 def fuse_deletions(action, fusible, other_sibblings); end # source://parser//lib/parser/source/tree_rewriter/action.rb#215 def merge(action); end # source://parser//lib/parser/source/tree_rewriter/action.rb#110 def place_in_hierarchy(action); end # source://parser//lib/parser/source/tree_rewriter/action.rb#232 def swallow(children); end # source://parser//lib/parser/source/tree_rewriter/action.rb#96 def with(range: T.unsafe(nil), enforcer: T.unsafe(nil), children: T.unsafe(nil), insert_before: T.unsafe(nil), replacement: T.unsafe(nil), insert_after: T.unsafe(nil)); end end # @api public # # source://parser//lib/parser/source/tree_rewriter.rb#356 Parser::Source::TreeRewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String) # @api public # # source://parser//lib/parser/source/tree_rewriter.rb#417 Parser::Source::TreeRewriter::POLICY_TO_LEVEL = T.let(T.unsafe(nil), Hash) # source://parser//lib/parser/static_environment.rb#5 class Parser::StaticEnvironment # @return [StaticEnvironment] a new instance of StaticEnvironment # # source://parser//lib/parser/static_environment.rb#11 def initialize; end # source://parser//lib/parser/static_environment.rb#40 def declare(name); end # source://parser//lib/parser/static_environment.rb#58 def declare_anonymous_blockarg; end # source://parser//lib/parser/static_environment.rb#74 def declare_anonymous_kwrestarg; end # source://parser//lib/parser/static_environment.rb#66 def declare_anonymous_restarg; end # source://parser//lib/parser/static_environment.rb#50 def declare_forward_args; end # @return [Boolean] # # source://parser//lib/parser/static_environment.rb#46 def declared?(name); end # @return [Boolean] # # source://parser//lib/parser/static_environment.rb#62 def declared_anonymous_blockarg?; end # @return [Boolean] # # source://parser//lib/parser/static_environment.rb#78 def declared_anonymous_kwrestarg?; end # @return [Boolean] # # source://parser//lib/parser/static_environment.rb#70 def declared_anonymous_restarg?; end # @return [Boolean] # # source://parser//lib/parser/static_environment.rb#54 def declared_forward_args?; end # @return [Boolean] # # source://parser//lib/parser/static_environment.rb#82 def empty?; end # source://parser//lib/parser/static_environment.rb#27 def extend_dynamic; end # source://parser//lib/parser/static_environment.rb#20 def extend_static; end # source://parser//lib/parser/static_environment.rb#15 def reset; end # source://parser//lib/parser/static_environment.rb#34 def unextend; end end # source://parser//lib/parser/static_environment.rb#7 Parser::StaticEnvironment::ANONYMOUS_BLOCKARG = T.let(T.unsafe(nil), Symbol) # source://parser//lib/parser/static_environment.rb#9 Parser::StaticEnvironment::ANONYMOUS_KWRESTARG = T.let(T.unsafe(nil), Symbol) # source://parser//lib/parser/static_environment.rb#8 Parser::StaticEnvironment::ANONYMOUS_RESTARG = T.let(T.unsafe(nil), Symbol) # source://parser//lib/parser/static_environment.rb#6 Parser::StaticEnvironment::FORWARD_ARGS = T.let(T.unsafe(nil), Symbol) # {Parser::SyntaxError} is raised whenever parser detects a syntax error, # similar to the standard SyntaxError class. # # @api public # # source://parser//lib/parser/syntax_error.rb#13 class Parser::SyntaxError < ::StandardError # @api public # @return [SyntaxError] a new instance of SyntaxError # # source://parser//lib/parser/syntax_error.rb#16 def initialize(diagnostic); end # @api public # @return [Parser::Diagnostic] # # source://parser//lib/parser/syntax_error.rb#14 def diagnostic; end end # {Parser::TreeRewriter} offers a basic API that makes it easy to rewrite # existing ASTs. It's built on top of {Parser::AST::Processor} and # {Parser::Source::TreeRewriter} # # For example, assume you want to remove `do` tokens from a while statement. # You can do this as following: # # require 'parser/current' # # class RemoveDo < Parser::TreeRewriter # def on_while(node) # # Check if the statement starts with "do" # if node.location.begin.is?('do') # remove(node.location.begin) # end # end # end # # code = <<-EOF # while true do # puts 'hello' # end # EOF # # ast = Parser::CurrentRuby.parse code # buffer = Parser::Source::Buffer.new('(example)', source: code) # rewriter = RemoveDo.new # # # Rewrite the AST, returns a String with the new form. # puts rewriter.rewrite(buffer, ast) # # This would result in the following Ruby code: # # while true # puts 'hello' # end # # Keep in mind that {Parser::TreeRewriter} does not take care of indentation when # inserting/replacing code so you'll have to do this yourself. # # See also [a blog entry](http://whitequark.org/blog/2013/04/26/lets-play-with-ruby-code/) # describing rewriters in greater detail. # # @api public # # source://parser//lib/parser/tree_rewriter.rb#61 class Parser::TreeRewriter < ::Parser::AST::Processor # Returns `true` if the specified node is an assignment node, returns false # otherwise. # # @api public # @param node [Parser::AST::Node] # @return [Boolean] # # source://parser//lib/parser/tree_rewriter.rb#79 def assignment?(node); end # Inserts new code after the given source range. # # @api public # @param range [Parser::Source::Range] # @param content [String] # # source://parser//lib/parser/tree_rewriter.rb#118 def insert_after(range, content); end # Inserts new code before the given source range. # # @api public # @param range [Parser::Source::Range] # @param content [String] # # source://parser//lib/parser/tree_rewriter.rb#108 def insert_before(range, content); end # Removes the source range. # # @api public # @param range [Parser::Source::Range] # # source://parser//lib/parser/tree_rewriter.rb#88 def remove(range); end # Replaces the code of the source range `range` with `content`. # # @api public # @param range [Parser::Source::Range] # @param content [String] # # source://parser//lib/parser/tree_rewriter.rb#128 def replace(range, content); end # Rewrites the AST/source buffer and returns a String containing the new # version. # # @api public # @param source_buffer [Parser::Source::Buffer] # @param ast [Parser::AST::Node] # @param crossing_deletions:, [Symbol] different_replacements:, swallowed_insertions: # policy arguments for TreeRewriter (optional) # @return [String] # # source://parser//lib/parser/tree_rewriter.rb#62 def rewrite(source_buffer, ast, **policy); end # Wraps the given source range with the given values. # # @api public # @param range [Parser::Source::Range] # @param content [String] # # source://parser//lib/parser/tree_rewriter.rb#98 def wrap(range, before, after); end end # source://parser//lib/parser/version.rb#4 Parser::VERSION = T.let(T.unsafe(nil), String) # source://parser//lib/parser/variables_stack.rb#5 class Parser::VariablesStack # @return [VariablesStack] a new instance of VariablesStack # # source://parser//lib/parser/variables_stack.rb#6 def initialize; end # source://parser//lib/parser/variables_stack.rb#27 def declare(name); end # @return [Boolean] # # source://parser//lib/parser/variables_stack.rb#31 def declared?(name); end # @return [Boolean] # # source://parser//lib/parser/variables_stack.rb#11 def empty?; end # source://parser//lib/parser/variables_stack.rb#19 def pop; end # source://parser//lib/parser/variables_stack.rb#15 def push; end # source://parser//lib/parser/variables_stack.rb#23 def reset; end end