sorbet/rbi/gems/parser@3.2.0.0.rbi
# 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#76
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<Parser::Source::Range>]
# @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<Parser::Source::Range>]
#
# 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<String>]
#
# 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<String>]
#
# 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#11148
def initialize(version); end
# Return next token: [type, value].
#
# source://parser//lib/parser/lexer-F1.rb#11323
def advance; end
# Returns the value of attribute cmdarg.
#
# source://parser//lib/parser/lexer-F1.rb#11142
def cmdarg; end
# Sets the attribute cmdarg
#
# @param value the value to set the attribute cmdarg to.
#
# source://parser//lib/parser/lexer-F1.rb#11142
def cmdarg=(_arg0); end
# Returns the value of attribute cmdarg_stack.
#
# source://parser//lib/parser/lexer-F1.rb#11146
def cmdarg_stack; end
# Returns the value of attribute command_start.
#
# source://parser//lib/parser/lexer-F1.rb#11142
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#11142
def command_start=(_arg0); end
# Returns the value of attribute comments.
#
# source://parser//lib/parser/lexer-F1.rb#11144
def comments; end
# Sets the attribute comments
#
# @param value the value to set the attribute comments to.
#
# source://parser//lib/parser/lexer-F1.rb#11144
def comments=(_arg0); end
# Returns the value of attribute cond.
#
# source://parser//lib/parser/lexer-F1.rb#11142
def cond; end
# Sets the attribute cond
#
# @param value the value to set the attribute cond to.
#
# source://parser//lib/parser/lexer-F1.rb#11142
def cond=(_arg0); end
# Returns the value of attribute cond_stack.
#
# source://parser//lib/parser/lexer-F1.rb#11146
def cond_stack; end
# Returns the value of attribute context.
#
# source://parser//lib/parser/lexer-F1.rb#11142
def context; end
# Sets the attribute context
#
# @param value the value to set the attribute context to.
#
# source://parser//lib/parser/lexer-F1.rb#11142
def context=(_arg0); end
# source://parser//lib/parser/lexer-F1.rb#11315
def dedent_level; end
# Returns the value of attribute diagnostics.
#
# source://parser//lib/parser/lexer-F1.rb#11138
def diagnostics; end
# Sets the attribute diagnostics
#
# @param value the value to set the attribute diagnostics to.
#
# source://parser//lib/parser/lexer-F1.rb#11138
def diagnostics=(_arg0); end
# source://parser//lib/parser/lexer-F1.rb#11265
def encoding; end
# Returns the value of attribute force_utf32.
#
# source://parser//lib/parser/lexer-F1.rb#11140
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#11140
def force_utf32=(_arg0); end
# Returns the value of attribute lambda_stack.
#
# source://parser//lib/parser/lexer-F1.rb#11146
def lambda_stack; end
# Returns the value of attribute paren_nest.
#
# source://parser//lib/parser/lexer-F1.rb#11146
def paren_nest; end
# source://parser//lib/parser/lexer-F1.rb#11302
def pop_cmdarg; end
# source://parser//lib/parser/lexer-F1.rb#11311
def pop_cond; end
# source://parser//lib/parser/lexer-F1.rb#11297
def push_cmdarg; end
# source://parser//lib/parser/lexer-F1.rb#11306
def push_cond; end
# source://parser//lib/parser/lexer-F1.rb#11179
def reset(reset_state = T.unsafe(nil)); end
# Returns the value of attribute source_buffer.
#
# source://parser//lib/parser/lexer-F1.rb#11136
def source_buffer; end
# source://parser//lib/parser/lexer-F1.rb#11244
def source_buffer=(source_buffer); end
# source://parser//lib/parser/lexer-F1.rb#11289
def state; end
# source://parser//lib/parser/lexer-F1.rb#11293
def state=(state); end
# Returns the value of attribute static_env.
#
# source://parser//lib/parser/lexer-F1.rb#11139
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#11139
def static_env=(_arg0); end
# Returns the value of attribute tokens.
#
# source://parser//lib/parser/lexer-F1.rb#11144
def tokens; end
# Sets the attribute tokens
#
# @param value the value to set the attribute tokens to.
#
# source://parser//lib/parser/lexer-F1.rb#11144
def tokens=(_arg0); end
# Returns the value of attribute version.
#
# source://parser//lib/parser/lexer-F1.rb#11146
def version; end
protected
# source://parser//lib/parser/lexer-F1.rb#20732
def arg_or_cmdarg(cmd_state); end
# source://parser//lib/parser/lexer-F1.rb#21096
def check_ambiguous_slash(tm); end
# source://parser//lib/parser/lexer-F1.rb#21144
def check_invalid_escapes(p); end
# source://parser//lib/parser/lexer-F1.rb#20756
def diagnostic(type, reason, arguments = T.unsafe(nil), location = T.unsafe(nil), highlights = T.unsafe(nil)); end
# source://parser//lib/parser/lexer-F1.rb#21047
def e_heredoc_nl(p); end
# source://parser//lib/parser/lexer-F1.rb#20901
def e_lbrace; end
# source://parser//lib/parser/lexer-F1.rb#20706
def emit(type, value = T.unsafe(nil), s = T.unsafe(nil), e = T.unsafe(nil)); end
# source://parser//lib/parser/lexer-F1.rb#21086
def emit_character_constant; end
# source://parser//lib/parser/lexer-F1.rb#21129
def emit_colon_with_digits(p, tm, diag_msg); end
# source://parser//lib/parser/lexer-F1.rb#20740
def emit_comment(s = T.unsafe(nil), e = T.unsafe(nil)); end
# source://parser//lib/parser/lexer-F1.rb#20752
def emit_comment_from_range(p, pe); end
# source://parser//lib/parser/lexer-F1.rb#20722
def emit_do(do_block = T.unsafe(nil)); end
# source://parser//lib/parser/lexer-F1.rb#21107
def emit_global_var; end
# @return [Boolean]
#
# source://parser//lib/parser/lexer-F1.rb#20816
def emit_invalid_escapes?; end
# source://parser//lib/parser/lexer-F1.rb#21117
def emit_rbrace_rparen_rbrack; end
# source://parser//lib/parser/lexer-F1.rb#21139
def emit_singleton_class; end
# source://parser//lib/parser/lexer-F1.rb#20716
def emit_table(table, s = T.unsafe(nil), e = T.unsafe(nil)); end
# source://parser//lib/parser/lexer-F1.rb#20694
def encode_escape(ord); end
# source://parser//lib/parser/lexer-F1.rb#21074
def encode_escaped_char(p); end
# @return [Boolean]
#
# source://parser//lib/parser/lexer-F1.rb#20681
def eof_codepoint?(point); end
# source://parser//lib/parser/lexer-F1.rb#20886
def extend_interp_code(current_literal); end
# source://parser//lib/parser/lexer-F1.rb#20910
def extend_interp_digit_var; end
# source://parser//lib/parser/lexer-F1.rb#21065
def extend_interp_var(current_literal); end
# source://parser//lib/parser/lexer-F1.rb#20919
def extend_string_eol_check_eof(current_literal, pe); end
# source://parser//lib/parser/lexer-F1.rb#20936
def extend_string_eol_heredoc_intertwined(p); end
# source://parser//lib/parser/lexer-F1.rb#20926
def extend_string_eol_heredoc_line; end
# source://parser//lib/parser/lexer-F1.rb#20952
def extend_string_eol_words(current_literal, p); end
# String escaping
#
# source://parser//lib/parser/lexer-F1.rb#20830
def extend_string_escaped; end
# source://parser//lib/parser/lexer-F1.rb#20972
def extend_string_for_token_range(current_literal, string); end
# source://parser//lib/parser/lexer-F1.rb#20964
def extend_string_slice_end(lookahead); end
# source://parser//lib/parser/lexer-F1.rb#20799
def literal; end
# source://parser//lib/parser/lexer-F1.rb#20771
def next_state_for_literal(literal); end
# source://parser//lib/parser/lexer-F1.rb#20988
def numeric_literal_int; end
# source://parser//lib/parser/lexer-F1.rb#20803
def pop_literal; end
# === LITERAL STACK ===
#
# source://parser//lib/parser/lexer-F1.rb#20765
def push_literal(*args); end
# source://parser//lib/parser/lexer-F1.rb#20702
def range(s = T.unsafe(nil), e = T.unsafe(nil)); end
# source://parser//lib/parser/lexer-F1.rb#21057
def read_post_meta_or_ctrl_char(p); end
# source://parser//lib/parser/lexer-F1.rb#21078
def slash_c_char; end
# source://parser//lib/parser/lexer-F1.rb#21082
def slash_m_char; end
# source://parser//lib/parser/lexer-F1.rb#20689
def stack_pop; end
# source://parser//lib/parser/lexer-F1.rb#20698
def tok(s = T.unsafe(nil), e = T.unsafe(nil)); end
# source://parser//lib/parser/lexer-F1.rb#20976
def unescape_char(p); end
# source://parser//lib/parser/lexer-F1.rb#21007
def unicode_points(p); end
# @return [Boolean]
#
# source://parser//lib/parser/lexer-F1.rb#20685
def version?(*versions); end
class << self
# Returns the value of attribute lex_en_expr_arg.
#
# source://parser//lib/parser/lexer-F1.rb#11080
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#11080
def lex_en_expr_arg=(_arg0); end
# Returns the value of attribute lex_en_expr_beg.
#
# source://parser//lib/parser/lexer-F1.rb#11096
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#11096
def lex_en_expr_beg=(_arg0); end
# Returns the value of attribute lex_en_expr_cmdarg.
#
# source://parser//lib/parser/lexer-F1.rb#11084
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#11084
def lex_en_expr_cmdarg=(_arg0); end
# Returns the value of attribute lex_en_expr_dot.
#
# source://parser//lib/parser/lexer-F1.rb#11076
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#11076
def lex_en_expr_dot=(_arg0); end
# Returns the value of attribute lex_en_expr_end.
#
# source://parser//lib/parser/lexer-F1.rb#11108
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#11108
def lex_en_expr_end=(_arg0); end
# Returns the value of attribute lex_en_expr_endarg.
#
# source://parser//lib/parser/lexer-F1.rb#11088
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#11088
def lex_en_expr_endarg=(_arg0); end
# Returns the value of attribute lex_en_expr_endfn.
#
# source://parser//lib/parser/lexer-F1.rb#11072
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#11072
def lex_en_expr_endfn=(_arg0); end
# Returns the value of attribute lex_en_expr_fname.
#
# source://parser//lib/parser/lexer-F1.rb#11068
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#11068
def lex_en_expr_fname=(_arg0); end
# Returns the value of attribute lex_en_expr_labelarg.
#
# source://parser//lib/parser/lexer-F1.rb#11100
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#11100
def lex_en_expr_labelarg=(_arg0); end
# Returns the value of attribute lex_en_expr_mid.
#
# source://parser//lib/parser/lexer-F1.rb#11092
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#11092
def lex_en_expr_mid=(_arg0); end
# Returns the value of attribute lex_en_expr_value.
#
# source://parser//lib/parser/lexer-F1.rb#11104
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#11104
def lex_en_expr_value=(_arg0); end
# Returns the value of attribute lex_en_expr_variable.
#
# source://parser//lib/parser/lexer-F1.rb#11064
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#11064
def lex_en_expr_variable=(_arg0); end
# Returns the value of attribute lex_en_interp_backslash_delimited.
#
# source://parser//lib/parser/lexer-F1.rb#11044
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-F1.rb#11044
def lex_en_interp_backslash_delimited=(_arg0); end
# Returns the value of attribute lex_en_interp_backslash_delimited_words.
#
# source://parser//lib/parser/lexer-F1.rb#11052
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-F1.rb#11052
def lex_en_interp_backslash_delimited_words=(_arg0); end
# Returns the value of attribute lex_en_interp_string.
#
# source://parser//lib/parser/lexer-F1.rb#11032
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-F1.rb#11032
def lex_en_interp_string=(_arg0); end
# Returns the value of attribute lex_en_interp_words.
#
# source://parser//lib/parser/lexer-F1.rb#11028
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-F1.rb#11028
def lex_en_interp_words=(_arg0); end
# Returns the value of attribute lex_en_leading_dot.
#
# source://parser//lib/parser/lexer-F1.rb#11112
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#11112
def lex_en_leading_dot=(_arg0); end
# Returns the value of attribute lex_en_line_begin.
#
# source://parser//lib/parser/lexer-F1.rb#11120
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#11120
def lex_en_line_begin=(_arg0); end
# Returns the value of attribute lex_en_line_comment.
#
# source://parser//lib/parser/lexer-F1.rb#11116
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#11116
def lex_en_line_comment=(_arg0); end
# Returns the value of attribute lex_en_plain_backslash_delimited.
#
# source://parser//lib/parser/lexer-F1.rb#11048
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-F1.rb#11048
def lex_en_plain_backslash_delimited=(_arg0); end
# Returns the value of attribute lex_en_plain_backslash_delimited_words.
#
# source://parser//lib/parser/lexer-F1.rb#11056
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-F1.rb#11056
def lex_en_plain_backslash_delimited_words=(_arg0); end
# Returns the value of attribute lex_en_plain_string.
#
# source://parser//lib/parser/lexer-F1.rb#11040
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-F1.rb#11040
def lex_en_plain_string=(_arg0); end
# Returns the value of attribute lex_en_plain_words.
#
# source://parser//lib/parser/lexer-F1.rb#11036
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-F1.rb#11036
def lex_en_plain_words=(_arg0); end
# Returns the value of attribute lex_en_regexp_modifiers.
#
# source://parser//lib/parser/lexer-F1.rb#11060
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-F1.rb#11060
def lex_en_regexp_modifiers=(_arg0); end
# Returns the value of attribute lex_error.
#
# source://parser//lib/parser/lexer-F1.rb#11023
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#11023
def lex_error=(_arg0); end
# Returns the value of attribute lex_start.
#
# source://parser//lib/parser/lexer-F1.rb#11019
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#11019
def lex_start=(_arg0); end
private
# Returns the value of attribute _lex_eof_trans.
#
# source://parser//lib/parser/lexer-F1.rb#10886
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#10886
def _lex_eof_trans=(_arg0); end
# Returns the value of attribute _lex_from_state_actions.
#
# source://parser//lib/parser/lexer-F1.rb#10753
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#10753
def _lex_from_state_actions=(_arg0); end
# Returns the value of attribute _lex_index_offsets.
#
# source://parser//lib/parser/lexer-F1.rb#604
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#604
def _lex_index_offsets=(_arg0); end
# Returns the value of attribute _lex_indicies.
#
# source://parser//lib/parser/lexer-F1.rb#737
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#737
def _lex_indicies=(_arg0); end
# Returns the value of attribute _lex_key_spans.
#
# source://parser//lib/parser/lexer-F1.rb#471
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#471
def _lex_key_spans=(_arg0); end
# Returns the value of attribute _lex_to_state_actions.
#
# source://parser//lib/parser/lexer-F1.rb#10620
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#10620
def _lex_to_state_actions=(_arg0); end
# Returns the value of attribute _lex_trans_actions.
#
# source://parser//lib/parser/lexer-F1.rb#10420
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#10420
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#10220
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#10220
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#11128
Parser::Lexer::ESCAPES = T.let(T.unsafe(nil), Hash)
# source://parser//lib/parser/lexer-F1.rb#21192
Parser::Lexer::ESCAPE_WHITESPACE = T.let(T.unsafe(nil), Hash)
# source://parser//lib/parser/lexer-F1.rb#21178
Parser::Lexer::KEYWORDS = T.let(T.unsafe(nil), Hash)
# source://parser//lib/parser/lexer-F1.rb#21185
Parser::Lexer::KEYWORDS_BEGIN = T.let(T.unsafe(nil), Hash)
# source://parser//lib/parser/lexer-F1.rb#11269
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#21152
Parser::Lexer::PUNCTUATION = T.let(T.unsafe(nil), Hash)
# source://parser//lib/parser/lexer-F1.rb#21172
Parser::Lexer::PUNCTUATION_BEGIN = T.let(T.unsafe(nil), Hash)
# source://parser//lib/parser/lexer-F1.rb#11134
Parser::Lexer::REGEXP_META_CHARACTERS = T.let(T.unsafe(nil), Regexp)
# 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
# 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<String>]
#
# 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<Comment>]
# @return [Hash<Parser::AST::Node, Array<Comment>>]
# @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<Comment>]
# @return [Hash<Parser::Source::Node, Array<Comment>>]
# @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<Comment>]
# @return [Hash<Parser::Source::Map, Array<Comment>>]
# @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 (`<<HERE`),
# not the here document itself.
#
# All ranges except `expression` are defined by {Map} subclasses.
#
# Ranges (except `expression`) can be `nil` if the corresponding token is
# not present in source. For example, a hash may not have opening/closing
# braces, and so would its source map.
#
# p Parser::CurrentRuby.parse('[1 => 2]').children[0].loc
# # => <Parser::Source::Map::Collection:0x007f5492b547d8
# # @end=nil, @begin=nil,
# # @expression=#<Source::Range (string) 1...7>>
#
# 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
# # => #<Parser::Source::Map::Collection:0x007f14b80eccd8
# # @end=#<Source::Range (string) 5...6>,
# # @begin=#<Source::Range (string) 0...1>,
# # @expression=#<Source::Range (string) 0...6>>
#
# 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 => #<Source::Range (string) 0...1>,
# # :end => #<Source::Range (string) 5...6>,
# # :expression => #<Source::Range (string) 0...6>
# # }
# @return [Hash<Symbol, Parser::Source::Range>]
#
# 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<Integer>] 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<Range, String>] 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