]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/equalizer.rb#20
- def initialize(*keys); end
-
- private
-
- # source://unparser//lib/unparser/equalizer.rb#39
- def define_cmp_method; end
-
- # source://unparser//lib/unparser/equalizer.rb#49
- def define_hash_method; end
-
- # source://unparser//lib/unparser/equalizer.rb#56
- def define_inspect_method; end
-
- # source://unparser//lib/unparser/equalizer.rb#33
- def define_methods; end
-
- # source://unparser//lib/unparser/equalizer.rb#29
- def included(descendant); end
-end
-
-# The comparison methods
-#
-# source://unparser//lib/unparser/equalizer.rb#66
-module Unparser::Equalizer::Methods
- # Compare the object with other object for equivalency
- #
- # @api public
- # @example
- # object == other # => true or false
- # @param other [Object] the other object to compare with
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/equalizer.rb#93
- def ==(other); end
-
- # Compare the object with other object for equality
- #
- # @api public
- # @example
- # object.eql?(other) # => true or false
- # @param other [Object] the other object to compare with
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/equalizer.rb#78
- def eql?(other); end
-end
-
-# source://unparser//lib/unparser/generation.rb#5
-module Unparser::Generation
- # source://unparser//lib/unparser/generation.rb#10
- def emit_heredoc_reminders; end
-
- # source://unparser//lib/unparser/generation.rb#12
- def symbol_name; end
-
- # source://unparser//lib/unparser/generation.rb#14
- def write_to_buffer; end
-
- private
-
- # source://unparser//lib/unparser/generation.rb#247
- def children; end
-
- # source://unparser//lib/unparser/generation.rb#239
- def conditional_parentheses(flag, &block); end
-
- # source://unparser//lib/unparser/generation.rb#21
- def delimited(nodes, delimiter = T.unsafe(nil), &block); end
-
- # source://unparser//lib/unparser/generation.rb#123
- def emit_body(node, indent: T.unsafe(nil)); end
-
- # source://unparser//lib/unparser/generation.rb#196
- def emit_body_ensure_rescue(node); end
-
- # source://unparser//lib/unparser/generation.rb#145
- def emit_body_inner(node); end
-
- # source://unparser//lib/unparser/generation.rb#158
- def emit_body_member(node); end
-
- # source://unparser//lib/unparser/generation.rb#180
- def emit_body_rescue(node); end
-
- # source://unparser//lib/unparser/generation.rb#77
- def emit_comments(comments); end
-
- # source://unparser//lib/unparser/generation.rb#69
- def emit_comments_before(source_part = T.unsafe(nil)); end
-
- # source://unparser//lib/unparser/generation.rb#166
- def emit_ensure(node); end
-
- # source://unparser//lib/unparser/generation.rb#60
- def emit_eof_comments; end
-
- # source://unparser//lib/unparser/generation.rb#54
- def emit_eol_comments; end
-
- # source://unparser//lib/unparser/generation.rb#27
- def emit_join(nodes, emit_node, emit_delimiter); end
-
- # source://unparser//lib/unparser/generation.rb#115
- def emit_optional_body(node, indent: T.unsafe(nil)); end
-
- # source://unparser//lib/unparser/generation.rb#188
- def emit_optional_body_ensure_rescue(node); end
-
- # source://unparser//lib/unparser/generation.rb#206
- def emit_rescue_postcontrol(node); end
-
- # source://unparser//lib/unparser/generation.rb#212
- def emit_rescue_regular(node); end
-
- # source://unparser//lib/unparser/generation.rb#220
- def emitter(node); end
-
- # source://unparser//lib/unparser/generation.rb#235
- def first_child; end
-
- # source://unparser//lib/unparser/generation.rb#106
- def indented; end
-
- # source://unparser//lib/unparser/generation.rb#93
- def k_end; end
-
- # source://unparser//lib/unparser/generation.rb#39
- def nl; end
-
- # source://unparser//lib/unparser/generation.rb#100
- def parentheses(open = T.unsafe(nil), close = T.unsafe(nil)); end
-
- # source://unparser//lib/unparser/generation.rb#224
- def visit(node); end
-
- # source://unparser//lib/unparser/generation.rb#228
- def visit_deep(node); end
-
- # source://unparser//lib/unparser/generation.rb#44
- def with_comments; end
-
- # source://unparser//lib/unparser/generation.rb#89
- def write(*strings); end
-
- # source://unparser//lib/unparser/generation.rb#216
- def writer_with(klass, node); end
-
- # source://unparser//lib/unparser/generation.rb#50
- def ws; end
-end
-
-# source://unparser//lib/unparser/generation.rb#6
-Unparser::Generation::EXTRA_NL = T.let(T.unsafe(nil), Array)
-
-# Error raised when unparser encounters an invalid AST
-#
-# source://unparser//lib/unparser.rb#39
-class Unparser::InvalidNodeError < ::RuntimeError
- # @return [InvalidNodeError] a new instance of InvalidNodeError
- #
- # source://unparser//lib/unparser.rb#42
- def initialize(message, node); end
-
- # Returns the value of attribute node.
- #
- # source://unparser//lib/unparser.rb#40
- def node; end
-end
-
-# source://unparser//lib/unparser/node_details.rb#4
-module Unparser::NodeDetails
- include ::Unparser::NodeHelpers
- include ::Unparser::Constants
-
- private
-
- # source://unparser//lib/unparser/node_details.rb#17
- def children; end
-
- class << self
- # @private
- #
- # source://unparser//lib/unparser/node_details.rb#7
- def included(descendant); end
- end
-end
-
-# source://unparser//lib/unparser/node_details/send.rb#5
-class Unparser::NodeDetails::Send
- include ::Unparser::NodeHelpers
- include ::Unparser::Constants
- include ::Unparser::NodeDetails
- include ::Unparser::Equalizer::Methods
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
- extend ::Unparser::DSL
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def arguments(&block); end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/node_details/send.rb#36
- def arguments?; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def assignment?(&block); end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/node_details/send.rb#32
- def assignment_operator?; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/node_details/send.rb#21
- def binary_syntax_allowed?; end
-
- # source://unparser//lib/unparser/node_details/send.rb#40
- def non_assignment_selector; end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def receiver; end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def selector; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/node_details/send.rb#17
- def selector_binary_operator?; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/node_details/send.rb#28
- def selector_unary_operator?; end
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def string_selector(&block); end
-
- private
-
- # source://unparser//lib/unparser/dsl.rb#11
- def remaining_children; end
-end
-
-# source://unparser//lib/unparser/node_details/send.rb#8
-Unparser::NodeDetails::Send::ASSIGN_SUFFIX = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/node_details/send.rb#9
-Unparser::NodeDetails::Send::NON_ASSIGN_RANGE = T.let(T.unsafe(nil), Range)
-
-# source://unparser//lib/unparser/node_helpers.rb#4
-module Unparser::NodeHelpers
- # Helper for building nodes
- #
- # @api private
- # @param type [Symbol]
- # @param children [Array]
- # @return [Parser::AST::Node]
- #
- # source://unparser//lib/unparser/node_helpers.rb#26
- def n(type, children = T.unsafe(nil)); end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/node_helpers.rb#30
- def n?(type, node); end
-
- # Helper for building nodes
- #
- # @api private
- # @param type [Symbol]
- # @param children [Parser::AST::Node]
- # @return [Parser::AST::Node]
- #
- # source://unparser//lib/unparser/node_helpers.rb#14
- def s(type, *children); end
-
- # source://unparser//lib/unparser/node_helpers.rb#71
- def unwrap_single_begin(node); end
-
- private
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_arg?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_args?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_array?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_array_pattern?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_begin?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_block?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_cbase?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_const?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_dstr?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_empty_else?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_ensure?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_hash?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_hash_pattern?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_if?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_in_pattern?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_int?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_kwarg?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_kwargs?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_kwsplat?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_lambda?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_match_rest?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_pair?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_rescue?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_send?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_shadowarg?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_splat?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_str?(node); end
-
- # source://unparser//lib/unparser/node_helpers.rb#65
- def n_sym?(node); end
-end
-
-# source://unparser//lib/unparser/either.rb#4
-module Unparser::RequireBlock
- private
-
- # Raise error unless block is provided
- #
- # @raise [MissingBlockError] if no block is given
- # @return [self]
- #
- # source://unparser//lib/unparser/either.rb#14
- def require_block; end
-end
-
-# source://unparser//lib/unparser/emitter.rb#4
-class Unparser::UnknownNodeError < ::ArgumentError; end
-
-# Validation of unparser results
-#
-# source://unparser//lib/unparser/validation.rb#5
-class Unparser::Validation
- include ::Unparser::Anima::InstanceMethods
- include ::Unparser::Equalizer::Methods
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
-
- # source://unparser//lib/unparser/anima.rb#146
- def generated_node; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def generated_source; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def identification; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def original_node; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def original_source; end
-
- # Return error report
- #
- # @api private
- # @return [String]
- #
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def report(&block); end
-
- # Test if source could be unparsed successfully
- #
- # @api private
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/validation.rb#20
- def success?; end
-
- private
-
- # source://unparser//lib/unparser/validation.rb#106
- def make_report(label, attribute_name); end
-
- # source://unparser//lib/unparser/validation.rb#118
- def node_diff_report; end
-
- # source://unparser//lib/unparser/validation.rb#110
- def report_exception(exception); end
-
- class << self
- # source://unparser//lib/unparser/anima.rb#140
- def anima; end
-
- # Create validator from node
- #
- # @param original_node [Parser::AST::Node]
- # @return [Validator]
- #
- # source://unparser//lib/unparser/validation.rb#79
- def from_node(original_node); end
-
- # Create validator from file
- #
- # @param path [Pathname]
- # @return [Validator]
- #
- # source://unparser//lib/unparser/validation.rb#100
- def from_path(path); end
-
- # Create validator from string
- #
- # @param original_source [String]
- # @return [Validator]
- #
- # source://unparser//lib/unparser/validation.rb#53
- def from_string(original_source); end
-
- private
-
- # source://unparser//lib/unparser/validation.rb#133
- def const_unit(_value); end
- end
-end
-
-# source://unparser//lib/unparser/validation.rb#136
-class Unparser::Validation::Literal < ::Unparser::Validation
- # source://unparser//lib/unparser/validation.rb#141
- def report; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/validation.rb#137
- def success?; end
-
- private
-
- # source://unparser//lib/unparser/validation.rb#156
- def source_diff_report; end
-end
-
-# source://unparser//lib/unparser/writer.rb#4
-module Unparser::Writer
- include ::Unparser::NodeHelpers
- include ::Unparser::Generation
- include ::Unparser::Anima::InstanceMethods
- include ::Unparser::Equalizer::Methods
-
- mixes_in_class_methods ::Unparser::DSL
-
- class << self
- # @private
- #
- # source://unparser//lib/unparser/writer.rb#7
- def included(descendant); end
- end
-end
-
-# source://unparser//lib/unparser/writer/binary.rb#5
-class Unparser::Writer::Binary
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- include ::Unparser::NodeHelpers
- include ::Unparser::Generation
- include ::Unparser::Writer
- include ::Unparser::Anima::InstanceMethods
- include ::Unparser::Equalizer::Methods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
- extend ::Unparser::DSL
-
- # source://unparser//lib/unparser/anima.rb#146
- def buffer; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def comments; end
-
- # source://unparser//lib/unparser/writer/binary.rb#54
- def dispatch; end
-
- # source://unparser//lib/unparser/writer/binary.rb#46
- def emit_operator; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def local_variable_scope; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def node; end
-
- # source://unparser//lib/unparser/writer/binary.rb#50
- def symbol_name; end
-
- private
-
- # source://unparser//lib/unparser/writer/binary.rb#62
- def effective_symbol; end
-
- # source://unparser//lib/unparser/writer/binary.rb#74
- def emit_with(map); end
-
- # source://unparser//lib/unparser/writer/binary.rb#80
- def keyword_symbol; end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def left; end
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def left_emitter(&block); end
-
- # source://unparser//lib/unparser/writer/binary.rb#84
- def operator_symbol; end
-
- # source://unparser//lib/unparser/dsl.rb#11
- def remaining_children; end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def right; end
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def right_emitter(&block); end
-
- class << self
- # source://unparser//lib/unparser/anima.rb#140
- def anima; end
- end
-end
-
-# source://unparser//lib/unparser/writer/binary.rb#22
-Unparser::Writer::Binary::KEYWORD_SYMBOLS = T.let(T.unsafe(nil), Hash)
-
-# source://unparser//lib/unparser/writer/binary.rb#16
-Unparser::Writer::Binary::KEYWORD_TOKENS = T.let(T.unsafe(nil), Hash)
-
-# source://unparser//lib/unparser/writer/binary.rb#34
-Unparser::Writer::Binary::MAP = T.let(T.unsafe(nil), Hash)
-
-# source://unparser//lib/unparser/writer/binary.rb#42
-Unparser::Writer::Binary::NEED_KEYWORD = T.let(T.unsafe(nil), Array)
-
-# source://unparser//lib/unparser/writer/binary.rb#28
-Unparser::Writer::Binary::OPERATOR_SYMBOLS = T.let(T.unsafe(nil), Hash)
-
-# source://unparser//lib/unparser/writer/binary.rb#10
-Unparser::Writer::Binary::OPERATOR_TOKENS = T.let(T.unsafe(nil), Hash)
-
-# source://unparser//lib/unparser/writer/dynamic_string.rb#5
-class Unparser::Writer::DynamicString
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- include ::Unparser::NodeHelpers
- include ::Unparser::Generation
- include ::Unparser::Writer
- include ::Unparser::Anima::InstanceMethods
- include ::Unparser::Equalizer::Methods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
- extend ::Unparser::DSL
-
- # source://unparser//lib/unparser/anima.rb#146
- def buffer; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def comments; end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#32
- def dispatch; end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#25
- def emit_heredoc_reminder; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def local_variable_scope; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def node; end
-
- private
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/dynamic_string.rb#159
- def breakpoint?(child, current); end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#63
- def classify(node); end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#71
- def classify_str(node); end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#193
- def emit_body(children); end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#149
- def emit_dstr; end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#132
- def emit_dynamic(child); end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#145
- def emit_dynamic_component(node); end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#54
- def emit_heredoc_body; end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#59
- def emit_heredoc_footer; end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#50
- def emit_heredoc_header; end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#116
- def emit_normal_heredoc_body; end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#185
- def emit_segment(children, index); end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#128
- def escape_dynamic(string); end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/dynamic_string.rb#46
- def heredoc?; end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#42
- def heredoc_header; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/dynamic_string.rb#95
- def heredoc_pattern?; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/dynamic_string.rb#105
- def heredoc_pattern_2?; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/dynamic_string.rb#99
- def heredoc_pattern_3?; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/dynamic_string.rb#111
- def nl_last_child?; end
-
- # source://unparser//lib/unparser/writer/dynamic_string.rb#169
- def segments; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/dynamic_string.rb#87
- def str_empty?(node); end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/dynamic_string.rb#83
- def str_nl?(node); end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/dynamic_string.rb#91
- def str_ws?(node); end
-
- class << self
- # source://unparser//lib/unparser/anima.rb#140
- def anima; end
- end
-end
-
-# source://unparser//lib/unparser/writer/dynamic_string.rb#21
-Unparser::Writer::DynamicString::FLAT_INTERPOLATION = T.let(T.unsafe(nil), Set)
-
-# source://unparser//lib/unparser/writer/dynamic_string.rb#8
-Unparser::Writer::DynamicString::PATTERNS_2 = T.let(T.unsafe(nil), Array)
-
-# source://unparser//lib/unparser/writer/dynamic_string.rb#14
-Unparser::Writer::DynamicString::PATTERNS_3 = T.let(T.unsafe(nil), Array)
-
-# Writer for rescue bodies
-#
-# source://unparser//lib/unparser/writer/resbody.rb#6
-class Unparser::Writer::Resbody
- include ::Unparser::NodeHelpers
- include ::Unparser::Generation
- include ::Unparser::Writer
- include ::Unparser::Anima::InstanceMethods
- include ::Unparser::Equalizer::Methods
- extend ::Unparser::DSL
-
- # source://unparser//lib/unparser/anima.rb#146
- def buffer; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def comments; end
-
- # source://unparser//lib/unparser/writer/resbody.rb#11
- def emit_postcontrol; end
-
- # source://unparser//lib/unparser/writer/resbody.rb#16
- def emit_regular; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def local_variable_scope; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def node; end
-
- private
-
- # source://unparser//lib/unparser/dsl.rb#18
- def assignment; end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def body; end
-
- # source://unparser//lib/unparser/writer/resbody.rb#32
- def emit_assignment; end
-
- # source://unparser//lib/unparser/writer/resbody.rb#25
- def emit_exception; end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def exception; end
-
- # source://unparser//lib/unparser/dsl.rb#11
- def remaining_children; end
-
- class << self
- # source://unparser//lib/unparser/anima.rb#140
- def anima; end
- end
-end
-
-# source://unparser//lib/unparser/writer/rescue.rb#5
-class Unparser::Writer::Rescue
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- include ::Unparser::NodeHelpers
- include ::Unparser::Generation
- include ::Unparser::Writer
- include ::Unparser::Anima::InstanceMethods
- include ::Unparser::Equalizer::Methods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
- extend ::Unparser::DSL
-
- # source://unparser//lib/unparser/anima.rb#146
- def buffer; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def comments; end
-
- # source://unparser//lib/unparser/writer/rescue.rb#23
- def emit_heredoc_reminders; end
-
- # source://unparser//lib/unparser/writer/rescue.rb#27
- def emit_postcontrol; end
-
- # source://unparser//lib/unparser/writer/rescue.rb#12
- def emit_regular; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def local_variable_scope; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def node; end
-
- private
-
- # source://unparser//lib/unparser/dsl.rb#18
- def body; end
-
- # source://unparser//lib/unparser/writer/rescue.rb#34
- def else_node; end
-
- # source://unparser//lib/unparser/writer/rescue.rb#38
- def emit_rescue_body(node); end
-
- # source://unparser//lib/unparser/dsl.rb#11
- def remaining_children; end
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def rescue_bodies(&block); end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def rescue_body; end
-
- class << self
- # source://unparser//lib/unparser/anima.rb#140
- def anima; end
- end
-end
-
-# Writer for send
-#
-# source://unparser//lib/unparser/writer/send.rb#6
-class Unparser::Writer::Send
- include ::Unparser::NodeHelpers
- include ::Unparser::Generation
- include ::Unparser::Constants
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- include ::Unparser::Writer
- include ::Unparser::Anima::InstanceMethods
- include ::Unparser::Equalizer::Methods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
- extend ::Unparser::DSL
-
- # source://unparser//lib/unparser/anima.rb#146
- def buffer; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def comments; end
-
- # source://unparser//lib/unparser/writer/send.rb#21
- def dispatch; end
-
- # source://unparser//lib/unparser/writer/send.rb#33
- def emit_heredoc_reminders; end
-
- # source://unparser//lib/unparser/writer/send.rb#25
- def emit_mlhs; end
-
- # source://unparser//lib/unparser/writer/send.rb#29
- def emit_selector; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def local_variable_scope; end
-
- # source://unparser//lib/unparser/anima.rb#146
- def node; end
-
- private
-
- # source://unparser//lib/unparser/writer/send.rb#73
- def arguments; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/send.rb#85
- def avoid_clash?; end
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def details(&block); end
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def effective_writer(&block); end
-
- # source://unparser//lib/unparser/writer/send.rb#45
- def effective_writer_class; end
-
- # source://unparser//lib/unparser/writer/send.rb#65
- def emit_arguments; end
-
- # source://unparser//lib/unparser/writer/send.rb#81
- def emit_heredoc_reminder(argument); end
-
- # source://unparser//lib/unparser/writer/send.rb#77
- def emit_normal_arguments; end
-
- # source://unparser//lib/unparser/writer/send.rb#61
- def emit_operator; end
-
- # source://unparser//lib/unparser/writer/send.rb#106
- def emit_send_regular(node); end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/send.rb#89
- def local_variable_clash?; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/send.rb#93
- def parses_as_constant?; end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def receiver; end
-
- # source://unparser//lib/unparser/dsl.rb#11
- def remaining_children; end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def selector; end
-
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/writer/send.rb#57
- def write_as_attribute_assignment?; end
-
- class << self
- # source://unparser//lib/unparser/anima.rb#140
- def anima; end
- end
-end
-
-# Writer for send as attribute assignment
-#
-# source://unparser//lib/unparser/writer/send/attribute_assignment.rb#7
-class Unparser::Writer::Send::AttributeAssignment < ::Unparser::Writer::Send
- # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#10
- def dispatch; end
-
- # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#22
- def emit_send_mlhs; end
-
- private
-
- # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#34
- def emit_attribute; end
-
- # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#29
- def emit_receiver; end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def first_argument; end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def receiver; end
-
- # source://unparser//lib/unparser/dsl.rb#11
- def remaining_children; end
-
- # source://unparser//lib/unparser/dsl.rb#18
- def selector; end
-end
-
-# Writer for binary sends
-#
-# source://unparser//lib/unparser/writer/send/binary.rb#7
-class Unparser::Writer::Send::Binary < ::Unparser::Writer::Send
- # source://unparser//lib/unparser/writer/send/binary.rb#8
- def dispatch; end
-
- private
-
- # source://unparser//lib/unparser/writer/send/binary.rb#16
- def emit_operator; end
-
- # source://unparser//lib/unparser/writer/send/binary.rb#20
- def emit_right; end
-end
-
-# source://unparser//lib/unparser/writer/send.rb#9
-Unparser::Writer::Send::INDEX_ASSIGN = T.let(T.unsafe(nil), Symbol)
-
-# source://unparser//lib/unparser/writer/send.rb#10
-Unparser::Writer::Send::INDEX_REFERENCE = T.let(T.unsafe(nil), Symbol)
-
-# source://unparser//lib/unparser/writer/send.rb#12
-Unparser::Writer::Send::OPERATORS = T.let(T.unsafe(nil), Hash)
-
-# Writer for "regular" receiver.selector(arguments...) case
-#
-# source://unparser//lib/unparser/writer/send/regular.rb#7
-class Unparser::Writer::Send::Regular < ::Unparser::Writer::Send
- # source://unparser//lib/unparser/writer/send/regular.rb#8
- def dispatch; end
-
- # source://unparser//lib/unparser/writer/send/regular.rb#18
- def emit_arguments_without_heredoc_body; end
-
- # source://unparser//lib/unparser/writer/send/regular.rb#22
- def emit_receiver; end
-
- # source://unparser//lib/unparser/writer/send/regular.rb#14
- def emit_send_mlhs; end
-end
-
-# Writer for unary sends
-#
-# source://unparser//lib/unparser/writer/send/unary.rb#7
-class Unparser::Writer::Send::Unary < ::Unparser::Writer::Send
- # source://unparser//lib/unparser/writer/send/unary.rb#15
- def dispatch; end
-end
-
-# source://unparser//lib/unparser/writer/send/unary.rb#8
-Unparser::Writer::Send::Unary::MAP = T.let(T.unsafe(nil), Hash)
diff --git a/sorbet/rbi/gems/webrick@1.7.0.rbi b/sorbet/rbi/gems/webrick@1.7.0.rbi
deleted file mode 100644
index ec98e78f..00000000
--- a/sorbet/rbi/gems/webrick@1.7.0.rbi
+++ /dev/null
@@ -1,2555 +0,0 @@
-# typed: true
-
-# DO NOT EDIT MANUALLY
-# This is an autogenerated file for types exported from the `webrick` gem.
-# Please instead update this file by running `bin/tapioca gem webrick`.
-
-# AccessLog provides logging to various files in various formats.
-#
-# Multiple logs may be written to at the same time:
-#
-# access_log = [
-# [$stderr, WEBrick::AccessLog::COMMON_LOG_FORMAT],
-# [$stderr, WEBrick::AccessLog::REFERER_LOG_FORMAT],
-# ]
-#
-# server = WEBrick::HTTPServer.new :AccessLog => access_log
-#
-# Custom log formats may be defined. WEBrick::AccessLog provides a subset
-# of the formatting from Apache's mod_log_config
-# http://httpd.apache.org/docs/mod/mod_log_config.html#formats. See
-# AccessLog::setup_params for a list of supported options
-#
-# source://webrick//lib/webrick/accesslog.rb#30
-module WEBrick::AccessLog
- private
-
- # Escapes control characters in +data+
- #
- # source://webrick//lib/webrick/accesslog.rb#151
- def escape(data); end
-
- # Formats +params+ according to +format_string+ which is described in
- # setup_params.
- #
- # source://webrick//lib/webrick/accesslog.rb#123
- def format(format_string, params); end
-
- # This format specification is a subset of mod_log_config of Apache:
- #
- # %a:: Remote IP address
- # %b:: Total response size
- # %e{variable}:: Given variable in ENV
- # %f:: Response filename
- # %h:: Remote host name
- # %{header}i:: Given request header
- # %l:: Remote logname, always "-"
- # %m:: Request method
- # %{attr}n:: Given request attribute from req.attributes
- # %{header}o:: Given response header
- # %p:: Server's request port
- # %{format}p:: The canonical port of the server serving the request or the
- # actual port or the client's actual port. Valid formats are
- # canonical, local or remote.
- # %q:: Request query string
- # %r:: First line of the request
- # %s:: Request status
- # %t:: Time the request was received
- # %T:: Time taken to process the request
- # %u:: Remote user from auth
- # %U:: Unparsed URI
- # %%:: Literal %
- #
- # source://webrick//lib/webrick/accesslog.rb#95
- def setup_params(config, req, res); end
-
- class << self
- # Escapes control characters in +data+
- #
- # source://webrick//lib/webrick/accesslog.rb#151
- def escape(data); end
-
- # Formats +params+ according to +format_string+ which is described in
- # setup_params.
- #
- # source://webrick//lib/webrick/accesslog.rb#123
- def format(format_string, params); end
-
- # This format specification is a subset of mod_log_config of Apache:
- #
- # %a:: Remote IP address
- # %b:: Total response size
- # %e{variable}:: Given variable in ENV
- # %f:: Response filename
- # %h:: Remote host name
- # %{header}i:: Given request header
- # %l:: Remote logname, always "-"
- # %m:: Request method
- # %{attr}n:: Given request attribute from req.attributes
- # %{header}o:: Given response header
- # %p:: Server's request port
- # %{format}p:: The canonical port of the server serving the request or the
- # actual port or the client's actual port. Valid formats are
- # canonical, local or remote.
- # %q:: Request query string
- # %r:: First line of the request
- # %s:: Request status
- # %t:: Time the request was received
- # %T:: Time taken to process the request
- # %u:: Remote user from auth
- # %U:: Unparsed URI
- # %%:: Literal %
- #
- # source://webrick//lib/webrick/accesslog.rb#95
- def setup_params(config, req, res); end
- end
-end
-
-# A generic logging class
-#
-# source://webrick//lib/webrick/log.rb#17
-class WEBrick::BasicLog
- # Initializes a new logger for +log_file+ that outputs messages at +level+
- # or higher. +log_file+ can be a filename, an IO-like object that
- # responds to #<< or nil which outputs to $stderr.
- #
- # If no level is given INFO is chosen by default
- #
- # @return [BasicLog] a new instance of BasicLog
- #
- # source://webrick//lib/webrick/log.rb#50
- def initialize(log_file = T.unsafe(nil), level = T.unsafe(nil)); end
-
- # Synonym for log(INFO, obj.to_s)
- #
- # source://webrick//lib/webrick/log.rb#84
- def <<(obj); end
-
- # Closes the logger (also closes the log device associated to the logger)
- #
- # source://webrick//lib/webrick/log.rb#66
- def close; end
-
- # Shortcut for logging a DEBUG message
- #
- # source://webrick//lib/webrick/log.rb#97
- def debug(msg); end
-
- # Will the logger output DEBUG messages?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/log.rb#108
- def debug?; end
-
- # Shortcut for logging an ERROR message
- #
- # source://webrick//lib/webrick/log.rb#91
- def error(msg); end
-
- # Will the logger output ERROR messages?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/log.rb#102
- def error?; end
-
- # Shortcut for logging a FATAL message
- #
- # source://webrick//lib/webrick/log.rb#89
- def fatal(msg); end
-
- # Will the logger output FATAL messages?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/log.rb#100
- def fatal?; end
-
- # Shortcut for logging an INFO message
- #
- # source://webrick//lib/webrick/log.rb#95
- def info(msg); end
-
- # Will the logger output INFO messages?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/log.rb#106
- def info?; end
-
- # log-level, messages above this level will be logged
- #
- # source://webrick//lib/webrick/log.rb#41
- def level; end
-
- # log-level, messages above this level will be logged
- #
- # source://webrick//lib/webrick/log.rb#41
- def level=(_arg0); end
-
- # Logs +data+ at +level+ if the given level is above the current log
- # level.
- #
- # source://webrick//lib/webrick/log.rb#75
- def log(level, data); end
-
- # Shortcut for logging a WARN message
- #
- # source://webrick//lib/webrick/log.rb#93
- def warn(msg); end
-
- # Will the logger output WARN messages?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/log.rb#104
- def warn?; end
-
- private
-
- # Formats +arg+ for the logger
- #
- # * If +arg+ is an Exception, it will format the error message and
- # the back trace.
- # * If +arg+ responds to #to_str, it will return it.
- # * Otherwise it will return +arg+.inspect.
- #
- # source://webrick//lib/webrick/log.rb#119
- def format(arg); end
-end
-
-# --
-# Updates WEBrick::GenericServer with SSL functionality
-#
-# source://webrick//lib/webrick/server.rb#56
-class WEBrick::GenericServer
- # Creates a new generic server from +config+. The default configuration
- # comes from +default+.
- #
- # @return [GenericServer] a new instance of GenericServer
- #
- # source://webrick//lib/webrick/server.rb#88
- def initialize(config = T.unsafe(nil), default = T.unsafe(nil)); end
-
- # Retrieves +key+ from the configuration
- #
- # source://webrick//lib/webrick/server.rb#121
- def [](key); end
-
- # The server configuration
- #
- # source://webrick//lib/webrick/server.rb#66
- def config; end
-
- # Updates +listen+ to enable SSL when the SSL configuration is active.
- #
- # source://webrick//lib/webrick/server.rb#129
- def listen(address, port); end
-
- # Sockets listening for connections.
- #
- # source://webrick//lib/webrick/server.rb#82
- def listeners; end
-
- # The server logger. This is independent from the HTTP access log.
- #
- # source://webrick//lib/webrick/server.rb#71
- def logger; end
-
- # You must subclass GenericServer and implement \#run which accepts a TCP
- # client socket
- #
- # source://webrick//lib/webrick/server.rb#244
- def run(sock); end
-
- # Shuts down the server and all listening sockets. New listeners must be
- # provided to restart the server.
- #
- # source://webrick//lib/webrick/server.rb#234
- def shutdown; end
-
- # Starts the server and runs the +block+ for each connection. This method
- # does not return until the server is stopped from a signal handler or
- # another thread using #stop or #shutdown.
- #
- # If the block raises a subclass of StandardError the exception is logged
- # and ignored. If an IOError or Errno::EBADF exception is raised the
- # exception is ignored. If an Exception subclass is raised the exception
- # is logged and re-raised which stops the server.
- #
- # To completely shut down a server call #shutdown from ensure:
- #
- # server = WEBrick::GenericServer.new
- # # or WEBrick::HTTPServer.new
- #
- # begin
- # server.start
- # ensure
- # server.shutdown
- # end
- #
- # @raise [ServerError]
- #
- # source://webrick//lib/webrick/server.rb#154
- def start(&block); end
-
- # The server status. One of :Stop, :Running or :Shutdown
- #
- # source://webrick//lib/webrick/server.rb#61
- def status; end
-
- # Stops the server from accepting new connections.
- #
- # source://webrick//lib/webrick/server.rb#222
- def stop; end
-
- # Tokens control the number of outstanding clients. The
- # :MaxClients
configuration sets this.
- #
- # source://webrick//lib/webrick/server.rb#77
- def tokens; end
-
- private
-
- # Accepts a TCP client socket from the TCP server socket +svr+ and returns
- # the client socket.
- #
- # source://webrick//lib/webrick/server.rb#256
- def accept_client(svr); end
-
- # source://webrick//lib/webrick/server.rb#347
- def alarm_shutdown_pipe; end
-
- # Calls the callback +callback_name+ from the configuration with +args+
- #
- # source://webrick//lib/webrick/server.rb#334
- def call_callback(callback_name, *args); end
-
- # source://webrick//lib/webrick/server.rb#359
- def cleanup_listener; end
-
- # source://webrick//lib/webrick/server.rb#342
- def cleanup_shutdown_pipe(shutdown_pipe); end
-
- # source://webrick//lib/webrick/server.rb#338
- def setup_shutdown_pipe; end
-
- # Starts a server thread for the client socket +sock+ that runs the given
- # +block+.
- #
- # Sets the socket to the :WEBrickSocket
thread local variable
- # in the thread.
- #
- # If any errors occur in the block they are logged and handled.
- #
- # source://webrick//lib/webrick/server.rb#288
- def start_thread(sock, &block); end
-end
-
-# source://webrick//lib/webrick/htmlutils.rb#13
-module WEBrick::HTMLUtils
- private
-
- # Escapes &, ", > and < in +string+
- #
- # source://webrick//lib/webrick/htmlutils.rb#18
- def escape(string); end
-
- class << self
- # Escapes &, ", > and < in +string+
- #
- # source://webrick//lib/webrick/htmlutils.rb#18
- def escape(string); end
- end
-end
-
-# HTTPAuth provides both basic and digest authentication.
-#
-# To enable authentication for requests in WEBrick you will need a user
-# database and an authenticator. To start, here's an Htpasswd database for
-# use with a DigestAuth authenticator:
-#
-# config = { :Realm => 'DigestAuth example realm' }
-#
-# htpasswd = WEBrick::HTTPAuth::Htpasswd.new 'my_password_file'
-# htpasswd.auth_type = WEBrick::HTTPAuth::DigestAuth
-# htpasswd.set_passwd config[:Realm], 'username', 'password'
-# htpasswd.flush
-#
-# The +:Realm+ is used to provide different access to different groups
-# across several resources on a server. Typically you'll need only one
-# realm for a server.
-#
-# This database can be used to create an authenticator:
-#
-# config[:UserDB] = htpasswd
-#
-# digest_auth = WEBrick::HTTPAuth::DigestAuth.new config
-#
-# To authenticate a request call #authenticate with a request and response
-# object in a servlet:
-#
-# def do_GET req, res
-# @authenticator.authenticate req, res
-# end
-#
-# For digest authentication the authenticator must not be created every
-# request, it must be passed in as an option via WEBrick::HTTPServer#mount.
-#
-# source://webrick//lib/webrick/httpauth/authenticator.rb#12
-module WEBrick::HTTPAuth
- private
-
- # source://webrick//lib/webrick/httpauth.rb#57
- def _basic_auth(req, res, realm, req_field, res_field, err_type, block); end
-
- # Simple wrapper for providing basic authentication for a request. When
- # called with a request +req+, response +res+, authentication +realm+ and
- # +block+ the block will be called with a +username+ and +password+. If
- # the block returns true the request is allowed to continue, otherwise an
- # HTTPStatus::Unauthorized error is raised.
- #
- # source://webrick//lib/webrick/httpauth.rb#79
- def basic_auth(req, res, realm, &block); end
-
- # Simple wrapper for providing basic authentication for a proxied request.
- # When called with a request +req+, response +res+, authentication +realm+
- # and +block+ the block will be called with a +username+ and +password+.
- # If the block returns true the request is allowed to continue, otherwise
- # an HTTPStatus::ProxyAuthenticationRequired error is raised.
- #
- # source://webrick//lib/webrick/httpauth.rb#91
- def proxy_basic_auth(req, res, realm, &block); end
-
- class << self
- # source://webrick//lib/webrick/httpauth.rb#57
- def _basic_auth(req, res, realm, req_field, res_field, err_type, block); end
-
- # Simple wrapper for providing basic authentication for a request. When
- # called with a request +req+, response +res+, authentication +realm+ and
- # +block+ the block will be called with a +username+ and +password+. If
- # the block returns true the request is allowed to continue, otherwise an
- # HTTPStatus::Unauthorized error is raised.
- #
- # source://webrick//lib/webrick/httpauth.rb#79
- def basic_auth(req, res, realm, &block); end
-
- # Simple wrapper for providing basic authentication for a proxied request.
- # When called with a request +req+, response +res+, authentication +realm+
- # and +block+ the block will be called with a +username+ and +password+.
- # If the block returns true the request is allowed to continue, otherwise
- # an HTTPStatus::ProxyAuthenticationRequired error is raised.
- #
- # source://webrick//lib/webrick/httpauth.rb#91
- def proxy_basic_auth(req, res, realm, &block); end
- end
-end
-
-# Module providing generic support for both Digest and Basic
-# authentication schemes.
-#
-# source://webrick//lib/webrick/httpauth/authenticator.rb#18
-module WEBrick::HTTPAuth::Authenticator
- # The logger for this authenticator
- #
- # source://webrick//lib/webrick/httpauth/authenticator.rb#43
- def logger; end
-
- # The realm this authenticator covers
- #
- # source://webrick//lib/webrick/httpauth/authenticator.rb#33
- def realm; end
-
- # The user database for this authenticator
- #
- # source://webrick//lib/webrick/httpauth/authenticator.rb#38
- def userdb; end
-
- private
-
- # Initializes the authenticator from +config+
- #
- # source://webrick//lib/webrick/httpauth/authenticator.rb#52
- def check_init(config); end
-
- # Ensures +req+ has credentials that can be authenticated.
- #
- # source://webrick//lib/webrick/httpauth/authenticator.rb#72
- def check_scheme(req); end
-
- # source://webrick//lib/webrick/httpauth/authenticator.rb#91
- def error(fmt, *args); end
-
- # source://webrick//lib/webrick/httpauth/authenticator.rb#97
- def info(fmt, *args); end
-
- # source://webrick//lib/webrick/httpauth/authenticator.rb#85
- def log(meth, fmt, *args); end
-end
-
-# source://webrick//lib/webrick/httpauth/authenticator.rb#23
-WEBrick::HTTPAuth::Authenticator::AuthException = WEBrick::HTTPStatus::Unauthorized
-
-# Basic Authentication for WEBrick
-#
-# Use this class to add basic authentication to a WEBrick servlet.
-#
-# Here is an example of how to set up a BasicAuth:
-#
-# config = { :Realm => 'BasicAuth example realm' }
-#
-# htpasswd = WEBrick::HTTPAuth::Htpasswd.new 'my_password_file', password_hash: :bcrypt
-# htpasswd.set_passwd config[:Realm], 'username', 'password'
-# htpasswd.flush
-#
-# config[:UserDB] = htpasswd
-#
-# basic_auth = WEBrick::HTTPAuth::BasicAuth.new config
-#
-# source://webrick//lib/webrick/httpauth/basicauth.rb#35
-class WEBrick::HTTPAuth::BasicAuth
- include ::WEBrick::HTTPAuth::Authenticator
-
- # Creates a new BasicAuth instance.
- #
- # See WEBrick::Config::BasicAuth for default configuration entries
- #
- # You must supply the following configuration entries:
- #
- # :Realm:: The name of the realm being protected.
- # :UserDB:: A database of usernames and passwords.
- # A WEBrick::HTTPAuth::Htpasswd instance should be used.
- #
- # @return [BasicAuth] a new instance of BasicAuth
- #
- # source://webrick//lib/webrick/httpauth/basicauth.rb#61
- def initialize(config, default = T.unsafe(nil)); end
-
- # Authenticates a +req+ and returns a 401 Unauthorized using +res+ if
- # the authentication was not correct.
- #
- # source://webrick//lib/webrick/httpauth/basicauth.rb#70
- def authenticate(req, res); end
-
- # Returns a challenge response which asks for authentication information
- #
- # @raise [@auth_exception]
- #
- # source://webrick//lib/webrick/httpauth/basicauth.rb#103
- def challenge(req, res); end
-
- # Returns the value of attribute logger.
- #
- # source://webrick//lib/webrick/httpauth/basicauth.rb#48
- def logger; end
-
- # Returns the value of attribute realm.
- #
- # source://webrick//lib/webrick/httpauth/basicauth.rb#48
- def realm; end
-
- # Returns the value of attribute userdb.
- #
- # source://webrick//lib/webrick/httpauth/basicauth.rb#48
- def userdb; end
-
- class << self
- # Used by UserDB to create a basic password entry
- #
- # source://webrick//lib/webrick/httpauth/basicauth.rb#43
- def make_passwd(realm, user, pass); end
- end
-end
-
-# RFC 2617 Digest Access Authentication for WEBrick
-#
-# Use this class to add digest authentication to a WEBrick servlet.
-#
-# Here is an example of how to set up DigestAuth:
-#
-# config = { :Realm => 'DigestAuth example realm' }
-#
-# htdigest = WEBrick::HTTPAuth::Htdigest.new 'my_password_file'
-# htdigest.set_passwd config[:Realm], 'username', 'password'
-# htdigest.flush
-#
-# config[:UserDB] = htdigest
-#
-# digest_auth = WEBrick::HTTPAuth::DigestAuth.new config
-#
-# When using this as with a servlet be sure not to create a new DigestAuth
-# object in the servlet's #initialize. By default WEBrick creates a new
-# servlet instance for every request and the DigestAuth object must be
-# used across requests.
-#
-# source://webrick//lib/webrick/httpauth/digestauth.rb#46
-class WEBrick::HTTPAuth::DigestAuth
- include ::WEBrick::HTTPAuth::Authenticator
-
- # Creates a new DigestAuth instance. Be sure to use the same DigestAuth
- # instance for multiple requests as it saves state between requests in
- # order to perform authentication.
- #
- # See WEBrick::Config::DigestAuth for default configuration entries
- #
- # You must supply the following configuration entries:
- #
- # :Realm:: The name of the realm being protected.
- # :UserDB:: A database of usernames and passwords.
- # A WEBrick::HTTPAuth::Htdigest instance should be used.
- #
- # @return [DigestAuth] a new instance of DigestAuth
- #
- # source://webrick//lib/webrick/httpauth/digestauth.rb#87
- def initialize(config, default = T.unsafe(nil)); end
-
- # Digest authentication algorithm
- #
- # source://webrick//lib/webrick/httpauth/digestauth.rb#59
- def algorithm; end
-
- # Authenticates a +req+ and returns a 401 Unauthorized using +res+ if
- # the authentication was not correct.
- #
- # source://webrick//lib/webrick/httpauth/digestauth.rb#121
- def authenticate(req, res); end
-
- # Returns a challenge response which asks for authentication information
- #
- # @raise [@auth_exception]
- #
- # source://webrick//lib/webrick/httpauth/digestauth.rb#134
- def challenge(req, res, stale = T.unsafe(nil)); end
-
- # Quality of protection. RFC 2617 defines "auth" and "auth-int"
- #
- # source://webrick//lib/webrick/httpauth/digestauth.rb#64
- def qop; end
-
- private
-
- # source://webrick//lib/webrick/httpauth/digestauth.rb#163
- def _authenticate(req, res); end
-
- # source://webrick//lib/webrick/httpauth/digestauth.rb#306
- def check_nonce(req, auth_req); end
-
- # source://webrick//lib/webrick/httpauth/digestauth.rb#349
- def check_opaque(opaque_struct, req, auth_req); end
-
- # source://webrick//lib/webrick/httpauth/digestauth.rb#365
- def check_uri(req, auth_req); end
-
- # source://webrick//lib/webrick/httpauth/digestauth.rb#299
- def generate_next_nonce(req); end
-
- # source://webrick//lib/webrick/httpauth/digestauth.rb#332
- def generate_opaque(req); end
-
- # source://webrick//lib/webrick/httpauth/digestauth.rb#376
- def hexdigest(*args); end
-
- # source://webrick//lib/webrick/httpauth/digestauth.rb#291
- def split_param_value(string); end
-
- class << self
- # Used by UserDB to create a digest password entry
- #
- # source://webrick//lib/webrick/httpauth/digestauth.rb#69
- def make_passwd(realm, user, pass); end
- end
-end
-
-# Htdigest accesses apache-compatible digest password files. Passwords are
-# matched to a realm where they are valid. For security, the path for a
-# digest password database should be stored outside of the paths available
-# to the HTTP server.
-#
-# Htdigest is intended for use with WEBrick::HTTPAuth::DigestAuth and
-# stores passwords using cryptographic hashes.
-#
-# htpasswd = WEBrick::HTTPAuth::Htdigest.new 'my_password_file'
-# htpasswd.set_passwd 'my realm', 'username', 'password'
-# htpasswd.flush
-#
-# source://webrick//lib/webrick/httpauth/htdigest.rb#31
-class WEBrick::HTTPAuth::Htdigest
- include ::WEBrick::HTTPAuth::UserDB
-
- # Open a digest password database at +path+
- #
- # @return [Htdigest] a new instance of Htdigest
- #
- # source://webrick//lib/webrick/httpauth/htdigest.rb#37
- def initialize(path); end
-
- # Removes a password from the database for +user+ in +realm+.
- #
- # source://webrick//lib/webrick/httpauth/htdigest.rb#113
- def delete_passwd(realm, user); end
-
- # Iterate passwords in the database.
- #
- # source://webrick//lib/webrick/httpauth/htdigest.rb#122
- def each; end
-
- # Flush the password database. If +output+ is given the database will
- # be written there instead of to the original path.
- #
- # source://webrick//lib/webrick/httpauth/htdigest.rb#72
- def flush(output = T.unsafe(nil)); end
-
- # Retrieves a password from the database for +user+ in +realm+. If
- # +reload_db+ is true the database will be reloaded first.
- #
- # source://webrick//lib/webrick/httpauth/htdigest.rb#91
- def get_passwd(realm, user, reload_db); end
-
- # Reloads passwords from the database
- #
- # source://webrick//lib/webrick/httpauth/htdigest.rb#50
- def reload; end
-
- # Sets a password in the database for +user+ in +realm+ to +pass+.
- #
- # source://webrick//lib/webrick/httpauth/htdigest.rb#101
- def set_passwd(realm, user, pass); end
-end
-
-# Htgroup accesses apache-compatible group files. Htgroup can be used to
-# provide group-based authentication for users. Currently Htgroup is not
-# directly integrated with any authenticators in WEBrick. For security,
-# the path for a digest password database should be stored outside of the
-# paths available to the HTTP server.
-#
-# Example:
-#
-# htgroup = WEBrick::HTTPAuth::Htgroup.new 'my_group_file'
-# htgroup.add 'superheroes', %w[spiderman batman]
-#
-# htgroup.members('superheroes').include? 'magneto' # => false
-#
-# source://webrick//lib/webrick/httpauth/htgroup.rb#30
-class WEBrick::HTTPAuth::Htgroup
- # Open a group database at +path+
- #
- # @return [Htgroup] a new instance of Htgroup
- #
- # source://webrick//lib/webrick/httpauth/htgroup.rb#35
- def initialize(path); end
-
- # Add an Array of +members+ to +group+
- #
- # source://webrick//lib/webrick/httpauth/htgroup.rb#92
- def add(group, members); end
-
- # Flush the group database. If +output+ is given the database will be
- # written there instead of to the original path.
- #
- # source://webrick//lib/webrick/httpauth/htgroup.rb#64
- def flush(output = T.unsafe(nil)); end
-
- # Retrieve the list of members from +group+
- #
- # source://webrick//lib/webrick/httpauth/htgroup.rb#84
- def members(group); end
-
- # Reload groups from the database
- #
- # source://webrick//lib/webrick/httpauth/htgroup.rb#46
- def reload; end
-end
-
-# Htpasswd accesses apache-compatible password files. Passwords are
-# matched to a realm where they are valid. For security, the path for a
-# password database should be stored outside of the paths available to the
-# HTTP server.
-#
-# Htpasswd is intended for use with WEBrick::HTTPAuth::BasicAuth.
-#
-# To create an Htpasswd database with a single user:
-#
-# htpasswd = WEBrick::HTTPAuth::Htpasswd.new 'my_password_file'
-# htpasswd.set_passwd 'my realm', 'username', 'password'
-# htpasswd.flush
-#
-# source://webrick//lib/webrick/httpauth/htpasswd.rb#32
-class WEBrick::HTTPAuth::Htpasswd
- include ::WEBrick::HTTPAuth::UserDB
-
- # Open a password database at +path+
- #
- # @return [Htpasswd] a new instance of Htpasswd
- #
- # source://webrick//lib/webrick/httpauth/htpasswd.rb#38
- def initialize(path, password_hash: T.unsafe(nil)); end
-
- # Removes a password from the database for +user+ in +realm+.
- #
- # source://webrick//lib/webrick/httpauth/htpasswd.rb#144
- def delete_passwd(realm, user); end
-
- # Iterate passwords in the database.
- #
- # source://webrick//lib/webrick/httpauth/htpasswd.rb#151
- def each; end
-
- # Flush the password database. If +output+ is given the database will
- # be written there instead of to the original path.
- #
- # source://webrick//lib/webrick/httpauth/htpasswd.rb#103
- def flush(output = T.unsafe(nil)); end
-
- # Retrieves a password from the database for +user+ in +realm+. If
- # +reload_db+ is true the database will be reloaded first.
- #
- # source://webrick//lib/webrick/httpauth/htpasswd.rb#122
- def get_passwd(realm, user, reload_db); end
-
- # Reload passwords from the database
- #
- # source://webrick//lib/webrick/httpauth/htpasswd.rb#68
- def reload; end
-
- # Sets a password in the database for +user+ in +realm+ to +pass+.
- #
- # source://webrick//lib/webrick/httpauth/htpasswd.rb#130
- def set_passwd(realm, user, pass); end
-end
-
-# source://webrick//lib/webrick/httpauth/authenticator.rb#114
-WEBrick::HTTPAuth::ProxyAuthenticator::AuthException = WEBrick::HTTPStatus::ProxyAuthenticationRequired
-
-# Basic authentication for proxy servers. See BasicAuth for details.
-#
-# source://webrick//lib/webrick/httpauth/basicauth.rb#112
-class WEBrick::HTTPAuth::ProxyBasicAuth < ::WEBrick::HTTPAuth::BasicAuth
- include ::WEBrick::HTTPAuth::ProxyAuthenticator
-end
-
-# Digest authentication for proxy servers. See DigestAuth for details.
-#
-# source://webrick//lib/webrick/httpauth/digestauth.rb#386
-class WEBrick::HTTPAuth::ProxyDigestAuth < ::WEBrick::HTTPAuth::DigestAuth
- include ::WEBrick::HTTPAuth::ProxyAuthenticator
-
- private
-
- # source://webrick//lib/webrick/httpauth/digestauth.rb#390
- def check_uri(req, auth_req); end
-end
-
-# User database mixin for HTTPAuth. This mixin dispatches user record
-# access to the underlying auth_type for this database.
-#
-# source://webrick//lib/webrick/httpauth/userdb.rb#18
-module WEBrick::HTTPAuth::UserDB
- # The authentication type.
- #
- # WEBrick::HTTPAuth::BasicAuth or WEBrick::HTTPAuth::DigestAuth are
- # built-in.
- #
- # source://webrick//lib/webrick/httpauth/userdb.rb#26
- def auth_type; end
-
- # The authentication type.
- #
- # WEBrick::HTTPAuth::BasicAuth or WEBrick::HTTPAuth::DigestAuth are
- # built-in.
- #
- # source://webrick//lib/webrick/httpauth/userdb.rb#26
- def auth_type=(_arg0); end
-
- # Retrieves a password in +realm+ for +user+ for the auth_type of this
- # database. +reload_db+ is a dummy value.
- #
- # source://webrick//lib/webrick/httpauth/userdb.rb#48
- def get_passwd(realm, user, reload_db = T.unsafe(nil)); end
-
- # Creates an obscured password in +realm+ with +user+ and +password+
- # using the auth_type of this database.
- #
- # source://webrick//lib/webrick/httpauth/userdb.rb#32
- def make_passwd(realm, user, pass); end
-
- # Sets a password in +realm+ with +user+ and +password+ for the
- # auth_type of this database.
- #
- # source://webrick//lib/webrick/httpauth/userdb.rb#40
- def set_passwd(realm, user, pass); end
-end
-
-# --
-# Adds SSL functionality to WEBrick::HTTPRequest
-#
-# source://webrick//lib/webrick/httprequest.rb#25
-class WEBrick::HTTPRequest
- # Creates a new HTTP request. WEBrick::Config::HTTP is the default
- # configuration.
- #
- # @return [HTTPRequest] a new instance of HTTPRequest
- #
- # source://webrick//lib/webrick/httprequest.rb#153
- def initialize(config); end
-
- # Retrieves +header_name+
- #
- # source://webrick//lib/webrick/httprequest.rb#318
- def [](header_name); end
-
- # The Accept header value
- #
- # source://webrick//lib/webrick/httprequest.rb#100
- def accept; end
-
- # The Accept-Charset header value
- #
- # source://webrick//lib/webrick/httprequest.rb#105
- def accept_charset; end
-
- # The Accept-Encoding header value
- #
- # source://webrick//lib/webrick/httprequest.rb#110
- def accept_encoding; end
-
- # The Accept-Language header value
- #
- # source://webrick//lib/webrick/httprequest.rb#115
- def accept_language; end
-
- # The socket address of the server
- #
- # source://webrick//lib/webrick/httprequest.rb#127
- def addr; end
-
- # Hash of request attributes
- #
- # source://webrick//lib/webrick/httprequest.rb#137
- def attributes; end
-
- # Returns the request body.
- #
- # source://webrick//lib/webrick/httprequest.rb#255
- def body(&block); end
-
- # Prepares the HTTPRequest object for use as the
- # source for IO.copy_stream
- #
- # source://webrick//lib/webrick/httprequest.rb#265
- def body_reader; end
-
- # The content-length header
- #
- # source://webrick//lib/webrick/httprequest.rb#304
- def content_length; end
-
- # The content-type header
- #
- # source://webrick//lib/webrick/httprequest.rb#311
- def content_type; end
-
- # Generate HTTP/1.1 100 continue response if the client expects it,
- # otherwise does nothing.
- #
- # source://webrick//lib/webrick/httprequest.rb#245
- def continue; end
-
- # The parsed request cookies
- #
- # source://webrick//lib/webrick/httprequest.rb#95
- def cookies; end
-
- # Iterates over the request headers
- #
- # source://webrick//lib/webrick/httprequest.rb#328
- def each; end
-
- # Consumes any remaining body and updates keep-alive status
- #
- # source://webrick//lib/webrick/httprequest.rb#390
- def fixup; end
-
- # The parsed header of the request
- #
- # source://webrick//lib/webrick/httprequest.rb#90
- def header; end
-
- # The host this request is for
- #
- # source://webrick//lib/webrick/httprequest.rb#340
- def host; end
-
- # The HTTP version of the request
- #
- # source://webrick//lib/webrick/httprequest.rb#51
- def http_version; end
-
- # Is this a keep-alive connection?
- #
- # source://webrick//lib/webrick/httprequest.rb#142
- def keep_alive; end
-
- # Should the connection this request was made on be kept alive?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httprequest.rb#375
- def keep_alive?; end
-
- # This method provides the metavariables defined by the revision 3
- # of "The WWW Common Gateway Interface Version 1.1"
- # To browse the current document of CGI Version 1.1, see below:
- # http://tools.ietf.org/html/rfc3875
- #
- # source://webrick//lib/webrick/httprequest.rb#407
- def meta_vars; end
-
- # Parses a request from +socket+. This is called internally by
- # WEBrick::HTTPServer.
- #
- # source://webrick//lib/webrick/httprequest.rb#193
- def parse(socket = T.unsafe(nil)); end
-
- # The request path
- #
- # source://webrick//lib/webrick/httprequest.rb#63
- def path; end
-
- # The path info (CGI variable)
- #
- # source://webrick//lib/webrick/httprequest.rb#73
- def path_info; end
-
- # The path info (CGI variable)
- #
- # source://webrick//lib/webrick/httprequest.rb#73
- def path_info=(_arg0); end
-
- # The socket address of the client
- #
- # source://webrick//lib/webrick/httprequest.rb#132
- def peeraddr; end
-
- # The port this request is for
- #
- # source://webrick//lib/webrick/httprequest.rb#347
- def port; end
-
- # Request query as a Hash
- #
- # source://webrick//lib/webrick/httprequest.rb#294
- def query; end
-
- # The query from the URI of the request
- #
- # source://webrick//lib/webrick/httprequest.rb#78
- def query_string; end
-
- # The query from the URI of the request
- #
- # source://webrick//lib/webrick/httprequest.rb#78
- def query_string=(_arg0); end
-
- # The raw header of the request
- #
- # source://webrick//lib/webrick/httprequest.rb#85
- def raw_header; end
-
- # for IO.copy_stream.
- #
- # source://webrick//lib/webrick/httprequest.rb#278
- def readpartial(size, buf = T.unsafe(nil)); end
-
- # The client's IP address
- #
- # source://webrick//lib/webrick/httprequest.rb#361
- def remote_ip; end
-
- # The complete request line such as:
- #
- # GET / HTTP/1.1
- #
- # source://webrick//lib/webrick/httprequest.rb#36
- def request_line; end
-
- # The request method, GET, POST, PUT, etc.
- #
- # source://webrick//lib/webrick/httprequest.rb#41
- def request_method; end
-
- # The local time this request was received
- #
- # source://webrick//lib/webrick/httprequest.rb#147
- def request_time; end
-
- # The parsed URI of the request
- #
- # source://webrick//lib/webrick/httprequest.rb#58
- def request_uri; end
-
- # The script name (CGI variable)
- #
- # source://webrick//lib/webrick/httprequest.rb#68
- def script_name; end
-
- # The script name (CGI variable)
- #
- # source://webrick//lib/webrick/httprequest.rb#68
- def script_name=(_arg0); end
-
- # The server name this request is for
- #
- # source://webrick//lib/webrick/httprequest.rb#354
- def server_name; end
-
- # Is this an SSL request?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httprequest.rb#368
- def ssl?; end
-
- # source://webrick//lib/webrick/httprequest.rb#379
- def to_s; end
-
- # The unparsed URI of the request
- #
- # source://webrick//lib/webrick/httprequest.rb#46
- def unparsed_uri; end
-
- # The remote user (CGI variable)
- #
- # source://webrick//lib/webrick/httprequest.rb#122
- def user; end
-
- # The remote user (CGI variable)
- #
- # source://webrick//lib/webrick/httprequest.rb#122
- def user=(_arg0); end
-
- private
-
- # source://webrick//lib/webrick/httprequest.rb#562
- def _read_data(io, method, *arg); end
-
- # source://webrick//lib/webrick/httprequest.rb#582
- def parse_query; end
-
- # source://webrick//lib/webrick/httprequest.rb#484
- def parse_uri(str, scheme = T.unsafe(nil)); end
-
- # source://webrick//lib/webrick/httprequest.rb#507
- def read_body(socket, block); end
-
- # source://webrick//lib/webrick/httprequest.rb#531
- def read_chunk_size(socket); end
-
- # source://webrick//lib/webrick/httprequest.rb#542
- def read_chunked(socket, block); end
-
- # source://webrick//lib/webrick/httprequest.rb#578
- def read_data(io, size); end
-
- # source://webrick//lib/webrick/httprequest.rb#471
- def read_header(socket); end
-
- # source://webrick//lib/webrick/httprequest.rb#574
- def read_line(io, size = T.unsafe(nil)); end
-
- # @raise [HTTPStatus::EOFError]
- #
- # source://webrick//lib/webrick/httprequest.rb#451
- def read_request_line(socket); end
-
- # It's said that all X-Forwarded-* headers will contain more than one
- # (comma-separated) value if the original request already contained one of
- # these headers. Since we could use these values as Host header, we choose
- # the initial(first) value. (apr_table_mergen() adds new value after the
- # existing value with ", " prefix)
- #
- # source://webrick//lib/webrick/httprequest.rb#610
- def setup_forwarded_info; end
-end
-
-# same as Mongrel, Thin and Puma
-#
-# source://webrick//lib/webrick/httprequest.rb#449
-WEBrick::HTTPRequest::MAX_HEADER_LENGTH = T.let(T.unsafe(nil), Integer)
-
-# An HTTP response. This is filled in by the service or do_* methods of a
-# WEBrick HTTP Servlet.
-#
-# source://webrick//lib/webrick/httpresponse.rb#24
-class WEBrick::HTTPResponse
- # Creates a new HTTP response object. WEBrick::Config::HTTP is the
- # default configuration.
- #
- # @return [HTTPResponse] a new instance of HTTPResponse
- #
- # source://webrick//lib/webrick/httpresponse.rb#112
- def initialize(config); end
-
- # Retrieves the response header +field+
- #
- # source://webrick//lib/webrick/httpresponse.rb#150
- def [](field); end
-
- # Sets the response header +field+ to +value+
- #
- # source://webrick//lib/webrick/httpresponse.rb#157
- def []=(field, value); end
-
- # Body may be:
- # * a String;
- # * an IO-like object that responds to +#read+ and +#readpartial+;
- # * a Proc-like object that responds to +#call+.
- #
- # In the latter case, either #chunked= should be set to +true+,
- # or header['content-length']
explicitly provided.
- # Example:
- #
- # server.mount_proc '/' do |req, res|
- # res.chunked = true
- # # or
- # # res.header['content-length'] = 10
- # res.body = proc { |out| out.write(Time.now.to_s) }
- # end
- #
- # source://webrick//lib/webrick/httpresponse.rb#70
- def body; end
-
- # Body may be:
- # * a String;
- # * an IO-like object that responds to +#read+ and +#readpartial+;
- # * a Proc-like object that responds to +#call+.
- #
- # In the latter case, either #chunked= should be set to +true+,
- # or header['content-length']
explicitly provided.
- # Example:
- #
- # server.mount_proc '/' do |req, res|
- # res.chunked = true
- # # or
- # # res.header['content-length'] = 10
- # res.body = proc { |out| out.write(Time.now.to_s) }
- # end
- #
- # source://webrick//lib/webrick/httpresponse.rb#70
- def body=(_arg0); end
-
- # Enables chunked transfer encoding.
- #
- # source://webrick//lib/webrick/httpresponse.rb#209
- def chunked=(val); end
-
- # Will this response body be returned using chunked transfer-encoding?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpresponse.rb#202
- def chunked?; end
-
- # Configuration for this response
- #
- # source://webrick//lib/webrick/httpresponse.rb#101
- def config; end
-
- # The content-length header
- #
- # source://webrick//lib/webrick/httpresponse.rb#165
- def content_length; end
-
- # Sets the content-length header to +len+
- #
- # source://webrick//lib/webrick/httpresponse.rb#174
- def content_length=(len); end
-
- # The content-type header
- #
- # source://webrick//lib/webrick/httpresponse.rb#181
- def content_type; end
-
- # Sets the content-type header to +type+
- #
- # source://webrick//lib/webrick/httpresponse.rb#188
- def content_type=(type); end
-
- # Response cookies
- #
- # source://webrick//lib/webrick/httpresponse.rb#46
- def cookies; end
-
- # Iterates over each header in the response
- #
- # source://webrick//lib/webrick/httpresponse.rb#195
- def each; end
-
- # Filename of the static file in this response. Only used by the
- # FileHandler servlet.
- #
- # source://webrick//lib/webrick/httpresponse.rb#91
- def filename; end
-
- # Filename of the static file in this response. Only used by the
- # FileHandler servlet.
- #
- # source://webrick//lib/webrick/httpresponse.rb#91
- def filename=(_arg0); end
-
- # Response header
- #
- # source://webrick//lib/webrick/httpresponse.rb#41
- def header; end
-
- # HTTP Response version
- #
- # source://webrick//lib/webrick/httpresponse.rb#31
- def http_version; end
-
- # Is this a keep-alive response?
- #
- # source://webrick//lib/webrick/httpresponse.rb#96
- def keep_alive; end
-
- # Is this a keep-alive response?
- #
- # source://webrick//lib/webrick/httpresponse.rb#96
- def keep_alive=(_arg0); end
-
- # Will this response's connection be kept alive?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpresponse.rb#216
- def keep_alive?; end
-
- # source://webrick//lib/webrick/httpresponse.rb#303
- def make_body_tempfile; end
-
- # Response reason phrase ("OK")
- #
- # source://webrick//lib/webrick/httpresponse.rb#51
- def reason_phrase; end
-
- # Response reason phrase ("OK")
- #
- # source://webrick//lib/webrick/httpresponse.rb#51
- def reason_phrase=(_arg0); end
-
- # source://webrick//lib/webrick/httpresponse.rb#321
- def remove_body_tempfile; end
-
- # Request HTTP version for this response
- #
- # source://webrick//lib/webrick/httpresponse.rb#85
- def request_http_version; end
-
- # Request HTTP version for this response
- #
- # source://webrick//lib/webrick/httpresponse.rb#85
- def request_http_version=(_arg0); end
-
- # Request method for this response
- #
- # source://webrick//lib/webrick/httpresponse.rb#75
- def request_method; end
-
- # Request method for this response
- #
- # source://webrick//lib/webrick/httpresponse.rb#75
- def request_method=(_arg0); end
-
- # Request URI for this response
- #
- # source://webrick//lib/webrick/httpresponse.rb#80
- def request_uri; end
-
- # Request URI for this response
- #
- # source://webrick//lib/webrick/httpresponse.rb#80
- def request_uri=(_arg0); end
-
- # Sends the body on +socket+
- #
- # source://webrick//lib/webrick/httpresponse.rb#356
- def send_body(socket); end
-
- # Sends the headers on +socket+
- #
- # source://webrick//lib/webrick/httpresponse.rb#333
- def send_header(socket); end
-
- # Sends the response on +socket+
- #
- # source://webrick//lib/webrick/httpresponse.rb#223
- def send_response(socket); end
-
- # Bytes sent in this response
- #
- # source://webrick//lib/webrick/httpresponse.rb#106
- def sent_size; end
-
- # Creates an error page for exception +ex+ with an optional +backtrace+
- #
- # source://webrick//lib/webrick/httpresponse.rb#383
- def set_error(ex, backtrace = T.unsafe(nil)); end
-
- # Redirects to +url+ with a WEBrick::HTTPStatus::Redirect +status+.
- #
- # Example:
- #
- # res.set_redirect WEBrick::HTTPStatus::TemporaryRedirect
- #
- # source://webrick//lib/webrick/httpresponse.rb#373
- def set_redirect(status, url); end
-
- # Sets up the headers for sending
- #
- # source://webrick//lib/webrick/httpresponse.rb#240
- def setup_header; end
-
- # Response status code (200)
- #
- # source://webrick//lib/webrick/httpresponse.rb#36
- def status; end
-
- # Sets the response's status to the +status+ code
- #
- # source://webrick//lib/webrick/httpresponse.rb#142
- def status=(status); end
-
- # The response's HTTP status line
- #
- # source://webrick//lib/webrick/httpresponse.rb#135
- def status_line; end
-
- private
-
- # preserved for compatibility with some 3rd-party handlers
- #
- # source://webrick//lib/webrick/httpresponse.rb#557
- def _write_data(socket, data); end
-
- # source://webrick//lib/webrick/httpresponse.rb#410
- def check_header(header_value); end
-
- # :stopdoc:
- #
- # source://webrick//lib/webrick/httpresponse.rb#421
- def error_body(backtrace, ex, host, port); end
-
- # source://webrick//lib/webrick/httpresponse.rb#451
- def send_body_io(socket); end
-
- # source://webrick//lib/webrick/httpresponse.rb#513
- def send_body_proc(socket); end
-
- # source://webrick//lib/webrick/httpresponse.rb#491
- def send_body_string(socket); end
-end
-
-# source://webrick//lib/webrick/httpresponse.rb#531
-class WEBrick::HTTPResponse::ChunkedWrapper
- # @return [ChunkedWrapper] a new instance of ChunkedWrapper
- #
- # source://webrick//lib/webrick/httpresponse.rb#532
- def initialize(socket, resp); end
-
- # source://webrick//lib/webrick/httpresponse.rb#550
- def <<(*buf); end
-
- # source://webrick//lib/webrick/httpresponse.rb#537
- def write(buf); end
-end
-
-# An HTTP Server
-#
-# source://webrick//lib/webrick/httpserver.rb#44
-class WEBrick::HTTPServer < ::WEBrick::GenericServer
- # Creates a new HTTP server according to +config+
- #
- # An HTTP server uses the following attributes:
- #
- # :AccessLog:: An array of access logs. See WEBrick::AccessLog
- # :BindAddress:: Local address for the server to bind to
- # :DocumentRoot:: Root path to serve files from
- # :DocumentRootOptions:: Options for the default HTTPServlet::FileHandler
- # :HTTPVersion:: The HTTP version of this server
- # :Port:: Port to listen on
- # :RequestCallback:: Called with a request and response before each
- # request is serviced.
- # :RequestTimeout:: Maximum time to wait between requests
- # :ServerAlias:: Array of alternate names for this server for virtual
- # hosting
- # :ServerName:: Name for this server for virtual hosting
- #
- # @return [HTTPServer] a new instance of HTTPServer
- #
- # source://webrick//lib/webrick/httpserver.rb#46
- def initialize(config = T.unsafe(nil), default = T.unsafe(nil)); end
-
- # Logs +req+ and +res+ in the access logs. +config+ is used for the
- # server name.
- #
- # source://webrick//lib/webrick/httpserver.rb#220
- def access_log(config, req, res); end
-
- # Creates the HTTPRequest used when handling the HTTP
- # request. Can be overridden by subclasses.
- #
- # source://webrick//lib/webrick/httpserver.rb#230
- def create_request(with_webrick_config); end
-
- # Creates the HTTPResponse used when handling the HTTP
- # request. Can be overridden by subclasses.
- #
- # source://webrick//lib/webrick/httpserver.rb#237
- def create_response(with_webrick_config); end
-
- # The default OPTIONS request handler says GET, HEAD, POST and OPTIONS
- # requests are allowed.
- #
- # source://webrick//lib/webrick/httpserver.rb#147
- def do_OPTIONS(req, res); end
-
- # Finds the appropriate virtual host to handle +req+
- #
- # source://webrick//lib/webrick/httpserver.rb#207
- def lookup_server(req); end
-
- # Mounts +servlet+ on +dir+ passing +options+ to the servlet at creation
- # time
- #
- # source://webrick//lib/webrick/httpserver.rb#155
- def mount(dir, servlet, *options); end
-
- # Mounts +proc+ or +block+ on +dir+ and calls it with a
- # WEBrick::HTTPRequest and WEBrick::HTTPResponse
- #
- # @raise [HTTPServerError]
- #
- # source://webrick//lib/webrick/httpserver.rb#164
- def mount_proc(dir, proc = T.unsafe(nil), &block); end
-
- # Processes requests on +sock+
- #
- # source://webrick//lib/webrick/httpserver.rb#69
- def run(sock); end
-
- # Finds a servlet for +path+
- #
- # source://webrick//lib/webrick/httpserver.rb#182
- def search_servlet(path); end
-
- # Services +req+ and fills in +res+
- #
- # @raise [HTTPStatus::NotFound]
- #
- # source://webrick//lib/webrick/httpserver.rb#125
- def service(req, res); end
-
- # Unmounts +dir+
- #
- # source://webrick//lib/webrick/httpserver.rb#173
- def umount(dir); end
-
- # Unmounts +dir+
- #
- # source://webrick//lib/webrick/httpserver.rb#173
- def unmount(dir); end
-
- # Adds +server+ as a virtual host.
- #
- # source://webrick//lib/webrick/httpserver.rb#193
- def virtual_host(server); end
-end
-
-# Mount table for the path a servlet is mounted on in the directory space
-# of the server. Users of WEBrick can only access this indirectly via
-# WEBrick::HTTPServer#mount, WEBrick::HTTPServer#unmount and
-# WEBrick::HTTPServer#search_servlet
-#
-# source://webrick//lib/webrick/httpserver.rb#247
-class WEBrick::HTTPServer::MountTable
- # @return [MountTable] a new instance of MountTable
- #
- # source://webrick//lib/webrick/httpserver.rb#248
- def initialize; end
-
- # source://webrick//lib/webrick/httpserver.rb#253
- def [](dir); end
-
- # source://webrick//lib/webrick/httpserver.rb#258
- def []=(dir, val); end
-
- # source://webrick//lib/webrick/httpserver.rb#265
- def delete(dir); end
-
- # source://webrick//lib/webrick/httpserver.rb#272
- def scan(path); end
-
- private
-
- # source://webrick//lib/webrick/httpserver.rb#279
- def compile; end
-
- # source://webrick//lib/webrick/httpserver.rb#287
- def normalize(dir); end
-end
-
-# AbstractServlet allows HTTP server modules to be reused across multiple
-# servers and allows encapsulation of functionality.
-#
-# By default a servlet will respond to GET, HEAD (through an alias to GET)
-# and OPTIONS requests.
-#
-# By default a new servlet is initialized for every request. A servlet
-# instance can be reused by overriding ::get_instance in the
-# AbstractServlet subclass.
-#
-# == A Simple Servlet
-#
-# class Simple < WEBrick::HTTPServlet::AbstractServlet
-# def do_GET request, response
-# status, content_type, body = do_stuff_with request
-#
-# response.status = status
-# response['Content-Type'] = content_type
-# response.body = body
-# end
-#
-# def do_stuff_with request
-# return 200, 'text/plain', 'you got a page'
-# end
-# end
-#
-# This servlet can be mounted on a server at a given path:
-#
-# server.mount '/simple', Simple
-#
-# == Servlet Configuration
-#
-# Servlets can be configured via initialize. The first argument is the
-# HTTP server the servlet is being initialized for.
-#
-# class Configurable < Simple
-# def initialize server, color, size
-# super server
-# @color = color
-# @size = size
-# end
-#
-# def do_stuff_with request
-# content = "Hello, World!"
-#
-# return 200, "text/html", content
-# end
-# end
-#
-# This servlet must be provided two arguments at mount time:
-#
-# server.mount '/configurable', Configurable, 'red', '2em'
-#
-# source://webrick//lib/webrick/httpservlet/abstract.rb#76
-class WEBrick::HTTPServlet::AbstractServlet
- # Initializes a new servlet for +server+ using +options+ which are
- # stored as-is in +@options+. +@logger+ is also provided.
- #
- # @return [AbstractServlet] a new instance of AbstractServlet
- #
- # source://webrick//lib/webrick/httpservlet/abstract.rb#91
- def initialize(server, *options); end
-
- # Raises a NotFound exception
- #
- # @raise [HTTPStatus::NotFound]
- #
- # source://webrick//lib/webrick/httpservlet/abstract.rb#115
- def do_GET(req, res); end
-
- # Dispatches to do_GET
- #
- # source://webrick//lib/webrick/httpservlet/abstract.rb#122
- def do_HEAD(req, res); end
-
- # Returns the allowed HTTP request methods
- #
- # source://webrick//lib/webrick/httpservlet/abstract.rb#129
- def do_OPTIONS(req, res); end
-
- # Dispatches to a +do_+ method based on +req+ if such a method is
- # available. (+do_GET+ for a GET request). Raises a MethodNotAllowed
- # exception if the method is not implemented.
- #
- # source://webrick//lib/webrick/httpservlet/abstract.rb#102
- def service(req, res); end
-
- private
-
- # Redirects to a path ending in /
- #
- # source://webrick//lib/webrick/httpservlet/abstract.rb#140
- def redirect_to_directory_uri(req, res); end
-
- class << self
- # Factory for servlet instances that will handle a request from +server+
- # using +options+ from the mount point. By default a new servlet
- # instance is created for every call.
- #
- # source://webrick//lib/webrick/httpservlet/abstract.rb#83
- def get_instance(server, *options); end
- end
-end
-
-# Servlet for handling CGI scripts
-#
-# Example:
-#
-# server.mount('/cgi/my_script', WEBrick::HTTPServlet::CGIHandler,
-# '/path/to/my_script')
-#
-# source://webrick//lib/webrick/httpservlet/cgihandler.rb#28
-class WEBrick::HTTPServlet::CGIHandler < ::WEBrick::HTTPServlet::AbstractServlet
- # Creates a new CGI script servlet for the script at +name+
- #
- # @return [CGIHandler] a new instance of CGIHandler
- #
- # source://webrick//lib/webrick/httpservlet/cgihandler.rb#36
- def initialize(server, name); end
-
- # :stopdoc:
- #
- # @raise [HTTPStatus::InternalServerError]
- #
- # source://webrick//lib/webrick/httpservlet/cgihandler.rb#50
- def do_GET(req, res); end
-
- # :stopdoc:
- #
- # @raise [HTTPStatus::InternalServerError]
- #
- # source://webrick//lib/webrick/httpservlet/cgihandler.rb#50
- def do_POST(req, res); end
-end
-
-# source://webrick//lib/webrick/httpservlet/cgihandler.rb#31
-WEBrick::HTTPServlet::CGIHandler::CGIRunnerArray = T.let(T.unsafe(nil), Array)
-
-# Servlet for serving a single file. You probably want to use the
-# FileHandler servlet instead as it handles directories and fancy indexes.
-#
-# Example:
-#
-# server.mount('/my_page.txt', WEBrick::HTTPServlet::DefaultFileHandler,
-# '/path/to/my_page.txt')
-#
-# This servlet handles If-Modified-Since and Range requests.
-#
-# source://webrick//lib/webrick/httpservlet/filehandler.rb#32
-class WEBrick::HTTPServlet::DefaultFileHandler < ::WEBrick::HTTPServlet::AbstractServlet
- # Creates a DefaultFileHandler instance for the file at +local_path+.
- #
- # @return [DefaultFileHandler] a new instance of DefaultFileHandler
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#37
- def initialize(server, local_path); end
-
- # :stopdoc:
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#44
- def do_GET(req, res); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#118
- def make_partial_content(req, res, filename, filesize); end
-
- # returns a lambda for webrick/httpresponse.rb send_body_proc
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#90
- def multipart_body(body, parts, boundary, mtype, filesize); end
-
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#64
- def not_modified?(req, res, mtime, etag); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#155
- def prepare_range(range, filesize); end
-end
-
-# ERBHandler evaluates an ERB file and returns the result. This handler
-# is automatically used if there are .rhtml files in a directory served by
-# the FileHandler.
-#
-# ERBHandler supports GET and POST methods.
-#
-# The ERB file is evaluated with the local variables +servlet_request+ and
-# +servlet_response+ which are a WEBrick::HTTPRequest and
-# WEBrick::HTTPResponse respectively.
-#
-# Example .rhtml file:
-#
-# Request to <%= servlet_request.request_uri %>
-#
-# Query params <%= servlet_request.query.inspect %>
-#
-# source://webrick//lib/webrick/httpservlet/erbhandler.rb#36
-class WEBrick::HTTPServlet::ERBHandler < ::WEBrick::HTTPServlet::AbstractServlet
- # Creates a new ERBHandler on +server+ that will evaluate and serve the
- # ERB file +name+
- #
- # @return [ERBHandler] a new instance of ERBHandler
- #
- # source://webrick//lib/webrick/httpservlet/erbhandler.rb#42
- def initialize(server, name); end
-
- # Handles GET requests
- #
- # source://webrick//lib/webrick/httpservlet/erbhandler.rb#50
- def do_GET(req, res); end
-
- # Handles GET requests
- #
- # Handles POST requests
- #
- # source://webrick//lib/webrick/httpservlet/erbhandler.rb#50
- def do_POST(req, res); end
-
- private
-
- # Evaluates +erb+ providing +servlet_request+ and +servlet_response+ as
- # local variables.
- #
- # source://webrick//lib/webrick/httpservlet/erbhandler.rb#79
- def evaluate(erb, servlet_request, servlet_response); end
-end
-
-# Serves a directory including fancy indexing and a variety of other
-# options.
-#
-# Example:
-#
-# server.mount('/assets', WEBrick::HTTPServlet::FileHandler,
-# '/path/to/assets')
-#
-# source://webrick//lib/webrick/httpservlet/filehandler.rb#175
-class WEBrick::HTTPServlet::FileHandler < ::WEBrick::HTTPServlet::AbstractServlet
- # Creates a FileHandler servlet on +server+ that serves files starting
- # at directory +root+
- #
- # +options+ may be a Hash containing keys from
- # WEBrick::Config::FileHandler or +true+ or +false+.
- #
- # If +options+ is true or false then +:FancyIndexing+ is enabled or
- # disabled respectively.
- #
- # @return [FileHandler] a new instance of FileHandler
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#203
- def initialize(server, root, options = T.unsafe(nil), default = T.unsafe(nil)); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#245
- def do_GET(req, res); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#257
- def do_OPTIONS(req, res); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#251
- def do_POST(req, res); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#224
- def service(req, res); end
-
- # :stopdoc:
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#215
- def set_filesystem_encoding(str); end
-
- private
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#416
- def call_callback(callback_name, req, res); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#369
- def check_filename(req, res, name); end
-
- # @raise [HTTPStatus::NotFound]
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#309
- def exec_handler(req, res); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#322
- def get_handler(req, res); end
-
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#428
- def nondisclosure_name?(name); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#286
- def prevent_directory_traversal(req, res); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#394
- def search_file(req, res, basename); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#385
- def search_index_file(req, res); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#437
- def set_dir_list(req, res); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#335
- def set_filename(req, res); end
-
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#376
- def shift_path_info(req, res, path_info, base = T.unsafe(nil)); end
-
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#277
- def trailing_pathsep?(path); end
-
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#422
- def windows_ambiguous_name?(name); end
-
- class << self
- # Allow custom handling of requests for files with +suffix+ by class
- # +handler+
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#182
- def add_handler(suffix, handler); end
-
- # Remove custom handling of requests for files with +suffix+
- #
- # source://webrick//lib/webrick/httpservlet/filehandler.rb#189
- def remove_handler(suffix); end
- end
-end
-
-# This module is used to manager HTTP status codes.
-#
-# See http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html for more
-# information.
-#
-# source://webrick//lib/webrick/httpstatus.rb#21
-module WEBrick::HTTPStatus
- private
-
- # Is +code+ a client error status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#170
- def client_error?(code); end
-
- # Is +code+ an error status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#164
- def error?(code); end
-
- # Is +code+ an informational status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#146
- def info?(code); end
-
- # Returns the description corresponding to the HTTP status +code+
- #
- # WEBrick::HTTPStatus.reason_phrase 404
- # => "Not Found"
- #
- # source://webrick//lib/webrick/httpstatus.rb#140
- def reason_phrase(code); end
-
- # Is +code+ a redirection status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#158
- def redirect?(code); end
-
- # Is +code+ a server error status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#176
- def server_error?(code); end
-
- # Is +code+ a successful status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#152
- def success?(code); end
-
- class << self
- # Returns the status class corresponding to +code+
- #
- # WEBrick::HTTPStatus[302]
- # => WEBrick::HTTPStatus::NotFound
- #
- # source://webrick//lib/webrick/httpstatus.rb#186
- def [](code); end
-
- # Is +code+ a client error status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#170
- def client_error?(code); end
-
- # Is +code+ an error status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#164
- def error?(code); end
-
- # Is +code+ an informational status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#146
- def info?(code); end
-
- # Returns the description corresponding to the HTTP status +code+
- #
- # WEBrick::HTTPStatus.reason_phrase 404
- # => "Not Found"
- #
- # source://webrick//lib/webrick/httpstatus.rb#140
- def reason_phrase(code); end
-
- # Is +code+ a redirection status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#158
- def redirect?(code); end
-
- # Is +code+ a server error status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#176
- def server_error?(code); end
-
- # Is +code+ a successful status?
- #
- # @return [Boolean]
- #
- # source://webrick//lib/webrick/httpstatus.rb#152
- def success?(code); end
- end
-end
-
-# Root of the HTTP status class hierarchy
-#
-# source://webrick//lib/webrick/httpstatus.rb#25
-class WEBrick::HTTPStatus::Status < ::StandardError
- # Returns the HTTP status code
- #
- # source://webrick//lib/webrick/httpstatus.rb#31
- def code; end
-
- # Returns the HTTP status description
- #
- # source://webrick//lib/webrick/httpstatus.rb#34
- def reason_phrase; end
-
- # Returns the HTTP status code
- #
- # source://webrick//lib/webrick/httpstatus.rb#31
- def to_i; end
-
- class << self
- # source://webrick//lib/webrick/httpstatus.rb#27
- def code; end
-
- # source://webrick//lib/webrick/httpstatus.rb#27
- def reason_phrase; end
- end
-end
-
-# HTTPUtils provides utility methods for working with the HTTP protocol.
-#
-# This module is generally used internally by WEBrick
-#
-# source://webrick//lib/webrick/httputils.rb#25
-module WEBrick::HTTPUtils
- private
-
- # source://webrick//lib/webrick/httputils.rb#443
- def _escape(str, regex); end
-
- # :stopdoc:
- #
- # source://webrick//lib/webrick/httputils.rb#441
- def _make_regex(str); end
-
- # source://webrick//lib/webrick/httputils.rb#442
- def _make_regex!(str); end
-
- # source://webrick//lib/webrick/httputils.rb#449
- def _unescape(str, regex); end
-
- # Removes quotes and escapes from +str+
- #
- # source://webrick//lib/webrick/httputils.rb#223
- def dequote(str); end
-
- # Escapes HTTP reserved and unwise characters in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#467
- def escape(str); end
-
- # Escapes 8 bit characters in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#508
- def escape8bit(str); end
-
- # Escapes form reserved characters in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#481
- def escape_form(str); end
-
- # Escapes path +str+
- #
- # source://webrick//lib/webrick/httputils.rb#497
- def escape_path(str); end
-
- # Loads Apache-compatible mime.types in +file+.
- #
- # source://webrick//lib/webrick/httputils.rb#112
- def load_mime_types(file); end
-
- # Returns the mime type of +filename+ from the list in +mime_tab+. If no
- # mime type was found application/octet-stream is returned.
- #
- # source://webrick//lib/webrick/httputils.rb#134
- def mime_type(filename, mime_tab); end
-
- # Normalizes a request path. Raises an exception if the path cannot be
- # normalized.
- #
- # source://webrick//lib/webrick/httputils.rb#31
- def normalize_path(path); end
-
- # Parses form data in +io+ with the given +boundary+
- #
- # source://webrick//lib/webrick/httputils.rb#395
- def parse_form_data(io, boundary); end
-
- # Parses an HTTP header +raw+ into a hash of header fields with an Array
- # of values.
- #
- # source://webrick//lib/webrick/httputils.rb#145
- def parse_header(raw); end
-
- # Parses the query component of a URI in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#371
- def parse_query(str); end
-
- # Parses q values in +value+ as used in Accept headers.
- #
- # source://webrick//lib/webrick/httputils.rb#202
- def parse_qvalues(value); end
-
- # Parses a Range header value +ranges_specifier+
- #
- # source://webrick//lib/webrick/httputils.rb#184
- def parse_range_header(ranges_specifier); end
-
- # Quotes and escapes quotes in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#233
- def quote(str); end
-
- # Splits a header value +str+ according to HTTP specification.
- #
- # source://webrick//lib/webrick/httputils.rb#175
- def split_header_value(str); end
-
- # Unescapes HTTP reserved and unwise characters in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#474
- def unescape(str); end
-
- # Unescapes form reserved characters in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#490
- def unescape_form(str); end
-
- class << self
- # source://webrick//lib/webrick/httputils.rb#443
- def _escape(str, regex); end
-
- # :stopdoc:
- #
- # source://webrick//lib/webrick/httputils.rb#441
- def _make_regex(str); end
-
- # source://webrick//lib/webrick/httputils.rb#442
- def _make_regex!(str); end
-
- # source://webrick//lib/webrick/httputils.rb#449
- def _unescape(str, regex); end
-
- # Removes quotes and escapes from +str+
- #
- # source://webrick//lib/webrick/httputils.rb#223
- def dequote(str); end
-
- # Escapes HTTP reserved and unwise characters in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#467
- def escape(str); end
-
- # Escapes 8 bit characters in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#508
- def escape8bit(str); end
-
- # Escapes form reserved characters in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#481
- def escape_form(str); end
-
- # Escapes path +str+
- #
- # source://webrick//lib/webrick/httputils.rb#497
- def escape_path(str); end
-
- # Loads Apache-compatible mime.types in +file+.
- #
- # source://webrick//lib/webrick/httputils.rb#112
- def load_mime_types(file); end
-
- # Returns the mime type of +filename+ from the list in +mime_tab+. If no
- # mime type was found application/octet-stream is returned.
- #
- # source://webrick//lib/webrick/httputils.rb#134
- def mime_type(filename, mime_tab); end
-
- # Normalizes a request path. Raises an exception if the path cannot be
- # normalized.
- #
- # source://webrick//lib/webrick/httputils.rb#31
- def normalize_path(path); end
-
- # Parses form data in +io+ with the given +boundary+
- #
- # source://webrick//lib/webrick/httputils.rb#395
- def parse_form_data(io, boundary); end
-
- # Parses an HTTP header +raw+ into a hash of header fields with an Array
- # of values.
- #
- # source://webrick//lib/webrick/httputils.rb#145
- def parse_header(raw); end
-
- # Parses the query component of a URI in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#371
- def parse_query(str); end
-
- # Parses q values in +value+ as used in Accept headers.
- #
- # source://webrick//lib/webrick/httputils.rb#202
- def parse_qvalues(value); end
-
- # Parses a Range header value +ranges_specifier+
- #
- # source://webrick//lib/webrick/httputils.rb#184
- def parse_range_header(ranges_specifier); end
-
- # Quotes and escapes quotes in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#233
- def quote(str); end
-
- # Splits a header value +str+ according to HTTP specification.
- #
- # source://webrick//lib/webrick/httputils.rb#175
- def split_header_value(str); end
-
- # Unescapes HTTP reserved and unwise characters in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#474
- def unescape(str); end
-
- # Unescapes form reserved characters in +str+
- #
- # source://webrick//lib/webrick/httputils.rb#490
- def unescape_form(str); end
- end
-end
-
-# Stores multipart form data. FormData objects are created when
-# WEBrick::HTTPUtils.parse_form_data is called.
-#
-# source://webrick//lib/webrick/httputils.rb#242
-class WEBrick::HTTPUtils::FormData < ::String
- # Creates a new FormData object.
- #
- # +args+ is an Array of form data entries. One FormData will be created
- # for each entry.
- #
- # This is called by WEBrick::HTTPUtils.parse_form_data for you
- #
- # @return [FormData] a new instance of FormData
- #
- # source://webrick//lib/webrick/httputils.rb#267
- def initialize(*args); end
-
- # Adds +str+ to this FormData which may be the body, a header or a
- # header entry.
- #
- # This is called by WEBrick::HTTPUtils.parse_form_data for you
- #
- # source://webrick//lib/webrick/httputils.rb#300
- def <<(str); end
-
- # Retrieves the header at the first entry in +key+
- #
- # source://webrick//lib/webrick/httputils.rb#286
- def [](*key); end
-
- # Adds +data+ at the end of the chain of entries
- #
- # This is called by WEBrick::HTTPUtils.parse_form_data for you.
- #
- # source://webrick//lib/webrick/httputils.rb#320
- def append_data(data); end
-
- # Yields each entry in this FormData
- #
- # source://webrick//lib/webrick/httputils.rb#335
- def each_data; end
-
- # The filename of the form data part
- #
- # source://webrick//lib/webrick/httputils.rb#254
- def filename; end
-
- # The filename of the form data part
- #
- # source://webrick//lib/webrick/httputils.rb#254
- def filename=(_arg0); end
-
- # Returns all the FormData as an Array
- #
- # source://webrick//lib/webrick/httputils.rb#347
- def list; end
-
- # The name of the form data part
- #
- # source://webrick//lib/webrick/httputils.rb#249
- def name; end
-
- # The name of the form data part
- #
- # source://webrick//lib/webrick/httputils.rb#249
- def name=(_arg0); end
-
- # source://webrick//lib/webrick/httputils.rb#256
- def next_data=(_arg0); end
-
- # Returns all the FormData as an Array
- #
- # A FormData will behave like an Array
- #
- # source://webrick//lib/webrick/httputils.rb#347
- def to_ary; end
-
- # This FormData's body
- #
- # source://webrick//lib/webrick/httputils.rb#363
- def to_s; end
-
- protected
-
- # source://webrick//lib/webrick/httputils.rb#256
- def next_data; end
-end
-
-# source://webrick//lib/webrick/utils.rb#17
-module WEBrick::Utils
- private
-
- # Creates TCP server sockets bound to +address+:+port+ and returns them.
- #
- # It will create IPV4 and IPV6 sockets on all interfaces.
- #
- # source://webrick//lib/webrick/utils.rb#56
- def create_listeners(address, port); end
-
- # The server hostname
- #
- # source://webrick//lib/webrick/utils.rb#47
- def getservername; end
-
- # Generates a random string of length +len+
- #
- # source://webrick//lib/webrick/utils.rb#79
- def random_string(len); end
-
- # Sets the close on exec flag for +io+
- #
- # source://webrick//lib/webrick/utils.rb#27
- def set_close_on_exec(io); end
-
- # Sets IO operations on +io+ to be non-blocking
- #
- # source://webrick//lib/webrick/utils.rb#20
- def set_non_blocking(io); end
-
- # Changes the process's uid and gid to the ones of +user+
- #
- # source://webrick//lib/webrick/utils.rb#34
- def su(user); end
-
- # Executes the passed block and raises +exception+ if execution takes more
- # than +seconds+.
- #
- # If +seconds+ is zero or nil, simply executes the block
- #
- # source://webrick//lib/webrick/utils.rb#253
- def timeout(seconds, exception = T.unsafe(nil)); end
-
- class << self
- # Creates TCP server sockets bound to +address+:+port+ and returns them.
- #
- # It will create IPV4 and IPV6 sockets on all interfaces.
- #
- # source://webrick//lib/webrick/utils.rb#56
- def create_listeners(address, port); end
-
- # The server hostname
- #
- # source://webrick//lib/webrick/utils.rb#47
- def getservername; end
-
- # Generates a random string of length +len+
- #
- # source://webrick//lib/webrick/utils.rb#79
- def random_string(len); end
-
- # Sets the close on exec flag for +io+
- #
- # source://webrick//lib/webrick/utils.rb#27
- def set_close_on_exec(io); end
-
- # Sets IO operations on +io+ to be non-blocking
- #
- # source://webrick//lib/webrick/utils.rb#20
- def set_non_blocking(io); end
-
- # Changes the process's uid and gid to the ones of +user+
- #
- # source://webrick//lib/webrick/utils.rb#34
- def su(user); end
-
- # Executes the passed block and raises +exception+ if execution takes more
- # than +seconds+.
- #
- # If +seconds+ is zero or nil, simply executes the block
- #
- # source://webrick//lib/webrick/utils.rb#253
- def timeout(seconds, exception = T.unsafe(nil)); end
- end
-end
-
-# Class used to manage timeout handlers across multiple threads.
-#
-# Timeout handlers should be managed by using the class methods which are
-# synchronized.
-#
-# id = TimeoutHandler.register(10, Timeout::Error)
-# begin
-# sleep 20
-# puts 'foo'
-# ensure
-# TimeoutHandler.cancel(id)
-# end
-#
-# will raise Timeout::Error
-#
-# id = TimeoutHandler.register(10, Timeout::Error)
-# begin
-# sleep 5
-# puts 'foo'
-# ensure
-# TimeoutHandler.cancel(id)
-# end
-#
-# will print 'foo'
-#
-# source://webrick//lib/webrick/utils.rb#118
-class WEBrick::Utils::TimeoutHandler
- include ::Singleton
- extend ::Singleton::SingletonClassMethods
-
- # Creates a new TimeoutHandler. You should use ::register and ::cancel
- # instead of creating the timeout handler directly.
- #
- # @return [TimeoutHandler] a new instance of TimeoutHandler
- #
- # source://webrick//lib/webrick/utils.rb#148
- def initialize; end
-
- # Cancels the timeout handler +id+
- #
- # source://webrick//lib/webrick/utils.rb#226
- def cancel(thread, id); end
-
- # Interrupts the timeout handler +id+ and raises +exception+
- #
- # source://webrick//lib/webrick/utils.rb#203
- def interrupt(thread, id, exception); end
-
- # Registers a new timeout handler
- #
- # +time+:: Timeout in seconds
- # +exception+:: Exception to raise when timeout elapsed
- #
- # source://webrick//lib/webrick/utils.rb#214
- def register(thread, time, exception); end
-
- # source://webrick//lib/webrick/utils.rb#240
- def terminate; end
-
- private
-
- # source://webrick//lib/webrick/utils.rb#158
- def watch; end
-
- # source://webrick//lib/webrick/utils.rb#193
- def watcher; end
-
- class << self
- # Cancels the timeout handler +id+
- #
- # source://webrick//lib/webrick/utils.rb#137
- def cancel(id); end
-
- # Registers a new timeout handler
- #
- # +time+:: Timeout in seconds
- # +exception+:: Exception to raise when timeout elapsed
- #
- # source://webrick//lib/webrick/utils.rb#130
- def register(seconds, exception); end
-
- # source://webrick//lib/webrick/utils.rb#141
- def terminate; end
- end
-end
diff --git a/sorbet/rbi/gems/yard-sorbet@0.8.0.rbi b/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
similarity index 92%
rename from sorbet/rbi/gems/yard-sorbet@0.8.0.rbi
rename to sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
index cb323f93..fb10cc0d 100644
--- a/sorbet/rbi/gems/yard-sorbet@0.8.0.rbi
+++ b/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
@@ -231,7 +231,7 @@ class YARDSorbet::Handlers::StructPropHandler < ::YARD::Handlers::Ruby::Base
def make_prop(name); end
# source://yard-sorbet//lib/yard-sorbet/handlers/struct_prop_handler.rb#60
- sig { returns(T::Array[T.untyped]) }
+ sig { returns(T::Array[::YARD::Parser::Ruby::AstNode]) }
def params; end
# Register the field explicitly as an attribute.
@@ -322,67 +322,54 @@ module YARDSorbet::SigToYARD
class << self
# @see https://yardoc.org/types.html
#
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#22
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#23
sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) }
def convert(node); end
private
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#55
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#61
sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(::String) }
def build_generic_type(node); end
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#64
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#70
sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) }
def convert_aref(node); end
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#76
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#82
sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) }
def convert_array(node); end
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#84
- sig { params(node: ::YARD::Parser::Ruby::MethodCallNode).returns(T::Array[::String]) }
- def convert_call(node); end
-
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#89
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#90
sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) }
def convert_collection(node); end
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#96
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#97
sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) }
def convert_hash(node); end
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#104
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#105
sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) }
def convert_list(node); end
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#28
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#31
sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) }
def convert_node(node); end
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#37
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#43
sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) }
def convert_node_type(node); end
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#109
- sig { params(node_source: ::String).returns([::String]) }
- def convert_ref(node_source); end
-
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#114
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#110
sig { params(node: ::YARD::Parser::Ruby::MethodCallNode).returns(T::Array[::String]) }
def convert_t_method(node); end
- # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#125
+ # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#121
sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) }
def convert_unknown(node); end
end
end
-# Map of common types to YARD conventions (in order to reduce allocations)
-#
-# source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#10
-YARDSorbet::SigToYARD::REF_TYPES = T.let(T.unsafe(nil), Hash)
-
# Used to store the details of a `T::Struct` `prop` definition
#
# source://yard-sorbet//lib/yard-sorbet/t_struct_prop.rb#6
@@ -394,7 +381,7 @@ class YARDSorbet::TStructProp < ::T::Struct
const :types, T::Array[::String]
class << self
- # source://sorbet-runtime/0.5.10741/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
def inherited(s); end
end
end
diff --git a/sorbet/rbi/gems/yard@0.9.28.rbi b/sorbet/rbi/gems/yard@0.9.34.rbi
similarity index 95%
rename from sorbet/rbi/gems/yard@0.9.28.rbi
rename to sorbet/rbi/gems/yard@0.9.34.rbi
index ac8624f8..39510918 100644
--- a/sorbet/rbi/gems/yard@0.9.28.rbi
+++ b/sorbet/rbi/gems/yard@0.9.34.rbi
@@ -503,7 +503,7 @@ end
# A subclass of Hash where all keys are converted into Symbols, and
# optionally, all String values are converted into Symbols.
#
-# source://yard//lib/yard/core_ext/symbol_hash.rb#8
+# source://yard//lib/yard/core_ext/symbol_hash.rb#4
class SymbolHash < ::Hash
# Creates a new SymbolHash object
#
@@ -590,28 +590,6 @@ class SymbolHash < ::Hash
end
end
-# @private
-#
-# source://yard//lib/yard/server/webrick_adapter.rb#42
-class WEBrick::HTTPRequest
- # Returns the value of attribute version_supplied.
- #
- # source://yard//lib/yard/server/webrick_adapter.rb#43
- def version_supplied; end
-
- # Sets the attribute version_supplied
- #
- # @param value the value to set the attribute version_supplied to.
- #
- # source://yard//lib/yard/server/webrick_adapter.rb#43
- def version_supplied=(_arg0); end
-
- # @return [Boolean]
- #
- # source://yard//lib/yard/server/webrick_adapter.rb#44
- def xhr?; end
-end
-
# Gem::YARDoc provides methods to generate YARDoc and yri data for installed gems
# upon gem installation.
#
@@ -830,7 +808,7 @@ end
#
# @since 0.6.2
#
-# source://yard//lib/yard/cli/config.rb#7
+# source://yard//lib/yard/cli/config.rb#6
class YARD::CLI::Config < ::YARD::CLI::Command
# @return [Config] a new instance of Config
# @since 0.6.2
@@ -1151,7 +1129,7 @@ end
# @see Graph#run
# @since 0.6.0
#
-# source://yard//lib/yard/cli/graph.rb#27
+# source://yard//lib/yard/cli/graph.rb#24
class YARD::CLI::Graph < ::YARD::CLI::YardoptsCommand
# Creates a new instance of the command-line utility
#
@@ -1211,7 +1189,7 @@ end
# Options to pass to the {Graph} CLI.
#
-# source://yard//lib/yard/cli/graph.rb#6
+# source://yard//lib/yard/cli/graph.rb#5
class YARD::CLI::GraphOptions < ::YARD::Templates::TemplateOptions
# @return [String] any contents to pass to the digraph
#
@@ -1351,7 +1329,7 @@ end
#
# @since 0.6.0
#
-# source://yard//lib/yard/cli/server.rb#8
+# source://yard//lib/yard/cli/server.rb#7
class YARD::CLI::Server < ::YARD::CLI::Command
# Creates a new instance of the Server command line utility
#
@@ -1654,7 +1632,7 @@ YARD::CLI::Stats::STATS_ORDER = T.let(T.unsafe(nil), Array)
# A tool to view documentation in the console like `ri`
#
-# source://yard//lib/yard/cli/yri.rb#9
+# source://yard//lib/yard/cli/yri.rb#7
class YARD::CLI::YRI < ::YARD::CLI::Command
# @return [YRI] a new instance of YRI
#
@@ -1784,7 +1762,7 @@ YARD::CLI::YRI::DEFAULT_SEARCH_PATHS = T.let(T.unsafe(nil), Array)
# source://yard//lib/yard/cli/yri.rb#15
YARD::CLI::YRI::SEARCH_PATHS_FILE = T.let(T.unsafe(nil), String)
-# source://yard//lib/yard/cli/yardoc.rb#147
+# source://yard//lib/yard/cli/yardoc.rb#145
class YARD::CLI::Yardoc < ::YARD::CLI::YardoptsCommand
# Creates a new instance of the commandline utility
#
@@ -2121,7 +2099,7 @@ class YARD::CLI::Yardoc < ::YARD::CLI::YardoptsCommand
# Generates output for objects
#
- # @param checksums [Hash, nil] if supplied, a list of checkums for files.
+ # @param checksums [Hash, nil] if supplied, a list of checksums for files.
# @return [void]
# @since 0.5.1
#
@@ -2157,7 +2135,7 @@ end
# Default options used in +yard doc+ command.
#
-# source://yard//lib/yard/cli/yardoc.rb#10
+# source://yard//lib/yard/cli/yardoc.rb#8
class YARD::CLI::YardocOptions < ::YARD::Templates::TemplateOptions
# @return [CodeObjects::ExtraFileObject] the file object being rendered.
# The +object+ key is not used so that a file may be rendered in the context
@@ -2285,7 +2263,7 @@ end
# @abstract
# @since 0.8.3
#
-# source://yard//lib/yard/cli/yardopts_command.rb#11
+# source://yard//lib/yard/cli/yardopts_command.rb#10
class YARD::CLI::YardoptsCommand < ::YARD::CLI::Command
# Creates a new command that reads .yardopts
#
@@ -2542,7 +2520,7 @@ class YARD::CodeObjects::Base
# @see Docstring#add_tag
# @since 0.8.4
#
- # source://yard//lib/yard/code_objects/base.rb#557
+ # source://yard//lib/yard/code_objects/base.rb#560
def add_tag(*tags); end
# The non-localized documentation string associated with the object
@@ -2651,7 +2629,7 @@ class YARD::CodeObjects::Base
# @return [String] the rendered template
# @see Templates::Engine#render
#
- # source://yard//lib/yard/code_objects/base.rb#501
+ # source://yard//lib/yard/code_objects/base.rb#504
def format(options = T.unsafe(nil)); end
# @return [String] the group this object is associated with
@@ -2671,7 +2649,7 @@ class YARD::CodeObjects::Base
# @return [Boolean]
# @see Docstring#has_tag?
#
- # source://yard//lib/yard/code_objects/base.rb#552
+ # source://yard//lib/yard/code_objects/base.rb#555
def has_tag?(name); end
# @return [Integer] the object's hash value (for equality checking)
@@ -2683,7 +2661,7 @@ class YARD::CodeObjects::Base
#
# @return [String] a string describing the object
#
- # source://yard//lib/yard/code_objects/base.rb#509
+ # source://yard//lib/yard/code_objects/base.rb#512
def inspect; end
# Returns the line the object was first parsed at (or nil)
@@ -2725,7 +2703,7 @@ class YARD::CodeObjects::Base
# for {Registry.root}). If obj is nil, the object is unregistered
# from the Registry.
#
- # source://yard//lib/yard/code_objects/base.rb#518
+ # source://yard//lib/yard/code_objects/base.rb#521
def namespace=(obj); end
# The namespace the object is defined in. If the object is in the
@@ -2742,7 +2720,7 @@ class YARD::CodeObjects::Base
# for {Registry.root}). If obj is nil, the object is unregistered
# from the Registry.
#
- # source://yard//lib/yard/code_objects/base.rb#518
+ # source://yard//lib/yard/code_objects/base.rb#521
def parent=(obj); end
# Represents the unique path of the object. The default implementation
@@ -2755,19 +2733,19 @@ class YARD::CodeObjects::Base
# @return [String] the unique path of the object
# @see #sep
#
- # source://yard//lib/yard/code_objects/base.rb#449
+ # source://yard//lib/yard/code_objects/base.rb#452
def path; end
# @param other [Base, String] another code object (or object path)
# @return [String] the shortest relative path from this object to +other+
# @since 0.5.3
#
- # source://yard//lib/yard/code_objects/base.rb#471
+ # source://yard//lib/yard/code_objects/base.rb#474
def relative_path(other); end
# @return [Boolean] whether or not this object is a RootObject
#
- # source://yard//lib/yard/code_objects/base.rb#563
+ # source://yard//lib/yard/code_objects/base.rb#566
def root?; end
# Override this method with a custom component separator. For instance,
@@ -2778,7 +2756,7 @@ class YARD::CodeObjects::Base
# @return [String] the component that separates the namespace path
# and the name (default is {NSEP})
#
- # source://yard//lib/yard/code_objects/base.rb#572
+ # source://yard//lib/yard/code_objects/base.rb#575
def sep; end
# The one line signature representing an object. For a method, this will
@@ -2834,14 +2812,14 @@ class YARD::CodeObjects::Base
#
# @see Docstring#tag
#
- # source://yard//lib/yard/code_objects/base.rb#544
+ # source://yard//lib/yard/code_objects/base.rb#547
def tag(name); end
# Gets a list of tags from the {#docstring}
#
# @see Docstring#tags
#
- # source://yard//lib/yard/code_objects/base.rb#548
+ # source://yard//lib/yard/code_objects/base.rb#551
def tags(name = T.unsafe(nil)); end
# @note Override this method if your object has a special title that does
@@ -2850,7 +2828,7 @@ class YARD::CodeObjects::Base
# @return [String] the display title for an object
# @see 0.8.4
#
- # source://yard//lib/yard/code_objects/base.rb#464
+ # source://yard//lib/yard/code_objects/base.rb#467
def title; end
# @return [nil] this object does not turn into an array
@@ -2868,7 +2846,7 @@ class YARD::CodeObjects::Base
# @return [String] the unique path of the object
# @see #sep
#
- # source://yard//lib/yard/code_objects/base.rb#449
+ # source://yard//lib/yard/code_objects/base.rb#452
def to_s; end
# Default type is the lowercase class name without the "Object" suffix.
@@ -2899,7 +2877,7 @@ class YARD::CodeObjects::Base
# @see #copy_to
# @since 0.8.0
#
- # source://yard//lib/yard/code_objects/base.rb#583
+ # source://yard//lib/yard/code_objects/base.rb#586
def copyable_attributes; end
private
@@ -2909,10 +2887,10 @@ class YARD::CodeObjects::Base
# @param source [String] the source code to format
# @return [String] formatted source
#
- # source://yard//lib/yard/code_objects/base.rb#595
+ # source://yard//lib/yard/code_objects/base.rb#598
def format_source(source); end
- # source://yard//lib/yard/code_objects/base.rb#602
+ # source://yard//lib/yard/code_objects/base.rb#605
def translate_docstring(locale); end
class << self
@@ -2959,7 +2937,7 @@ YARD::CodeObjects::CSEPQ = T.let(T.unsafe(nil), String)
# A ClassObject represents a Ruby class in source code. It is a {ModuleObject}
# with extra inheritance semantics through the superclass.
#
-# source://yard//lib/yard/code_objects/class_object.rb#9
+# source://yard//lib/yard/code_objects/class_object.rb#7
class YARD::CodeObjects::ClassObject < ::YARD::CodeObjects::NamespaceObject
# Creates a new class object in +namespace+ with +name+
#
@@ -3040,7 +3018,7 @@ end
# Represents a class variable inside a namespace. The path is expressed
# in the form "A::B::@@classvariable"
#
-# source://yard//lib/yard/code_objects/class_variable_object.rb#8
+# source://yard//lib/yard/code_objects/class_variable_object.rb#7
class YARD::CodeObjects::ClassVariableObject < ::YARD::CodeObjects::Base
# @return [String] the class variable's value
#
@@ -3056,7 +3034,7 @@ end
# A list of code objects. This array acts like a set (no unique items)
# but also disallows any {Proxy} objects from being added.
#
-# source://yard//lib/yard/code_objects/base.rb#10
+# source://yard//lib/yard/code_objects/base.rb#6
class YARD::CodeObjects::CodeObjectList < ::Array
# Creates a new object list associated with a namespace
#
@@ -3086,7 +3064,7 @@ end
# A +ConstantObject+ represents a Ruby constant (not a module or class).
# To access the constant's (source code) value, use {#value}.
#
-# source://yard//lib/yard/code_objects/constant_object.rb#9
+# source://yard//lib/yard/code_objects/constant_object.rb#7
class YARD::CodeObjects::ConstantObject < ::YARD::CodeObjects::Base
# The source code representing the constant's value
#
@@ -3453,7 +3431,7 @@ YARD::CodeObjects::MacroObject::MACRO_MATCH = T.let(T.unsafe(nil), Regexp)
# Represents a Ruby method in source
#
-# source://yard//lib/yard/code_objects/method_object.rb#10
+# source://yard//lib/yard/code_objects/method_object.rb#7
class YARD::CodeObjects::MethodObject < ::YARD::CodeObjects::Base
# Creates a new method object in +namespace+ with +name+ and an instance
# or class +scope+
@@ -3626,7 +3604,7 @@ end
# Represents a Ruby module.
#
-# source://yard//lib/yard/code_objects/module_object.rb#11
+# source://yard//lib/yard/code_objects/module_object.rb#6
class YARD::CodeObjects::ModuleObject < ::YARD::CodeObjects::NamespaceObject
# Returns the inheritance tree of mixins.
#
@@ -3791,7 +3769,7 @@ end
# The two main Ruby objects that can act as namespaces are modules
# ({ModuleObject}) and classes ({ClassObject}).
#
-# source://yard//lib/yard/code_objects/namespace_object.rb#11
+# source://yard//lib/yard/code_objects/namespace_object.rb#9
class YARD::CodeObjects::NamespaceObject < ::YARD::CodeObjects::Base
# Creates a new namespace object inside +namespace+ with +name+.
#
@@ -4763,7 +4741,7 @@ YARD::Docstring::META_MATCH = T.let(T.unsafe(nil), Regexp)
#
# == Subclassing Notes
#
-# The DocstringParser can be subclassed and subtituted during parsing by
+# The DocstringParser can be subclassed and substituted during parsing by
# setting the {Docstring.default_parser} attribute with the name of the
# subclass. This allows developers to change the way docstrings are
# parsed, allowing for completely different docstring syntaxes.
@@ -5937,7 +5915,7 @@ class YARD::Handlers::HandlerAborted < ::RuntimeError; end
# an operation on an object's namespace but the namespace could
# not be resolved.
#
-# source://yard//lib/yard/handlers/base.rb#15
+# source://yard//lib/yard/handlers/base.rb#13
class YARD::Handlers::NamespaceMissingError < ::YARD::Parser::UndocumentableError
# @return [NamespaceMissingError] a new instance of NamespaceMissingError
#
@@ -6525,7 +6503,7 @@ class YARD::Handlers::Ruby::Legacy::AttributeHandler < ::YARD::Handlers::Ruby::L
#
# @abstract See {Handlers::Base} for subclassing information.
#
-# source://yard//lib/yard/handlers/ruby/legacy/base.rb#10
+# source://yard//lib/yard/handlers/ruby/legacy/base.rb#9
class YARD::Handlers::Ruby::Legacy::Base < ::YARD::Handlers::Base
include ::YARD::Parser::Ruby::Legacy::RubyToken
@@ -6843,7 +6821,7 @@ class YARD::Handlers::Ruby::MixinHandler < ::YARD::Handlers::Ruby::Base
# source://yard//lib/yard/handlers/ruby/mixin_handler.rb#25
def process_mixin(mixin); end
- # source://yard//lib/yard/handlers/ruby/mixin_handler.rb#43
+ # source://yard//lib/yard/handlers/ruby/mixin_handler.rb#50
def recipient(mixin); end
end
@@ -7068,7 +7046,7 @@ class YARD::I18n::Locale
def name; end
# @param message [String] the translation target message.
- # @return [String] translated message. If tarnslation isn't
+ # @return [String] translated message. If translation isn't
# registered, the +message+ is returned.
# @since 0.8.2
#
@@ -7097,7 +7075,7 @@ end
#
# source://yard//lib/yard/i18n/message.rb#10
class YARD::I18n::Message
- # Creates a trasnlate target message for message ID +id+.
+ # Creates a translate target message for message ID +id+.
#
# @param id [String] the message ID of the translate target message.
# @return [Message] a new instance of Message
@@ -7138,7 +7116,7 @@ class YARD::I18n::Message
# source://yard//lib/yard/i18n/message.rb#19
def comments; end
- # @return [String] the message ID of the trnslation target message.
+ # @return [String] the message ID of the translation target message.
# @since 0.8.1
#
# source://yard//lib/yard/i18n/message.rb#12
@@ -7196,7 +7174,7 @@ class YARD::I18n::Messages
# source://yard//lib/yard/i18n/messages.rb#20
def each(&block); end
- # Registers a {Message}, the mssage ID of which is +id+. If
+ # Registers a {Message}, the message ID of which is +id+. If
# corresponding +Message+ is already registered, the previously
# registered object is returned.
#
@@ -7298,7 +7276,7 @@ class YARD::I18n::PotGenerator
#
# Locations of the +Message+ are used to generate the reference
# line that is started with "#: ". +relative_base_path+ passed
- # when the generater is created is prepended to each path in location.
+ # when the generator is created is prepended to each path in location.
#
# Comments of the +Message+ are used to generate the
# translator-comment line that is started with "# ".
@@ -7481,7 +7459,7 @@ end
# Handles console logging for info, warnings and errors.
# Uses the stdlib Logger class in Ruby for all the backend logic.
#
-# source://yard//lib/yard/logging.rb#12
+# source://yard//lib/yard/logging.rb#9
class YARD::Logger < ::Logger
# Creates a new logger
#
@@ -7657,7 +7635,7 @@ class YARD::Logger < ::Logger
# source://yard//lib/yard/logging.rb#201
def format_log(sev, _time, _prog, msg); end
- # source://logger/1.5.0/logger.rb#485
+ # source://logger/1.5.3/logger.rb#682
def print_no_newline(msg); end
class << self
@@ -7767,7 +7745,7 @@ class YARD::Options
#
# @example Setting an option with Hash syntax
# options[:format] = :html # equivalent to: options.format = :html
- # @param key [Symbol, String] the optin to set
+ # @param key [Symbol, String] the option to set
# @param value [Object] the value to set for the option
# @return [Object] the value being set
#
@@ -10126,490 +10104,490 @@ class YARD::Parser::Ruby::RipperParser < ::Ripper
# source://yard//lib/yard/parser/ruby/ruby_parser.rb#29
def frozen_string_line; end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_BEGIN(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_CHAR(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_END(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on___end__(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_alias(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_alias_error(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_arg_ambiguous(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_arg_paren(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_args_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_args_add_block(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_args_add_star(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_args_forward(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155
def on_args_new(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_aryptn(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_assign(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_assign_error(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_assoc_splat(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_backref(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_backtick(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_begin(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_binary(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_block_var(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_blockarg(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_brace_block(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_break(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_call(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_case(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_class(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_class_name_error(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_comma(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_command(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_command_call(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_const(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_const_path_field(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_const_ref(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_cvar(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_def(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_defined(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_defs(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_do_block(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_dot2(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_dot3(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_else(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_elsif(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_embexpr_beg(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_embexpr_end(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_embvar(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_ensure(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_excessed_comma(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_fcall(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_field(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_float(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_fndptn(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_for(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_gvar(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_heredoc_beg(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_heredoc_dedent(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_heredoc_end(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_hshptn(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_ident(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_if(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#443
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#449
def on_if_mod(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_ifop(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#216
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#222
def on_ignored_nl(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_ignored_sp(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_imaginary(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_in(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_int(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_ivar(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#203
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#209
def on_kw(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_kwrest_param(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_label_end(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_lbrace(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_lparen(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_magic_comment(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_massign(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_method_add_arg(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_method_add_block(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_mlhs_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_mlhs_add_post(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_mlhs_add_star(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155
def on_mlhs_new(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_mlhs_paren(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_module(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_mrhs_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_mrhs_add_star(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155
def on_mrhs_new(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_mrhs_new_from_args(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_next(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#216
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#222
def on_nl(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_nokw_param(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#203
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#209
def on_op(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_opassign(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_operator_ambiguous(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_param_error(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_paren(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_period(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#468
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#474
def on_qsymbols_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_qsymbols_beg(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#456
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#462
def on_qsymbols_new(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#468
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#474
def on_qwords_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_qwords_beg(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#456
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#462
def on_qwords_new(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_rational(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_rbrace(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_redo(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_regexp_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_regexp_beg(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_regexp_end(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_regexp_literal(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155
def on_regexp_new(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_rescue_mod(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_rest_param(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_retry(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_return(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_return0(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_rparen(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_sclass(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_semicolon(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_stmts_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155
def on_stmts_new(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_string_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_string_concat(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_string_dvar(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_string_embexpr(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_super(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_symbeg(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_symbol(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_symbol_literal(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#468
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#474
def on_symbols_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_symbols_beg(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#456
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#462
def on_symbols_new(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_tlambda(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_tlambeg(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_top_const_field(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_tstring_beg(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_tstring_content(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_tstring_end(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_undef(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_unless(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#443
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#449
def on_unless_mod(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_until(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#443
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#449
def on_until_mod(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_var_alias(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_var_field(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_var_ref(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177
def on_vcall(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_when(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_while(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#443
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#449
def on_while_mod(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_word_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155
def on_word_new(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#468
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#474
def on_words_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199
def on_words_beg(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#456
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#462
def on_words_new(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188
def on_words_sep(tok); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162
def on_xstring_add(list, item); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_xstring_literal(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155
def on_xstring_new(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_yield(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_yield0(*args); end
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170
def on_zsuper(*args); end
# @since 0.5.6
@@ -10636,195 +10614,195 @@ class YARD::Parser::Ruby::RipperParser < ::Ripper
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#661
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#667
def add_comment(line, node = T.unsafe(nil), before_node = T.unsafe(nil), into = T.unsafe(nil)); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#265
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#271
def add_token(token, data); end
# @return [Boolean]
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#605
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#611
def comment_starts_line?(charno); end
# @raise [ParserSyntaxError]
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#600
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#606
def compile_error(msg); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#687
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#693
def freeze_tree(node = T.unsafe(nil)); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#614
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#620
def insert_comments; end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#371
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#377
def on_aref(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#379
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#385
def on_aref_field(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#385
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#391
def on_array(other); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#346
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#352
def on_assoc_new(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#358
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#364
def on_assoclist_from_args(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#354
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#360
def on_bare_assoc_hash(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#341
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#347
def on_body_stmt(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#341
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#347
def on_bodystmt(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#536
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#542
def on_comment(comment); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#435
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#441
def on_const_path_ref(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#413
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#419
def on_dyna_symbol(sym); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#586
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#592
def on_embdoc(text); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#580
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#586
def on_embdoc_beg(text); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#591
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#597
def on_embdoc_end(text); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#350
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#356
def on_hash(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#528
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#534
def on_label(data); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#491
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#497
def on_lambda(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#403
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#409
def on_lbracket(tok); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#509
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#515
def on_params(*args); end
# @raise [ParserSyntaxError]
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#600
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#606
def on_parse_error(msg); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#337
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#343
def on_program(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#408
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#414
def on_rbracket(tok); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#500
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#506
def on_rescue(exc, *args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#226
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#232
def on_sp(tok); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#495
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#501
def on_string_content(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#478
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#484
def on_string_literal(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#423
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#429
def on_top_const_ref(*args); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#362
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#368
def on_unary(op, val); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#505
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#511
def on_void_stmt; end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#231
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#237
def visit_event(node); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#245
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#251
def visit_event_arr(node); end
# @since 0.5.6
#
- # source://yard//lib/yard/parser/ruby/ruby_parser.rb#253
+ # source://yard//lib/yard/parser/ruby/ruby_parser.rb#259
def visit_ns_token(token, data, ast_token = T.unsafe(nil)); end
end
@@ -10833,6 +10811,11 @@ end
# source://yard//lib/yard/parser/ruby/ruby_parser.rb#133
YARD::Parser::Ruby::RipperParser::AST_TOKENS = T.let(T.unsafe(nil), Array)
+# @since 0.5.6
+#
+# source://yard//lib/yard/parser/ruby/ruby_parser.rb#136
+YARD::Parser::Ruby::RipperParser::COMMENT_SKIP_NODE_TYPES = T.let(T.unsafe(nil), Array)
+
# @since 0.5.6
#
# source://yard//lib/yard/parser/ruby/ruby_parser.rb#78
@@ -11377,7 +11360,7 @@ module YARD::Rake; end
# The rake task to run {CLI::Yardoc} and generate documentation.
#
-# source://yard//lib/yard/rake/yardoc_task.rb#10
+# source://yard//lib/yard/rake/yardoc_task.rb#8
class YARD::Rake::YardocTask < ::Rake::TaskLib
# Creates a new task with name +name+.
#
@@ -11938,7 +11921,7 @@ class YARD::RegistryResolver
#
# @since 0.9.1
#
- # source://yard//lib/yard/registry_resolver.rb#180
+ # source://yard//lib/yard/registry_resolver.rb#181
def collect_namespaces(object); end
# Performs a lexical lookup from a namespace for a path and a type hint.
@@ -11959,20 +11942,20 @@ class YARD::RegistryResolver
# occurrences of separator tokens
# @since 0.9.1
#
- # source://yard//lib/yard/registry_resolver.rb#205
+ # source://yard//lib/yard/registry_resolver.rb#206
def split_on_separators_match; end
# @return [Regexp] the regexp match of the default separator
# @since 0.9.1
#
- # source://yard//lib/yard/registry_resolver.rb#193
+ # source://yard//lib/yard/registry_resolver.rb#194
def starts_with_default_separator_match; end
# @return [Regexp] the regexp that matches strings starting with
# a separator
# @since 0.9.1
#
- # source://yard//lib/yard/registry_resolver.rb#199
+ # source://yard//lib/yard/registry_resolver.rb#200
def starts_with_separator_match; end
# return [Boolean] if the obj's type matches the provided type.
@@ -12315,7 +12298,7 @@ end
# Implements a serializer that reads from and writes to the filesystem.
#
-# source://yard//lib/yard/serializers/file_system_serializer.rb#7
+# source://yard//lib/yard/serializers/file_system_serializer.rb#5
class YARD::Serializers::FileSystemSerializer < ::YARD::Serializers::Base
# Creates a new FileSystemSerializer with options
#
@@ -12403,7 +12386,7 @@ end
# serializer = ProcessSerializer.new('less')
# serializer.serialize(object, "data!")
#
-# source://yard//lib/yard/serializers/process_serializer.rb#12
+# source://yard//lib/yard/serializers/process_serializer.rb#9
class YARD::Serializers::ProcessSerializer < ::YARD::Serializers::Base
# Creates a new ProcessSerializer for the shell command +cmd+
#
@@ -12422,7 +12405,7 @@ end
# A serializer that writes data to standard output.
#
-# source://yard//lib/yard/serializers/stdout_serializer.rb#9
+# source://yard//lib/yard/serializers/stdout_serializer.rb#5
class YARD::Serializers::StdoutSerializer < ::YARD::Serializers::Base
# Creates a serializer to print text to stdout
#
@@ -12679,6 +12662,16 @@ class YARD::Server::Adapter
end
end
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#16
+YARD::Server::CR = T.let(T.unsafe(nil), String)
+
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#18
+YARD::Server::CRLF = T.let(T.unsafe(nil), String)
+
# Commands implement specific kinds of server responses which are routed
# to by the {Router} class. To implement a custom command, subclass {Commands::Base}.
#
@@ -12840,7 +12833,7 @@ class YARD::Server::Commands::Base
# def run
# self.body = 'ERROR! The System is down!'
# self.status = 500
- # self.headers['Conten-Type'] = 'text/plain'
+ # self.headers['Content-Type'] = 'text/plain'
# end
# end
# @raise [NotImplementedError]
@@ -13286,7 +13279,7 @@ end
#
# source://yard//lib/yard/server/commands/root_request_command.rb#6
class YARD::Server::Commands::RootRequestCommand < ::YARD::Server::Commands::Base
- include ::WEBrick::HTTPUtils
+ include ::YARD::Server::HTTPUtils
include ::YARD::Server::Commands::StaticFileHelpers
# @since 0.6.0
@@ -13333,29 +13326,29 @@ class YARD::Server::Commands::SearchCommand < ::YARD::Server::Commands::LibraryC
# @since 0.6.0
#
- # source://yard//lib/yard/server/commands/search_command.rb#27
+ # source://yard//lib/yard/server/commands/search_command.rb#26
def visible_results; end
private
# @since 0.6.0
#
- # source://yard//lib/yard/server/commands/search_command.rb#59
+ # source://yard//lib/yard/server/commands/search_command.rb#58
def search_for_object; end
# @since 0.6.0
#
- # source://yard//lib/yard/server/commands/search_command.rb#48
+ # source://yard//lib/yard/server/commands/search_command.rb#47
def serve_normal; end
# @since 0.6.0
#
- # source://yard//lib/yard/server/commands/search_command.rb#38
+ # source://yard//lib/yard/server/commands/search_command.rb#37
def serve_xhr; end
# @since 0.6.0
#
- # source://yard//lib/yard/server/commands/search_command.rb#33
+ # source://yard//lib/yard/server/commands/search_command.rb#32
def url_for(object); end
end
@@ -13365,7 +13358,7 @@ end
#
# source://yard//lib/yard/server/commands/static_file_command.rb#6
class YARD::Server::Commands::StaticFileCommand < ::YARD::Server::Commands::LibraryCommand
- include ::WEBrick::HTTPUtils
+ include ::YARD::Server::HTTPUtils
include ::YARD::Server::Commands::StaticFileHelpers
# @since 0.6.0
@@ -13389,9 +13382,9 @@ YARD::Server::Commands::StaticFileCommand::STATIC_PATHS = T.let(T.unsafe(nil), A
#
# @since 0.6.0
#
-# source://yard//lib/yard/server/commands/static_file_helpers.rb#9
+# source://yard//lib/yard/server/commands/static_file_helpers.rb#8
module YARD::Server::Commands::StaticFileHelpers
- include ::WEBrick::HTTPUtils
+ include ::YARD::Server::HTTPUtils
# Serves an empty favicon.
#
@@ -13400,7 +13393,7 @@ module YARD::Server::Commands::StaticFileHelpers
# @return [Boolean]
# @since 0.6.0
#
- # source://yard//lib/yard/server/commands/static_file_helpers.rb#15
+ # source://yard//lib/yard/server/commands/static_file_helpers.rb#14
def favicon?; end
# Attempts to route a path to a static template file.
@@ -13409,20 +13402,20 @@ module YARD::Server::Commands::StaticFileHelpers
# @return [void]
# @since 0.6.0
#
- # source://yard//lib/yard/server/commands/static_file_helpers.rb#27
+ # source://yard//lib/yard/server/commands/static_file_helpers.rb#26
def static_template_file?; end
private
# @since 0.6.0
#
- # source://yard//lib/yard/server/commands/static_file_helpers.rb#43
+ # source://yard//lib/yard/server/commands/static_file_helpers.rb#42
def find_file(adapter, url); end
class << self
# @since 0.6.0
#
- # source://yard//lib/yard/server/commands/static_file_helpers.rb#43
+ # source://yard//lib/yard/server/commands/static_file_helpers.rb#42
def find_file(adapter, url); end
end
end
@@ -13562,6 +13555,470 @@ end
# source://yard//lib/yard/server/adapter.rb#6
class YARD::Server::FinishRequest < ::RuntimeError; end
+# HTTPUtils provides utility methods for working with the HTTP protocol.
+#
+# This module is generally used internally by WEBrick
+#
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#25
+module YARD::Server::HTTPUtils
+ private
+
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#443
+ def _escape(str, regex); end
+
+ # :stopdoc:
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#441
+ def _make_regex(str); end
+
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#442
+ def _make_regex!(str); end
+
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#449
+ def _unescape(str, regex); end
+
+ # Removes quotes and escapes from +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#223
+ def dequote(str); end
+
+ # Escapes HTTP reserved and unwise characters in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#467
+ def escape(str); end
+
+ # Escapes 8 bit characters in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#508
+ def escape8bit(str); end
+
+ # Escapes form reserved characters in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#481
+ def escape_form(str); end
+
+ # Escapes path +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#497
+ def escape_path(str); end
+
+ # Loads Apache-compatible mime.types in +file+.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#112
+ def load_mime_types(file); end
+
+ # Returns the mime type of +filename+ from the list in +mime_tab+. If no
+ # mime type was found application/octet-stream is returned.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#134
+ def mime_type(filename, mime_tab); end
+
+ # Normalizes a request path. Raises an exception if the path cannot be
+ # normalized.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#31
+ def normalize_path(path); end
+
+ # Parses form data in +io+ with the given +boundary+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#395
+ def parse_form_data(io, boundary); end
+
+ # Parses an HTTP header +raw+ into a hash of header fields with an Array
+ # of values.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#145
+ def parse_header(raw); end
+
+ # Parses the query component of a URI in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#371
+ def parse_query(str); end
+
+ # Parses q values in +value+ as used in Accept headers.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#202
+ def parse_qvalues(value); end
+
+ # Parses a Range header value +ranges_specifier+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#184
+ def parse_range_header(ranges_specifier); end
+
+ # Quotes and escapes quotes in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#233
+ def quote(str); end
+
+ # Splits a header value +str+ according to HTTP specification.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#175
+ def split_header_value(str); end
+
+ # Unescapes HTTP reserved and unwise characters in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#474
+ def unescape(str); end
+
+ # Unescapes form reserved characters in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#490
+ def unescape_form(str); end
+
+ class << self
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#443
+ def _escape(str, regex); end
+
+ # :stopdoc:
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#441
+ def _make_regex(str); end
+
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#442
+ def _make_regex!(str); end
+
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#449
+ def _unescape(str, regex); end
+
+ # Removes quotes and escapes from +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#223
+ def dequote(str); end
+
+ # Escapes HTTP reserved and unwise characters in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#467
+ def escape(str); end
+
+ # Escapes 8 bit characters in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#508
+ def escape8bit(str); end
+
+ # Escapes form reserved characters in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#481
+ def escape_form(str); end
+
+ # Escapes path +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#497
+ def escape_path(str); end
+
+ # Loads Apache-compatible mime.types in +file+.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#112
+ def load_mime_types(file); end
+
+ # Returns the mime type of +filename+ from the list in +mime_tab+. If no
+ # mime type was found application/octet-stream is returned.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#134
+ def mime_type(filename, mime_tab); end
+
+ # Normalizes a request path. Raises an exception if the path cannot be
+ # normalized.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#31
+ def normalize_path(path); end
+
+ # Parses form data in +io+ with the given +boundary+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#395
+ def parse_form_data(io, boundary); end
+
+ # Parses an HTTP header +raw+ into a hash of header fields with an Array
+ # of values.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#145
+ def parse_header(raw); end
+
+ # Parses the query component of a URI in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#371
+ def parse_query(str); end
+
+ # Parses q values in +value+ as used in Accept headers.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#202
+ def parse_qvalues(value); end
+
+ # Parses a Range header value +ranges_specifier+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#184
+ def parse_range_header(ranges_specifier); end
+
+ # Quotes and escapes quotes in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#233
+ def quote(str); end
+
+ # Splits a header value +str+ according to HTTP specification.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#175
+ def split_header_value(str); end
+
+ # Unescapes HTTP reserved and unwise characters in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#474
+ def unescape(str); end
+
+ # Unescapes form reserved characters in +str+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#490
+ def unescape_form(str); end
+ end
+end
+
+# Default mime types
+#
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#47
+YARD::Server::HTTPUtils::DefaultMimeTypes = T.let(T.unsafe(nil), Hash)
+
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#459
+YARD::Server::HTTPUtils::ESCAPED = T.let(T.unsafe(nil), Regexp)
+
+# Stores multipart form data. FormData objects are created when
+# WEBrick::HTTPUtils.parse_form_data is called.
+#
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#242
+class YARD::Server::HTTPUtils::FormData < ::String
+ # Creates a new FormData object.
+ #
+ # +args+ is an Array of form data entries. One FormData will be created
+ # for each entry.
+ #
+ # This is called by WEBrick::HTTPUtils.parse_form_data for you
+ #
+ # @return [FormData] a new instance of FormData
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#267
+ def initialize(*args); end
+
+ # Adds +str+ to this FormData which may be the body, a header or a
+ # header entry.
+ #
+ # This is called by WEBrick::HTTPUtils.parse_form_data for you
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#300
+ def <<(str); end
+
+ # Retrieves the header at the first entry in +key+
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#286
+ def [](*key); end
+
+ # Adds +data+ at the end of the chain of entries
+ #
+ # This is called by WEBrick::HTTPUtils.parse_form_data for you.
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#320
+ def append_data(data); end
+
+ # Yields each entry in this FormData
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#335
+ def each_data; end
+
+ # The filename of the form data part
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#254
+ def filename; end
+
+ # The filename of the form data part
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#254
+ def filename=(_arg0); end
+
+ # Returns all the FormData as an Array
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#347
+ def list; end
+
+ # The name of the form data part
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#249
+ def name; end
+
+ # The name of the form data part
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#249
+ def name=(_arg0); end
+
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#256
+ def next_data=(_arg0); end
+
+ # Returns all the FormData as an Array
+ # A FormData will behave like an Array
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#347
+ def to_ary; end
+
+ # This FormData's body
+ #
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#363
+ def to_s; end
+
+ protected
+
+ # @since 0.6.0
+ #
+ # source://yard//lib/yard/server/http_utils.rb#256
+ def next_data; end
+end
+
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#244
+YARD::Server::HTTPUtils::FormData::EmptyHeader = T.let(T.unsafe(nil), Hash)
+
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#243
+YARD::Server::HTTPUtils::FormData::EmptyRawHeader = T.let(T.unsafe(nil), Array)
+
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#458
+YARD::Server::HTTPUtils::NONASCII = T.let(T.unsafe(nil), Regexp)
+
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#456
+YARD::Server::HTTPUtils::UNESCAPED = T.let(T.unsafe(nil), Regexp)
+
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#457
+YARD::Server::HTTPUtils::UNESCAPED_FORM = T.let(T.unsafe(nil), Regexp)
+
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#460
+YARD::Server::HTTPUtils::UNESCAPED_PCHAR = T.let(T.unsafe(nil), Regexp)
+
+# @since 0.6.0
+#
+# source://yard//lib/yard/server/http_utils.rb#17
+YARD::Server::LF = T.let(T.unsafe(nil), String)
+
# This exception is raised when {LibraryVersion#prepare!} fails, or discovers
# that the library is not "prepared" to be served by
#
@@ -14098,50 +14555,6 @@ module YARD::Server::StaticCaching
def check_static_cache; end
end
-# The main adapter to initialize a WEBrick server.
-#
-# @since 0.6.0
-#
-# source://yard//lib/yard/server/webrick_adapter.rb#9
-class YARD::Server::WebrickAdapter < ::YARD::Server::Adapter
- # Initializes a WEBrick server. If {Adapter#server_options} contains a
- # +:daemonize+ key set to true, the server will be daemonized.
- #
- # @since 0.6.0
- #
- # source://yard//lib/yard/server/webrick_adapter.rb#10
- def start; end
-end
-
-# The main WEBrick servlet implementation, accepting only GET requests.
-#
-# @since 0.6.0
-#
-# source://yard//lib/yard/server/webrick_adapter.rb#20
-class YARD::Server::WebrickServlet < ::WEBrick::HTTPServlet::AbstractServlet
- # @return [WebrickServlet] a new instance of WebrickServlet
- # @since 0.6.0
- #
- # source://yard//lib/yard/server/webrick_adapter.rb#23
- def initialize(server, adapter); end
-
- # @since 0.6.0
- #
- # source://yard//lib/yard/server/webrick_adapter.rb#21
- def adapter; end
-
- # @since 0.6.0
- #
- # source://yard//lib/yard/server/webrick_adapter.rb#21
- def adapter=(_arg0); end
-
- # @private
- # @since 0.6.0
- #
- # source://yard//lib/yard/server/webrick_adapter.rb#29
- def do_GET(request, response); end
-end
-
# Stubs marshal dumps and acts a delegate class for an object by path
#
# @private
@@ -14178,7 +14591,7 @@ YARD::TEMPLATE_ROOT = T.let(T.unsafe(nil), String)
# Namespace for Tag components
#
-# source://yard//lib/yard/autoload.rb#247
+# source://yard//lib/yard/autoload.rb#248
module YARD::Tags; end
# Defines an attribute with a given name, using indented block data as the
@@ -15655,10 +16068,10 @@ class YARD::Tags::Tag
def initialize(tag_name, text, types = T.unsafe(nil), name = T.unsafe(nil)); end
# Provides a plain English summary of the type specification, or nil
- # if no types are provided or parseable.
+ # if no types are provided or parsable.
#
# @return [String] a plain English description of the associated types
- # @return [nil] if no types are provided or not parseable
+ # @return [nil] if no types are provided or not parsable
#
# source://yard//lib/yard/tags/tag.rb#65
def explain_types; end
@@ -15734,25 +16147,29 @@ class YARD::Tags::TagFormatError < ::RuntimeError; end
class YARD::Tags::TypesExplainer
class << self
# Provides a plain English summary of the type specification, or nil
- # if no types are provided or parseable.
+ # if no types are provided or parsable.
#
# @param types [Array] a list of types to parse and summarize
# @return [String] a plain English description of the associated types
- # @return [nil] if no types are provided or not parseable
+ # @return [nil] if no types are provided or not parsable
#
# source://yard//lib/yard/tags/types_explainer.rb#9
def explain(*types); end
# Provides a plain English summary of the type specification, or nil
- # if no types are provided or parseable.
+ # if no types are provided or parsable.
#
# @param types [Array] a list of types to parse and summarize
- # @raise [SyntaxError] if the types are not parseable
+ # @raise [SyntaxError] if the types are not parsable
# @return [String] a plain English description of the associated types
- # @return [nil] if no types are provided or not parseable
+ # @return [nil] if no types are provided or not parsable
#
# source://yard//lib/yard/tags/types_explainer.rb#17
def explain!(*types); end
+
+ private
+
+ def new(*_arg0); end
end
end
@@ -15908,7 +16325,7 @@ end
# Namespace for templating system
#
-# source://yard//lib/yard/autoload.rb#270
+# source://yard//lib/yard/autoload.rb#271
module YARD::Templates; end
# This module manages all creation, handling and rendering of {Template}
@@ -16061,7 +16478,7 @@ end
# Namespace for template helpers
#
-# source://yard//lib/yard/autoload.rb#271
+# source://yard//lib/yard/autoload.rb#272
module YARD::Templates::Helpers; end
# The base helper module included in all templates.
@@ -16696,7 +17113,7 @@ end
# Namespace for markup providers
#
-# source://yard//lib/yard/autoload.rb#272
+# source://yard//lib/yard/autoload.rb#273
module YARD::Templates::Helpers::Markup; end
# source://yard//lib/yard/templates/helpers/markup/rdoc_markdown.rb#13
@@ -17448,7 +17865,7 @@ end
#
# @see CLI::YardocOptions
#
-# source://yard//lib/yard/templates/template_options.rb#11
+# source://yard//lib/yard/templates/template_options.rb#10
class YARD::Templates::TemplateOptions < ::YARD::Options
# @return [OpenStruct] an open struct containing any global state across all
# generated objects in a template.
diff --git a/sorbet/rbi/gems/yarp@0.10.0.rbi b/sorbet/rbi/gems/yarp@0.10.0.rbi
new file mode 100644
index 00000000..f45a2f81
--- /dev/null
+++ b/sorbet/rbi/gems/yarp@0.10.0.rbi
@@ -0,0 +1,13316 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `yarp` gem.
+# Please instead update this file by running `bin/tapioca gem yarp`.
+
+# This file is generated by the templates/template.rb script and should not be
+# modified manually. See templates/lib/yarp/node.rb.erb
+# if you are looking to modify the template
+#
+# source://yarp//lib/yarp.rb#3
+module YARP
+ class << self
+ # Mirror the YARP.dump API by using the serialization API.
+ def dump(*_arg0); end
+
+ # Mirror the YARP.dump_file API by using the serialization API.
+ def dump_file(_arg0); end
+
+ # Mirror the YARP.lex API by using the serialization API.
+ def lex(*_arg0); end
+
+ # Returns an array of tokens that closely resembles that of the Ripper lexer.
+ # The only difference is that since we don't keep track of lexer state in the
+ # same way, it's going to always return the NONE state.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#804
+ def lex_compat(source, filepath = T.unsafe(nil)); end
+
+ # Mirror the YARP.lex_file API by using the serialization API.
+ def lex_file(_arg0); end
+
+ # This lexes with the Ripper lex. It drops any space events but otherwise
+ # returns the same tokens. Raises SyntaxError if the syntax in source is
+ # invalid.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#811
+ def lex_ripper(source); end
+
+ # Load the serialized AST using the source as a reference into a tree.
+ #
+ # source://yarp//lib/yarp.rb#361
+ def load(source, serialized); end
+
+ # Mirror the YARP.parse API by using the serialization API.
+ def parse(*_arg0); end
+
+ # Mirror the YARP.parse_file API by using the serialization API. This uses
+ # native strings instead of Ruby strings because it allows us to use mmap when
+ # it is available.
+ def parse_file(_arg0); end
+
+ # Mirror the YARP.parse_lex API by using the serialization API.
+ def parse_lex(*_arg0); end
+
+ # Mirror the YARP.parse_lex_file API by using the serialization API.
+ def parse_lex_file(_arg0); end
+ end
+end
+
+# Represents the use of the `alias` keyword.
+#
+# alias foo bar
+# ^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#13
+class YARP::AliasNode < ::YARP::Node
+ # def initialize: (new_name: Node, old_name: Node, keyword_loc: Location, location: Location) -> void
+ #
+ # @return [AliasNode] a new instance of AliasNode
+ #
+ # source://yarp//lib/yarp/node.rb#24
+ def initialize(new_name, old_name, keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#32
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#37
+ def child_nodes; end
+
+ # def copy: (**params) -> AliasNode
+ #
+ # source://yarp//lib/yarp/node.rb#42
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#37
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#55
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#60
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#21
+ def keyword_loc; end
+
+ # attr_reader new_name: Node
+ #
+ # source://yarp//lib/yarp/node.rb#15
+ def new_name; end
+
+ # attr_reader old_name: Node
+ #
+ # source://yarp//lib/yarp/node.rb#18
+ def old_name; end
+end
+
+# Represents an alternation pattern in pattern matching.
+#
+# foo => bar | baz
+# ^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#69
+class YARP::AlternationPatternNode < ::YARP::Node
+ # def initialize: (left: Node, right: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [AlternationPatternNode] a new instance of AlternationPatternNode
+ #
+ # source://yarp//lib/yarp/node.rb#80
+ def initialize(left, right, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#88
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#93
+ def child_nodes; end
+
+ # def copy: (**params) -> AlternationPatternNode
+ #
+ # source://yarp//lib/yarp/node.rb#98
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#93
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#111
+ def deconstruct_keys(keys); end
+
+ # attr_reader left: Node
+ #
+ # source://yarp//lib/yarp/node.rb#71
+ def left; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#116
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#77
+ def operator_loc; end
+
+ # attr_reader right: Node
+ #
+ # source://yarp//lib/yarp/node.rb#74
+ def right; end
+end
+
+# Represents the use of the `&&` operator or the `and` keyword.
+#
+# left and right
+# ^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#125
+class YARP::AndNode < ::YARP::Node
+ # def initialize: (left: Node, right: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [AndNode] a new instance of AndNode
+ #
+ # source://yarp//lib/yarp/node.rb#136
+ def initialize(left, right, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#144
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#149
+ def child_nodes; end
+
+ # def copy: (**params) -> AndNode
+ #
+ # source://yarp//lib/yarp/node.rb#154
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#149
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#167
+ def deconstruct_keys(keys); end
+
+ # attr_reader left: Node
+ #
+ # source://yarp//lib/yarp/node.rb#127
+ def left; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#172
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#133
+ def operator_loc; end
+
+ # attr_reader right: Node
+ #
+ # source://yarp//lib/yarp/node.rb#130
+ def right; end
+end
+
+# Represents a set of arguments to a method or a keyword.
+#
+# return foo, bar, baz
+# ^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#181
+class YARP::ArgumentsNode < ::YARP::Node
+ # def initialize: (arguments: Array[Node], location: Location) -> void
+ #
+ # @return [ArgumentsNode] a new instance of ArgumentsNode
+ #
+ # source://yarp//lib/yarp/node.rb#186
+ def initialize(arguments, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#192
+ def accept(visitor); end
+
+ # attr_reader arguments: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#183
+ def arguments; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#197
+ def child_nodes; end
+
+ # def copy: (**params) -> ArgumentsNode
+ #
+ # source://yarp//lib/yarp/node.rb#202
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#197
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#213
+ def deconstruct_keys(keys); end
+end
+
+# Represents an array literal. This can be a regular array using brackets or
+# a special array using % like %w or %i.
+#
+# [1, 2, 3]
+# ^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#223
+class YARP::ArrayNode < ::YARP::Node
+ # def initialize: (elements: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location) -> void
+ #
+ # @return [ArrayNode] a new instance of ArrayNode
+ #
+ # source://yarp//lib/yarp/node.rb#234
+ def initialize(elements, opening_loc, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#242
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#247
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#275
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#231
+ def closing_loc; end
+
+ # def copy: (**params) -> ArrayNode
+ #
+ # source://yarp//lib/yarp/node.rb#252
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#247
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#265
+ def deconstruct_keys(keys); end
+
+ # attr_reader elements: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#225
+ def elements; end
+
+ # def opening: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#270
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#228
+ def opening_loc; end
+end
+
+# Represents an array pattern in pattern matching.
+#
+# foo in 1, 2
+# ^^^^^^^^^^^
+#
+# foo in [1, 2]
+# ^^^^^^^^^^^^^
+#
+# foo in *1
+# ^^^^^^^^^
+#
+# foo in Bar[]
+# ^^^^^^^^^^^^
+#
+# foo in Bar[1, 2, 3]
+# ^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#296
+class YARP::ArrayPatternNode < ::YARP::Node
+ # def initialize: (constant: Node?, requireds: Array[Node], rest: Node?, posts: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location) -> void
+ #
+ # @return [ArrayPatternNode] a new instance of ArrayPatternNode
+ #
+ # source://yarp//lib/yarp/node.rb#316
+ def initialize(constant, requireds, rest, posts, opening_loc, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#327
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#332
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#363
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#313
+ def closing_loc; end
+
+ # attr_reader constant: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#298
+ def constant; end
+
+ # def copy: (**params) -> ArrayPatternNode
+ #
+ # source://yarp//lib/yarp/node.rb#337
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#332
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#353
+ def deconstruct_keys(keys); end
+
+ # def opening: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#358
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#310
+ def opening_loc; end
+
+ # attr_reader posts: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#307
+ def posts; end
+
+ # attr_reader requireds: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#301
+ def requireds; end
+
+ # attr_reader rest: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#304
+ def rest; end
+end
+
+# Represents a hash key/value pair.
+#
+# { a => b }
+# ^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#372
+class YARP::AssocNode < ::YARP::Node
+ # def initialize: (key: Node, value: Node?, operator_loc: Location?, location: Location) -> void
+ #
+ # @return [AssocNode] a new instance of AssocNode
+ #
+ # source://yarp//lib/yarp/node.rb#383
+ def initialize(key, value, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#391
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#396
+ def child_nodes; end
+
+ # def copy: (**params) -> AssocNode
+ #
+ # source://yarp//lib/yarp/node.rb#401
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#396
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#414
+ def deconstruct_keys(keys); end
+
+ # attr_reader key: Node
+ #
+ # source://yarp//lib/yarp/node.rb#374
+ def key; end
+
+ # def operator: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#419
+ def operator; end
+
+ # attr_reader operator_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#380
+ def operator_loc; end
+
+ # attr_reader value: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#377
+ def value; end
+end
+
+# Represents a splat in a hash literal.
+#
+# { **foo }
+# ^^^^^
+#
+# source://yarp//lib/yarp/node.rb#428
+class YARP::AssocSplatNode < ::YARP::Node
+ # def initialize: (value: Node?, operator_loc: Location, location: Location) -> void
+ #
+ # @return [AssocSplatNode] a new instance of AssocSplatNode
+ #
+ # source://yarp//lib/yarp/node.rb#436
+ def initialize(value, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#443
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#448
+ def child_nodes; end
+
+ # def copy: (**params) -> AssocSplatNode
+ #
+ # source://yarp//lib/yarp/node.rb#453
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#448
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#465
+ def deconstruct_keys(keys); end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#470
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#433
+ def operator_loc; end
+
+ # attr_reader value: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#430
+ def value; end
+end
+
+YARP::BACKEND = T.let(T.unsafe(nil), Symbol)
+
+# Represents reading a reference to a field in the previous match.
+#
+# $'
+# ^^
+#
+# source://yarp//lib/yarp/node.rb#479
+class YARP::BackReferenceReadNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [BackReferenceReadNode] a new instance of BackReferenceReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#481
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#486
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#491
+ def child_nodes; end
+
+ # def copy: (**params) -> BackReferenceReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#496
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#491
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#506
+ def deconstruct_keys(keys); end
+end
+
+# A class that knows how to walk down the tree. None of the individual visit
+# methods are implemented on this visitor, so it forces the consumer to
+# implement each one that they need. For a default implementation that
+# continues walking the tree, see the Visitor class.
+#
+# source://yarp//lib/yarp.rb#178
+class YARP::BasicVisitor
+ # source://yarp//lib/yarp.rb#179
+ def visit(node); end
+
+ # source://yarp//lib/yarp.rb#183
+ def visit_all(nodes); end
+
+ # source://yarp//lib/yarp.rb#187
+ def visit_child_nodes(node); end
+end
+
+# Represents a begin statement.
+#
+# begin
+# foo
+# end
+# ^^^^^
+#
+# source://yarp//lib/yarp/node.rb#517
+class YARP::BeginNode < ::YARP::Node
+ # def initialize: (begin_keyword_loc: Location?, statements: StatementsNode?, rescue_clause: RescueNode?, else_clause: ElseNode?, ensure_clause: EnsureNode?, end_keyword_loc: Location?, location: Location) -> void
+ #
+ # @return [BeginNode] a new instance of BeginNode
+ #
+ # source://yarp//lib/yarp/node.rb#537
+ def initialize(begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#548
+ def accept(visitor); end
+
+ # def begin_keyword: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#583
+ def begin_keyword; end
+
+ # attr_reader begin_keyword_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#519
+ def begin_keyword_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#557
+ def child_nodes; end
+
+ # def copy: (**params) -> BeginNode
+ #
+ # source://yarp//lib/yarp/node.rb#562
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#557
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#578
+ def deconstruct_keys(keys); end
+
+ # attr_reader else_clause: ElseNode?
+ #
+ # source://yarp//lib/yarp/node.rb#528
+ def else_clause; end
+
+ # def end_keyword: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#588
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#534
+ def end_keyword_loc; end
+
+ # attr_reader ensure_clause: EnsureNode?
+ #
+ # source://yarp//lib/yarp/node.rb#531
+ def ensure_clause; end
+
+ # attr_reader rescue_clause: RescueNode?
+ #
+ # source://yarp//lib/yarp/node.rb#525
+ def rescue_clause; end
+
+ # source://yarp//lib/yarp/node.rb#552
+ def set_newline_flag(newline_marked); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#522
+ def statements; end
+end
+
+# Represents block method arguments.
+#
+# bar(&args)
+# ^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#597
+class YARP::BlockArgumentNode < ::YARP::Node
+ # def initialize: (expression: Node?, operator_loc: Location, location: Location) -> void
+ #
+ # @return [BlockArgumentNode] a new instance of BlockArgumentNode
+ #
+ # source://yarp//lib/yarp/node.rb#605
+ def initialize(expression, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#612
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#617
+ def child_nodes; end
+
+ # def copy: (**params) -> BlockArgumentNode
+ #
+ # source://yarp//lib/yarp/node.rb#622
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#617
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#634
+ def deconstruct_keys(keys); end
+
+ # attr_reader expression: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#599
+ def expression; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#639
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#602
+ def operator_loc; end
+end
+
+# Represents a block of ruby code.
+#
+# [1, 2, 3].each { |i| puts x }
+# ^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#648
+class YARP::BlockNode < ::YARP::Node
+ # def initialize: (locals: Array[Symbol], parameters: BlockParametersNode?, body: Node?, opening_loc: Location, closing_loc: Location, location: Location) -> void
+ #
+ # @return [BlockNode] a new instance of BlockNode
+ #
+ # source://yarp//lib/yarp/node.rb#665
+ def initialize(locals, parameters, body, opening_loc, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#675
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#656
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#680
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#710
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#662
+ def closing_loc; end
+
+ # def copy: (**params) -> BlockNode
+ #
+ # source://yarp//lib/yarp/node.rb#685
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#680
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#700
+ def deconstruct_keys(keys); end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://yarp//lib/yarp/node.rb#650
+ def locals; end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#705
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#659
+ def opening_loc; end
+
+ # attr_reader parameters: BlockParametersNode?
+ #
+ # source://yarp//lib/yarp/node.rb#653
+ def parameters; end
+end
+
+# Represents a block parameter to a method, block, or lambda definition.
+#
+# def a(&b)
+# ^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#720
+class YARP::BlockParameterNode < ::YARP::Node
+ # def initialize: (name_loc: Location?, operator_loc: Location, location: Location) -> void
+ #
+ # @return [BlockParameterNode] a new instance of BlockParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#728
+ def initialize(name_loc, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#735
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#740
+ def child_nodes; end
+
+ # def copy: (**params) -> BlockParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#745
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#740
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#757
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#762
+ def name; end
+
+ # attr_reader name_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#722
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#767
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#725
+ def operator_loc; end
+end
+
+# Represents a block's parameters declaration.
+#
+# -> (a, b = 1; local) { }
+# ^^^^^^^^^^^^^^^^^
+#
+# foo do |a, b = 1; local|
+# ^^^^^^^^^^^^^^^^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#780
+class YARP::BlockParametersNode < ::YARP::Node
+ # def initialize: (parameters: ParametersNode?, locals: Array[Location], opening_loc: Location?, closing_loc: Location?, location: Location) -> void
+ #
+ # @return [BlockParametersNode] a new instance of BlockParametersNode
+ #
+ # source://yarp//lib/yarp/node.rb#794
+ def initialize(parameters, locals, opening_loc, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#803
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#808
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#837
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#791
+ def closing_loc; end
+
+ # def copy: (**params) -> BlockParametersNode
+ #
+ # source://yarp//lib/yarp/node.rb#813
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#808
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#827
+ def deconstruct_keys(keys); end
+
+ # attr_reader locals: Array[Location]
+ #
+ # source://yarp//lib/yarp/node.rb#785
+ def locals; end
+
+ # def opening: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#832
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#788
+ def opening_loc; end
+
+ # attr_reader parameters: ParametersNode?
+ #
+ # source://yarp//lib/yarp/node.rb#782
+ def parameters; end
+end
+
+# Represents the use of the `break` keyword.
+#
+# break foo
+# ^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#846
+class YARP::BreakNode < ::YARP::Node
+ # def initialize: (arguments: ArgumentsNode?, keyword_loc: Location, location: Location) -> void
+ #
+ # @return [BreakNode] a new instance of BreakNode
+ #
+ # source://yarp//lib/yarp/node.rb#854
+ def initialize(arguments, keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#861
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#848
+ def arguments; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#866
+ def child_nodes; end
+
+ # def copy: (**params) -> BreakNode
+ #
+ # source://yarp//lib/yarp/node.rb#871
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#866
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#883
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#888
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#851
+ def keyword_loc; end
+end
+
+# Represents a method call, in all of the various forms that can take.
+#
+# foo
+# ^^^
+#
+# foo()
+# ^^^^^
+#
+# +foo
+# ^^^^
+#
+# foo + bar
+# ^^^^^^^^^
+#
+# foo.bar
+# ^^^^^^^
+#
+# foo&.bar
+# ^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#912
+class YARP::CallNode < ::YARP::Node
+ # def initialize: (receiver: Node?, operator_loc: Location?, message_loc: Location?, opening_loc: Location?, arguments: ArgumentsNode?, closing_loc: Location?, block: BlockNode?, flags: Integer, name: String, location: Location) -> void
+ #
+ # @return [CallNode] a new instance of CallNode
+ #
+ # source://yarp//lib/yarp/node.rb#941
+ def initialize(receiver, operator_loc, message_loc, opening_loc, arguments, closing_loc, block, flags, name, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#955
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#926
+ def arguments; end
+
+ # attr_reader block: BlockNode?
+ #
+ # source://yarp//lib/yarp/node.rb#932
+ def block; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#960
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#1004
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#929
+ def closing_loc; end
+
+ # def copy: (**params) -> CallNode
+ #
+ # source://yarp//lib/yarp/node.rb#965
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#960
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#984
+ def deconstruct_keys(keys); end
+
+ # attr_reader flags: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#935
+ def flags; end
+
+ # def message: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#994
+ def message; end
+
+ # attr_reader message_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#920
+ def message_loc; end
+
+ # attr_reader name: String
+ #
+ # source://yarp//lib/yarp/node.rb#938
+ def name; end
+
+ # def opening: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#999
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#923
+ def opening_loc; end
+
+ # def operator: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#989
+ def operator; end
+
+ # attr_reader operator_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#917
+ def operator_loc; end
+
+ # attr_reader receiver: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#914
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#1009
+ def safe_navigation?; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#1014
+ def variable_call?; end
+end
+
+# source://yarp//lib/yarp/node.rb#7983
+module YARP::CallNodeFlags; end
+
+# &. operator
+#
+# source://yarp//lib/yarp/node.rb#7985
+YARP::CallNodeFlags::SAFE_NAVIGATION = T.let(T.unsafe(nil), Integer)
+
+# a call that could have been a local variable
+#
+# source://yarp//lib/yarp/node.rb#7988
+YARP::CallNodeFlags::VARIABLE_CALL = T.let(T.unsafe(nil), Integer)
+
+# Represents the use of the `&&=` operator on a call.
+#
+# foo.bar &&= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1023
+class YARP::CallOperatorAndWriteNode < ::YARP::Node
+ # def initialize: (target: CallNode, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [CallOperatorAndWriteNode] a new instance of CallOperatorAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1034
+ def initialize(target, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1042
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1047
+ def child_nodes; end
+
+ # def copy: (**params) -> CallOperatorAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1052
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1047
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1065
+ def deconstruct_keys(keys); end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1070
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1028
+ def operator_loc; end
+
+ # attr_reader target: CallNode
+ #
+ # source://yarp//lib/yarp/node.rb#1025
+ def target; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1031
+ def value; end
+end
+
+# Represents the use of the `||=` operator on a call.
+#
+# foo.bar ||= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1079
+class YARP::CallOperatorOrWriteNode < ::YARP::Node
+ # def initialize: (target: CallNode, value: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [CallOperatorOrWriteNode] a new instance of CallOperatorOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1090
+ def initialize(target, value, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1098
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1103
+ def child_nodes; end
+
+ # def copy: (**params) -> CallOperatorOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1108
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1103
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1121
+ def deconstruct_keys(keys); end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1126
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1087
+ def operator_loc; end
+
+ # attr_reader target: CallNode
+ #
+ # source://yarp//lib/yarp/node.rb#1081
+ def target; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1084
+ def value; end
+end
+
+# Represents the use of an assignment operator on a call.
+#
+# foo.bar += baz
+# ^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1135
+class YARP::CallOperatorWriteNode < ::YARP::Node
+ # def initialize: (target: CallNode, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void
+ #
+ # @return [CallOperatorWriteNode] a new instance of CallOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1149
+ def initialize(target, operator_loc, value, operator, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1158
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1163
+ def child_nodes; end
+
+ # def copy: (**params) -> CallOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1168
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1163
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1182
+ def deconstruct_keys(keys); end
+
+ # attr_reader operator: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#1146
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1140
+ def operator_loc; end
+
+ # attr_reader target: CallNode
+ #
+ # source://yarp//lib/yarp/node.rb#1137
+ def target; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1143
+ def value; end
+end
+
+# Represents assigning to a local variable in pattern matching.
+#
+# foo => [bar => baz]
+# ^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1191
+class YARP::CapturePatternNode < ::YARP::Node
+ # def initialize: (value: Node, target: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [CapturePatternNode] a new instance of CapturePatternNode
+ #
+ # source://yarp//lib/yarp/node.rb#1202
+ def initialize(value, target, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1210
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1215
+ def child_nodes; end
+
+ # def copy: (**params) -> CapturePatternNode
+ #
+ # source://yarp//lib/yarp/node.rb#1220
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1215
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1233
+ def deconstruct_keys(keys); end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1238
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1199
+ def operator_loc; end
+
+ # attr_reader target: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1196
+ def target; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1193
+ def value; end
+end
+
+# Represents the use of a case statement.
+#
+# case true
+# ^^^^^^^^^
+# when false
+# end
+#
+# source://yarp//lib/yarp/node.rb#1249
+class YARP::CaseNode < ::YARP::Node
+ # def initialize: (predicate: Node?, conditions: Array[Node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location) -> void
+ #
+ # @return [CaseNode] a new instance of CaseNode
+ #
+ # source://yarp//lib/yarp/node.rb#1266
+ def initialize(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1276
+ def accept(visitor); end
+
+ # def case_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1306
+ def case_keyword; end
+
+ # attr_reader case_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1260
+ def case_keyword_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1281
+ def child_nodes; end
+
+ # attr_reader conditions: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1254
+ def conditions; end
+
+ # attr_reader consequent: ElseNode?
+ #
+ # source://yarp//lib/yarp/node.rb#1257
+ def consequent; end
+
+ # def copy: (**params) -> CaseNode
+ #
+ # source://yarp//lib/yarp/node.rb#1286
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1281
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1301
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1311
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1263
+ def end_keyword_loc; end
+
+ # attr_reader predicate: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#1251
+ def predicate; end
+end
+
+# Represents a class declaration involving the `class` keyword.
+#
+# class Foo end
+# ^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1320
+class YARP::ClassNode < ::YARP::Node
+ # def initialize: (locals: Array[Symbol], class_keyword_loc: Location, constant_path: Node, inheritance_operator_loc: Location?, superclass: Node?, body: Node?, end_keyword_loc: Location, name: String, location: Location) -> void
+ #
+ # @return [ClassNode] a new instance of ClassNode
+ #
+ # source://yarp//lib/yarp/node.rb#1346
+ def initialize(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1359
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#1337
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1364
+ def child_nodes; end
+
+ # def class_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1392
+ def class_keyword; end
+
+ # attr_reader class_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1325
+ def class_keyword_loc; end
+
+ # attr_reader constant_path: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1328
+ def constant_path; end
+
+ # def copy: (**params) -> ClassNode
+ #
+ # source://yarp//lib/yarp/node.rb#1369
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1364
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1387
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1402
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1340
+ def end_keyword_loc; end
+
+ # def inheritance_operator: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#1397
+ def inheritance_operator; end
+
+ # attr_reader inheritance_operator_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#1331
+ def inheritance_operator_loc; end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://yarp//lib/yarp/node.rb#1322
+ def locals; end
+
+ # attr_reader name: String
+ #
+ # source://yarp//lib/yarp/node.rb#1343
+ def name; end
+
+ # attr_reader superclass: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#1334
+ def superclass; end
+end
+
+# Represents the use of the `&&=` operator for assignment to a class variable.
+#
+# @@target &&= value
+# ^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1411
+class YARP::ClassVariableAndWriteNode < ::YARP::Node
+ # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [ClassVariableAndWriteNode] a new instance of ClassVariableAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1425
+ def initialize(name, name_loc, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1434
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1439
+ def child_nodes; end
+
+ # def copy: (**params) -> ClassVariableAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1444
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1439
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1458
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#1413
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1416
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1463
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1419
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1422
+ def value; end
+end
+
+# Represents assigning to a class variable using an operator that isn't `=`.
+#
+# @@target += value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1472
+class YARP::ClassVariableOperatorWriteNode < ::YARP::Node
+ # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void
+ #
+ # @return [ClassVariableOperatorWriteNode] a new instance of ClassVariableOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1489
+ def initialize(name, name_loc, operator_loc, value, operator, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1499
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1504
+ def child_nodes; end
+
+ # def copy: (**params) -> ClassVariableOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1509
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1504
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1524
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#1474
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1477
+ def name_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#1486
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1480
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1483
+ def value; end
+end
+
+# Represents the use of the `||=` operator for assignment to a class variable.
+#
+# @@target ||= value
+# ^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1533
+class YARP::ClassVariableOrWriteNode < ::YARP::Node
+ # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [ClassVariableOrWriteNode] a new instance of ClassVariableOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1547
+ def initialize(name, name_loc, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1556
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1561
+ def child_nodes; end
+
+ # def copy: (**params) -> ClassVariableOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1566
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1561
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1580
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#1535
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1538
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1585
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1541
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1544
+ def value; end
+end
+
+# Represents referencing a class variable.
+#
+# @@foo
+# ^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1594
+class YARP::ClassVariableReadNode < ::YARP::Node
+ # def initialize: (name: Symbol, location: Location) -> void
+ #
+ # @return [ClassVariableReadNode] a new instance of ClassVariableReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#1599
+ def initialize(name, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1605
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1610
+ def child_nodes; end
+
+ # def copy: (**params) -> ClassVariableReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#1615
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1610
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1626
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#1596
+ def name; end
+end
+
+# Represents writing to a class variable in a context that doesn't have an explicit value.
+#
+# @@foo, @@bar = baz
+# ^^^^^ ^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1635
+class YARP::ClassVariableTargetNode < ::YARP::Node
+ # def initialize: (name: Symbol, location: Location) -> void
+ #
+ # @return [ClassVariableTargetNode] a new instance of ClassVariableTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#1640
+ def initialize(name, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1646
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1651
+ def child_nodes; end
+
+ # def copy: (**params) -> ClassVariableTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#1656
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1651
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1667
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#1637
+ def name; end
+end
+
+# Represents writing to a class variable.
+#
+# @@foo = 1
+# ^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1676
+class YARP::ClassVariableWriteNode < ::YARP::Node
+ # def initialize: (name: Symbol, name_loc: Location, value: Node?, operator_loc: Location?, location: Location) -> void
+ #
+ # @return [ClassVariableWriteNode] a new instance of ClassVariableWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1690
+ def initialize(name, name_loc, value, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1699
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1704
+ def child_nodes; end
+
+ # def copy: (**params) -> ClassVariableWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1709
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1704
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1723
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#1678
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1681
+ def name_loc; end
+
+ # def operator: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#1728
+ def operator; end
+
+ # attr_reader operator_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#1687
+ def operator_loc; end
+
+ # attr_reader value: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#1684
+ def value; end
+end
+
+# This represents a comment that was encountered during parsing.
+#
+# source://yarp//lib/yarp.rb#131
+class YARP::Comment
+ # @return [Comment] a new instance of Comment
+ #
+ # source://yarp//lib/yarp.rb#136
+ def initialize(type, location); end
+
+ # source://yarp//lib/yarp.rb#141
+ def deconstruct_keys(keys); end
+
+ # Returns the value of attribute location.
+ #
+ # source://yarp//lib/yarp.rb#134
+ def location; end
+
+ # Returns the value of attribute type.
+ #
+ # source://yarp//lib/yarp.rb#134
+ def type; end
+end
+
+# source://yarp//lib/yarp.rb#132
+YARP::Comment::TYPES = T.let(T.unsafe(nil), Array)
+
+# Represents the use of the `&&=` operator for assignment to a constant.
+#
+# Target &&= value
+# ^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1737
+class YARP::ConstantAndWriteNode < ::YARP::Node
+ # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [ConstantAndWriteNode] a new instance of ConstantAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1748
+ def initialize(name_loc, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1756
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1761
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1766
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1761
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1779
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1784
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1739
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1789
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1742
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1745
+ def value; end
+end
+
+# Represents assigning to a constant using an operator that isn't `=`.
+#
+# Target += value
+# ^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1798
+class YARP::ConstantOperatorWriteNode < ::YARP::Node
+ # def initialize: (name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void
+ #
+ # @return [ConstantOperatorWriteNode] a new instance of ConstantOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1812
+ def initialize(name_loc, operator_loc, value, operator, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1821
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1826
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1831
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1826
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1845
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1850
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1800
+ def name_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#1809
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1803
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1806
+ def value; end
+end
+
+# Represents the use of the `||=` operator for assignment to a constant.
+#
+# Target ||= value
+# ^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1859
+class YARP::ConstantOrWriteNode < ::YARP::Node
+ # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [ConstantOrWriteNode] a new instance of ConstantOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1870
+ def initialize(name_loc, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1878
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1883
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1888
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1883
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1901
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1906
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1861
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1911
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1864
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1867
+ def value; end
+end
+
+# Represents the use of the `&&=` operator for assignment to a constant path.
+#
+# Parent::Child &&= value
+# ^^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1920
+class YARP::ConstantPathAndWriteNode < ::YARP::Node
+ # def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [ConstantPathAndWriteNode] a new instance of ConstantPathAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1931
+ def initialize(target, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1939
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1944
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantPathAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#1949
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#1944
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#1962
+ def deconstruct_keys(keys); end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#1967
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1925
+ def operator_loc; end
+
+ # attr_reader target: ConstantPathNode
+ #
+ # source://yarp//lib/yarp/node.rb#1922
+ def target; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1928
+ def value; end
+end
+
+# Represents accessing a constant through a path of `::` operators.
+#
+# Foo::Bar
+# ^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#1976
+class YARP::ConstantPathNode < ::YARP::Node
+ # def initialize: (parent: Node?, child: Node, delimiter_loc: Location, location: Location) -> void
+ #
+ # @return [ConstantPathNode] a new instance of ConstantPathNode
+ #
+ # source://yarp//lib/yarp/node.rb#1987
+ def initialize(parent, child, delimiter_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#1995
+ def accept(visitor); end
+
+ # attr_reader child: Node
+ #
+ # source://yarp//lib/yarp/node.rb#1981
+ def child; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2000
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantPathNode
+ #
+ # source://yarp//lib/yarp/node.rb#2005
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2000
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2018
+ def deconstruct_keys(keys); end
+
+ # def delimiter: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2023
+ def delimiter; end
+
+ # attr_reader delimiter_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#1984
+ def delimiter_loc; end
+
+ # attr_reader parent: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#1978
+ def parent; end
+end
+
+# Represents assigning to a constant path using an operator that isn't `=`.
+#
+# Parent::Child += value
+# ^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2032
+class YARP::ConstantPathOperatorWriteNode < ::YARP::Node
+ # def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void
+ #
+ # @return [ConstantPathOperatorWriteNode] a new instance of ConstantPathOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#2046
+ def initialize(target, operator_loc, value, operator, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2055
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2060
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantPathOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#2065
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2060
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2079
+ def deconstruct_keys(keys); end
+
+ # attr_reader operator: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#2043
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2037
+ def operator_loc; end
+
+ # attr_reader target: ConstantPathNode
+ #
+ # source://yarp//lib/yarp/node.rb#2034
+ def target; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#2040
+ def value; end
+end
+
+# Represents the use of the `||=` operator for assignment to a constant path.
+#
+# Parent::Child ||= value
+# ^^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2088
+class YARP::ConstantPathOrWriteNode < ::YARP::Node
+ # def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [ConstantPathOrWriteNode] a new instance of ConstantPathOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#2099
+ def initialize(target, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2107
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2112
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantPathOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#2117
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2112
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2130
+ def deconstruct_keys(keys); end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2135
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2093
+ def operator_loc; end
+
+ # attr_reader target: ConstantPathNode
+ #
+ # source://yarp//lib/yarp/node.rb#2090
+ def target; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#2096
+ def value; end
+end
+
+# Represents writing to a constant path in a context that doesn't have an explicit value.
+#
+# Foo::Foo, Bar::Bar = baz
+# ^^^^^^^^ ^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2144
+class YARP::ConstantPathTargetNode < ::YARP::Node
+ # def initialize: (parent: Node?, child: Node, delimiter_loc: Location, location: Location) -> void
+ #
+ # @return [ConstantPathTargetNode] a new instance of ConstantPathTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#2155
+ def initialize(parent, child, delimiter_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2163
+ def accept(visitor); end
+
+ # attr_reader child: Node
+ #
+ # source://yarp//lib/yarp/node.rb#2149
+ def child; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2168
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantPathTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#2173
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2168
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2186
+ def deconstruct_keys(keys); end
+
+ # def delimiter: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2191
+ def delimiter; end
+
+ # attr_reader delimiter_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2152
+ def delimiter_loc; end
+
+ # attr_reader parent: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#2146
+ def parent; end
+end
+
+# Represents writing to a constant path.
+#
+# ::Foo = 1
+# ^^^^^^^^^
+#
+# Foo::Bar = 1
+# ^^^^^^^^^^^^
+#
+# ::Foo::Bar = 1
+# ^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2206
+class YARP::ConstantPathWriteNode < ::YARP::Node
+ # def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [ConstantPathWriteNode] a new instance of ConstantPathWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#2217
+ def initialize(target, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2225
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2230
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantPathWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#2235
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2230
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2248
+ def deconstruct_keys(keys); end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2253
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2211
+ def operator_loc; end
+
+ # attr_reader target: ConstantPathNode
+ #
+ # source://yarp//lib/yarp/node.rb#2208
+ def target; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#2214
+ def value; end
+end
+
+# Represents referencing a constant.
+#
+# Foo
+# ^^^
+#
+# source://yarp//lib/yarp/node.rb#2262
+class YARP::ConstantReadNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [ConstantReadNode] a new instance of ConstantReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#2264
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2269
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2274
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#2279
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2274
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2289
+ def deconstruct_keys(keys); end
+end
+
+# Represents writing to a constant in a context that doesn't have an explicit value.
+#
+# Foo, Bar = baz
+# ^^^ ^^^
+#
+# source://yarp//lib/yarp/node.rb#2298
+class YARP::ConstantTargetNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [ConstantTargetNode] a new instance of ConstantTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#2300
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2305
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2310
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#2315
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2310
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2325
+ def deconstruct_keys(keys); end
+end
+
+# Represents writing to a constant.
+#
+# Foo = 1
+# ^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2334
+class YARP::ConstantWriteNode < ::YARP::Node
+ # def initialize: (name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [ConstantWriteNode] a new instance of ConstantWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#2345
+ def initialize(name_loc, value, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2353
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2358
+ def child_nodes; end
+
+ # def copy: (**params) -> ConstantWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#2363
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2358
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2376
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2381
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2336
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2386
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2342
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#2339
+ def value; end
+end
+
+# source://yarp//lib/yarp/node.rb#8431
+module YARP::DSL
+ private
+
+ # Create a new AliasNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8440
+ def AliasNode(new_name, old_name, keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new AlternationPatternNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8445
+ def AlternationPatternNode(left, right, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new AndNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8450
+ def AndNode(left, right, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new ArgumentsNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8455
+ def ArgumentsNode(arguments, location = T.unsafe(nil)); end
+
+ # Create a new ArrayNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8460
+ def ArrayNode(elements, opening_loc, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new ArrayPatternNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8465
+ def ArrayPatternNode(constant, requireds, rest, posts, opening_loc, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new AssocNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8470
+ def AssocNode(key, value, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new AssocSplatNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8475
+ def AssocSplatNode(value, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new BackReferenceReadNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8480
+ def BackReferenceReadNode(location = T.unsafe(nil)); end
+
+ # Create a new BeginNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8485
+ def BeginNode(begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new BlockArgumentNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8490
+ def BlockArgumentNode(expression, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new BlockNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8495
+ def BlockNode(locals, parameters, body, opening_loc, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new BlockParameterNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8500
+ def BlockParameterNode(name_loc, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new BlockParametersNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8505
+ def BlockParametersNode(parameters, locals, opening_loc, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new BreakNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8510
+ def BreakNode(arguments, keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new CallNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8515
+ def CallNode(receiver, operator_loc, message_loc, opening_loc, arguments, closing_loc, block, flags, name, location = T.unsafe(nil)); end
+
+ # Create a new CallOperatorAndWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8520
+ def CallOperatorAndWriteNode(target, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new CallOperatorOrWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8525
+ def CallOperatorOrWriteNode(target, value, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new CallOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8530
+ def CallOperatorWriteNode(target, operator_loc, value, operator, location = T.unsafe(nil)); end
+
+ # Create a new CapturePatternNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8535
+ def CapturePatternNode(value, target, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new CaseNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8540
+ def CaseNode(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new ClassNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8545
+ def ClassNode(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8550
+ def ClassVariableAndWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8555
+ def ClassVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8560
+ def ClassVariableOrWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableReadNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8565
+ def ClassVariableReadNode(name, location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableTargetNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8570
+ def ClassVariableTargetNode(name, location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8575
+ def ClassVariableWriteNode(name, name_loc, value, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new ConstantAndWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8580
+ def ConstantAndWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new ConstantOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8585
+ def ConstantOperatorWriteNode(name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end
+
+ # Create a new ConstantOrWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8590
+ def ConstantOrWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathAndWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8595
+ def ConstantPathAndWriteNode(target, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8600
+ def ConstantPathNode(parent, child, delimiter_loc, location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8605
+ def ConstantPathOperatorWriteNode(target, operator_loc, value, operator, location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathOrWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8610
+ def ConstantPathOrWriteNode(target, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathTargetNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8615
+ def ConstantPathTargetNode(parent, child, delimiter_loc, location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8620
+ def ConstantPathWriteNode(target, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new ConstantReadNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8625
+ def ConstantReadNode(location = T.unsafe(nil)); end
+
+ # Create a new ConstantTargetNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8630
+ def ConstantTargetNode(location = T.unsafe(nil)); end
+
+ # Create a new ConstantWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8635
+ def ConstantWriteNode(name_loc, value, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new DefNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8640
+ def DefNode(name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new DefinedNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8645
+ def DefinedNode(lparen_loc, value, rparen_loc, keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new ElseNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8650
+ def ElseNode(else_keyword_loc, statements, end_keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new EmbeddedStatementsNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8655
+ def EmbeddedStatementsNode(opening_loc, statements, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new EmbeddedVariableNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8660
+ def EmbeddedVariableNode(operator_loc, variable, location = T.unsafe(nil)); end
+
+ # Create a new EnsureNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8665
+ def EnsureNode(ensure_keyword_loc, statements, end_keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new FalseNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8670
+ def FalseNode(location = T.unsafe(nil)); end
+
+ # Create a new FindPatternNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8675
+ def FindPatternNode(constant, left, requireds, right, opening_loc, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new FlipFlopNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8680
+ def FlipFlopNode(left, right, operator_loc, flags, location = T.unsafe(nil)); end
+
+ # Create a new FloatNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8685
+ def FloatNode(location = T.unsafe(nil)); end
+
+ # Create a new ForNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8690
+ def ForNode(index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new ForwardingArgumentsNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8695
+ def ForwardingArgumentsNode(location = T.unsafe(nil)); end
+
+ # Create a new ForwardingParameterNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8700
+ def ForwardingParameterNode(location = T.unsafe(nil)); end
+
+ # Create a new ForwardingSuperNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8705
+ def ForwardingSuperNode(block, location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8710
+ def GlobalVariableAndWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8715
+ def GlobalVariableOperatorWriteNode(name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8720
+ def GlobalVariableOrWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableReadNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8725
+ def GlobalVariableReadNode(location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableTargetNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8730
+ def GlobalVariableTargetNode(location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8735
+ def GlobalVariableWriteNode(name_loc, value, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new HashNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8740
+ def HashNode(opening_loc, elements, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new HashPatternNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8745
+ def HashPatternNode(constant, assocs, kwrest, opening_loc, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new IfNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8750
+ def IfNode(if_keyword_loc, predicate, statements, consequent, end_keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new ImaginaryNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8755
+ def ImaginaryNode(numeric, location = T.unsafe(nil)); end
+
+ # Create a new InNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8760
+ def InNode(pattern, statements, in_loc, then_loc, location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8765
+ def InstanceVariableAndWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8770
+ def InstanceVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8775
+ def InstanceVariableOrWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableReadNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8780
+ def InstanceVariableReadNode(name, location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableTargetNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8785
+ def InstanceVariableTargetNode(name, location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8790
+ def InstanceVariableWriteNode(name, name_loc, value, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new IntegerNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8795
+ def IntegerNode(location = T.unsafe(nil)); end
+
+ # Create a new InterpolatedRegularExpressionNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8800
+ def InterpolatedRegularExpressionNode(opening_loc, parts, closing_loc, flags, location = T.unsafe(nil)); end
+
+ # Create a new InterpolatedStringNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8805
+ def InterpolatedStringNode(opening_loc, parts, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new InterpolatedSymbolNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8810
+ def InterpolatedSymbolNode(opening_loc, parts, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new InterpolatedXStringNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8815
+ def InterpolatedXStringNode(opening_loc, parts, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new KeywordHashNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8820
+ def KeywordHashNode(elements, location = T.unsafe(nil)); end
+
+ # Create a new KeywordParameterNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8825
+ def KeywordParameterNode(name_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new KeywordRestParameterNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8830
+ def KeywordRestParameterNode(operator_loc, name_loc, location = T.unsafe(nil)); end
+
+ # Create a new LambdaNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8835
+ def LambdaNode(locals, operator_loc, opening_loc, closing_loc, parameters, body, location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8840
+ def LocalVariableAndWriteNode(name_loc, operator_loc, value, name, depth, location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8845
+ def LocalVariableOperatorWriteNode(name_loc, operator_loc, value, name, operator, depth, location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8850
+ def LocalVariableOrWriteNode(name_loc, operator_loc, value, name, depth, location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableReadNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8855
+ def LocalVariableReadNode(name, depth, location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableTargetNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8860
+ def LocalVariableTargetNode(name, depth, location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8865
+ def LocalVariableWriteNode(name, depth, name_loc, value, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new Location object
+ #
+ # source://yarp//lib/yarp/node.rb#8435
+ def Location(source = T.unsafe(nil), start_offset = T.unsafe(nil), length = T.unsafe(nil)); end
+
+ # Create a new MatchPredicateNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8870
+ def MatchPredicateNode(value, pattern, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new MatchRequiredNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8875
+ def MatchRequiredNode(value, pattern, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new MissingNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8880
+ def MissingNode(location = T.unsafe(nil)); end
+
+ # Create a new ModuleNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8885
+ def ModuleNode(locals, module_keyword_loc, constant_path, body, end_keyword_loc, name, location = T.unsafe(nil)); end
+
+ # Create a new MultiWriteNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8890
+ def MultiWriteNode(targets, operator_loc, value, lparen_loc, rparen_loc, location = T.unsafe(nil)); end
+
+ # Create a new NextNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8895
+ def NextNode(arguments, keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new NilNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8900
+ def NilNode(location = T.unsafe(nil)); end
+
+ # Create a new NoKeywordsParameterNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8905
+ def NoKeywordsParameterNode(operator_loc, keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new NumberedReferenceReadNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8910
+ def NumberedReferenceReadNode(number, location = T.unsafe(nil)); end
+
+ # Create a new OptionalParameterNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8915
+ def OptionalParameterNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new OrNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8920
+ def OrNode(left, right, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new ParametersNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8925
+ def ParametersNode(requireds, optionals, posts, rest, keywords, keyword_rest, block, location = T.unsafe(nil)); end
+
+ # Create a new ParenthesesNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8930
+ def ParenthesesNode(body, opening_loc, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new PinnedExpressionNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8935
+ def PinnedExpressionNode(expression, operator_loc, lparen_loc, rparen_loc, location = T.unsafe(nil)); end
+
+ # Create a new PinnedVariableNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8940
+ def PinnedVariableNode(variable, operator_loc, location = T.unsafe(nil)); end
+
+ # Create a new PostExecutionNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8945
+ def PostExecutionNode(statements, keyword_loc, opening_loc, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new PreExecutionNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8950
+ def PreExecutionNode(statements, keyword_loc, opening_loc, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new ProgramNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8955
+ def ProgramNode(locals, statements, location = T.unsafe(nil)); end
+
+ # Create a new RangeNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8960
+ def RangeNode(left, right, operator_loc, flags, location = T.unsafe(nil)); end
+
+ # Create a new RationalNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8965
+ def RationalNode(numeric, location = T.unsafe(nil)); end
+
+ # Create a new RedoNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8970
+ def RedoNode(location = T.unsafe(nil)); end
+
+ # Create a new RegularExpressionNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8975
+ def RegularExpressionNode(opening_loc, content_loc, closing_loc, unescaped, flags, location = T.unsafe(nil)); end
+
+ # Create a new RequiredDestructuredParameterNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8980
+ def RequiredDestructuredParameterNode(parameters, opening_loc, closing_loc, location = T.unsafe(nil)); end
+
+ # Create a new RequiredParameterNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8985
+ def RequiredParameterNode(name, location = T.unsafe(nil)); end
+
+ # Create a new RescueModifierNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8990
+ def RescueModifierNode(expression, keyword_loc, rescue_expression, location = T.unsafe(nil)); end
+
+ # Create a new RescueNode node
+ #
+ # source://yarp//lib/yarp/node.rb#8995
+ def RescueNode(keyword_loc, exceptions, operator_loc, reference, statements, consequent, location = T.unsafe(nil)); end
+
+ # Create a new RestParameterNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9000
+ def RestParameterNode(operator_loc, name_loc, location = T.unsafe(nil)); end
+
+ # Create a new RetryNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9005
+ def RetryNode(location = T.unsafe(nil)); end
+
+ # Create a new ReturnNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9010
+ def ReturnNode(keyword_loc, arguments, location = T.unsafe(nil)); end
+
+ # Create a new SelfNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9015
+ def SelfNode(location = T.unsafe(nil)); end
+
+ # Create a new SingletonClassNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9020
+ def SingletonClassNode(locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new SourceEncodingNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9025
+ def SourceEncodingNode(location = T.unsafe(nil)); end
+
+ # Create a new SourceFileNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9030
+ def SourceFileNode(filepath, location = T.unsafe(nil)); end
+
+ # Create a new SourceLineNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9035
+ def SourceLineNode(location = T.unsafe(nil)); end
+
+ # Create a new SplatNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9040
+ def SplatNode(operator_loc, expression, location = T.unsafe(nil)); end
+
+ # Create a new StatementsNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9045
+ def StatementsNode(body, location = T.unsafe(nil)); end
+
+ # Create a new StringConcatNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9050
+ def StringConcatNode(left, right, location = T.unsafe(nil)); end
+
+ # Create a new StringNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9055
+ def StringNode(opening_loc, content_loc, closing_loc, unescaped, location = T.unsafe(nil)); end
+
+ # Create a new SuperNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9060
+ def SuperNode(keyword_loc, lparen_loc, arguments, rparen_loc, block, location = T.unsafe(nil)); end
+
+ # Create a new SymbolNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9065
+ def SymbolNode(opening_loc, value_loc, closing_loc, unescaped, location = T.unsafe(nil)); end
+
+ # Create a new TrueNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9070
+ def TrueNode(location = T.unsafe(nil)); end
+
+ # Create a new UndefNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9075
+ def UndefNode(names, keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new UnlessNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9080
+ def UnlessNode(keyword_loc, predicate, statements, consequent, end_keyword_loc, location = T.unsafe(nil)); end
+
+ # Create a new UntilNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9085
+ def UntilNode(keyword_loc, closing_loc, predicate, statements, flags, location = T.unsafe(nil)); end
+
+ # Create a new WhenNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9090
+ def WhenNode(keyword_loc, conditions, statements, location = T.unsafe(nil)); end
+
+ # Create a new WhileNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9095
+ def WhileNode(keyword_loc, closing_loc, predicate, statements, flags, location = T.unsafe(nil)); end
+
+ # Create a new XStringNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9100
+ def XStringNode(opening_loc, content_loc, closing_loc, unescaped, location = T.unsafe(nil)); end
+
+ # Create a new YieldNode node
+ #
+ # source://yarp//lib/yarp/node.rb#9105
+ def YieldNode(keyword_loc, lparen_loc, arguments, rparen_loc, location = T.unsafe(nil)); end
+end
+
+# This module is used for testing and debugging and is not meant to be used by
+# consumers of this library.
+#
+# source://yarp//lib/yarp.rb#367
+module YARP::Debug
+ class << self
+ # For the given source, compiles with CRuby and returns a list of all of the
+ # sets of local variables that were encountered.
+ #
+ # source://yarp//lib/yarp.rb#408
+ def cruby_locals(source); end
+
+ def memsize(_arg0); end
+ def named_captures(_arg0); end
+
+ # source://yarp//lib/yarp.rb#514
+ def newlines(source); end
+
+ # source://yarp//lib/yarp.rb#518
+ def parse_serialize_file(filepath); end
+
+ def parse_serialize_file_metadata(_arg0, _arg1); end
+ def profile_file(_arg0); end
+ def unescape_all(_arg0); end
+ def unescape_minimal(_arg0); end
+ def unescape_none(_arg0); end
+
+ # For the given source, parses with YARP and returns a list of all of the
+ # sets of local variables that were encountered.
+ #
+ # source://yarp//lib/yarp.rb#447
+ def yarp_locals(source); end
+ end
+end
+
+# source://yarp//lib/yarp.rb#368
+class YARP::Debug::ISeq
+ # @return [ISeq] a new instance of ISeq
+ #
+ # source://yarp//lib/yarp.rb#371
+ def initialize(parts); end
+
+ # source://yarp//lib/yarp.rb#387
+ def each_child; end
+
+ # source://yarp//lib/yarp.rb#383
+ def instructions; end
+
+ # source://yarp//lib/yarp.rb#379
+ def local_table; end
+
+ # Returns the value of attribute parts.
+ #
+ # source://yarp//lib/yarp.rb#369
+ def parts; end
+
+ # source://yarp//lib/yarp.rb#375
+ def type; end
+end
+
+# Represents a method definition.
+#
+# def method
+# end
+# ^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2396
+class YARP::DefNode < ::YARP::Node
+ # def initialize: (name_loc: Location, receiver: Node?, parameters: ParametersNode?, body: Node?, locals: Array[Symbol], def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location?, location: Location) -> void
+ #
+ # @return [DefNode] a new instance of DefNode
+ #
+ # source://yarp//lib/yarp/node.rb#2431
+ def initialize(name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2447
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#2407
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2452
+ def child_nodes; end
+
+ # def copy: (**params) -> DefNode
+ #
+ # source://yarp//lib/yarp/node.rb#2457
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2452
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2478
+ def deconstruct_keys(keys); end
+
+ # def def_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2488
+ def def_keyword; end
+
+ # attr_reader def_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2413
+ def def_keyword_loc; end
+
+ # def end_keyword: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#2513
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#2428
+ def end_keyword_loc; end
+
+ # def equal: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#2508
+ def equal; end
+
+ # attr_reader equal_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#2425
+ def equal_loc; end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://yarp//lib/yarp/node.rb#2410
+ def locals; end
+
+ # def lparen: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#2498
+ def lparen; end
+
+ # attr_reader lparen_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#2419
+ def lparen_loc; end
+
+ # def name: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2483
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2398
+ def name_loc; end
+
+ # def operator: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#2493
+ def operator; end
+
+ # attr_reader operator_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#2416
+ def operator_loc; end
+
+ # attr_reader parameters: ParametersNode?
+ #
+ # source://yarp//lib/yarp/node.rb#2404
+ def parameters; end
+
+ # attr_reader receiver: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#2401
+ def receiver; end
+
+ # def rparen: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#2503
+ def rparen; end
+
+ # attr_reader rparen_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#2422
+ def rparen_loc; end
+end
+
+# Represents the use of the `defined?` keyword.
+#
+# defined?(a)
+# ^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2522
+class YARP::DefinedNode < ::YARP::Node
+ # def initialize: (lparen_loc: Location?, value: Node, rparen_loc: Location?, keyword_loc: Location, location: Location) -> void
+ #
+ # @return [DefinedNode] a new instance of DefinedNode
+ #
+ # source://yarp//lib/yarp/node.rb#2536
+ def initialize(lparen_loc, value, rparen_loc, keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2545
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2550
+ def child_nodes; end
+
+ # def copy: (**params) -> DefinedNode
+ #
+ # source://yarp//lib/yarp/node.rb#2555
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2550
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2569
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2584
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2533
+ def keyword_loc; end
+
+ # def lparen: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#2574
+ def lparen; end
+
+ # attr_reader lparen_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#2524
+ def lparen_loc; end
+
+ # def rparen: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#2579
+ def rparen; end
+
+ # attr_reader rparen_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#2530
+ def rparen_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#2527
+ def value; end
+end
+
+# source://yarp//lib/yarp/desugar_visitor.rb#4
+class YARP::DesugarVisitor < ::YARP::MutationVisitor
+ # @@foo &&= bar
+ #
+ # becomes
+ #
+ # @@foo && @@foo = bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#10
+ def visit_class_variable_and_write_node(node); end
+
+ # @@foo += bar
+ #
+ # becomes
+ #
+ # @@foo = @@foo + bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#28
+ def visit_class_variable_operator_write_node(node); end
+
+ # @@foo ||= bar
+ #
+ # becomes
+ #
+ # defined?(@@foo) ? @@foo : @@foo = bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#19
+ def visit_class_variable_or_write_node(node); end
+
+ # Foo &&= bar
+ #
+ # becomes
+ #
+ # Foo && Foo = bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#37
+ def visit_constant_and_write_node(node); end
+
+ # Foo += bar
+ #
+ # becomes
+ #
+ # Foo = Foo + bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#55
+ def visit_constant_operator_write_node(node); end
+
+ # Foo ||= bar
+ #
+ # becomes
+ #
+ # defined?(Foo) ? Foo : Foo = bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#46
+ def visit_constant_or_write_node(node); end
+
+ # $foo &&= bar
+ #
+ # becomes
+ #
+ # $foo && $foo = bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#64
+ def visit_global_variable_and_write_node(node); end
+
+ # $foo += bar
+ #
+ # becomes
+ #
+ # $foo = $foo + bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#82
+ def visit_global_variable_operator_write_node(node); end
+
+ # $foo ||= bar
+ #
+ # becomes
+ #
+ # defined?($foo) ? $foo : $foo = bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#73
+ def visit_global_variable_or_write_node(node); end
+
+ # becomes
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#91
+ def visit_instance_variable_and_write_node(node); end
+
+ # becomes
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#109
+ def visit_instance_variable_operator_write_node(node); end
+
+ # becomes
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#100
+ def visit_instance_variable_or_write_node(node); end
+
+ # foo &&= bar
+ #
+ # becomes
+ #
+ # foo && foo = bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#118
+ def visit_local_variable_and_write_node(node); end
+
+ # foo += bar
+ #
+ # becomes
+ #
+ # foo = foo + bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#136
+ def visit_local_variable_operator_write_node(node); end
+
+ # foo ||= bar
+ #
+ # becomes
+ #
+ # foo || foo = bar
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#127
+ def visit_local_variable_or_write_node(node); end
+
+ private
+
+ # Desugar `x &&= y` to `x && x = y`
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#143
+ def desugar_and_write_node(node, read_class, write_class, arguments: T.unsafe(nil)); end
+
+ # Desugar `x += y` to `x = x + y`
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#153
+ def desugar_operator_write_node(node, read_class, write_class, arguments: T.unsafe(nil)); end
+
+ # Desugar `x ||= y` to `defined?(x) ? x : x = y`
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#185
+ def desugar_or_write_defined_node(node, read_class, write_class, arguments: T.unsafe(nil)); end
+
+ # Desugar `x ||= y` to `x || x = y`
+ #
+ # source://yarp//lib/yarp/desugar_visitor.rb#175
+ def desugar_or_write_node(node, read_class, write_class, arguments: T.unsafe(nil)); end
+end
+
+# Represents an `else` clause in a `case`, `if`, or `unless` statement.
+#
+# if a then b else c end
+# ^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2593
+class YARP::ElseNode < ::YARP::Node
+ # def initialize: (else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location?, location: Location) -> void
+ #
+ # @return [ElseNode] a new instance of ElseNode
+ #
+ # source://yarp//lib/yarp/node.rb#2604
+ def initialize(else_keyword_loc, statements, end_keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2612
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2617
+ def child_nodes; end
+
+ # def copy: (**params) -> ElseNode
+ #
+ # source://yarp//lib/yarp/node.rb#2622
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2617
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2635
+ def deconstruct_keys(keys); end
+
+ # def else_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2640
+ def else_keyword; end
+
+ # attr_reader else_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2595
+ def else_keyword_loc; end
+
+ # def end_keyword: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#2645
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#2601
+ def end_keyword_loc; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#2598
+ def statements; end
+end
+
+# Represents an interpolated set of statements.
+#
+# "foo #{bar}"
+# ^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2654
+class YARP::EmbeddedStatementsNode < ::YARP::Node
+ # def initialize: (opening_loc: Location, statements: StatementsNode?, closing_loc: Location, location: Location) -> void
+ #
+ # @return [EmbeddedStatementsNode] a new instance of EmbeddedStatementsNode
+ #
+ # source://yarp//lib/yarp/node.rb#2665
+ def initialize(opening_loc, statements, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2673
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2678
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2706
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2662
+ def closing_loc; end
+
+ # def copy: (**params) -> EmbeddedStatementsNode
+ #
+ # source://yarp//lib/yarp/node.rb#2683
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2678
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2696
+ def deconstruct_keys(keys); end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2701
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2656
+ def opening_loc; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#2659
+ def statements; end
+end
+
+# Represents an interpolated variable.
+#
+# "foo #@bar"
+# ^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2715
+class YARP::EmbeddedVariableNode < ::YARP::Node
+ # def initialize: (operator_loc: Location, variable: Node, location: Location) -> void
+ #
+ # @return [EmbeddedVariableNode] a new instance of EmbeddedVariableNode
+ #
+ # source://yarp//lib/yarp/node.rb#2723
+ def initialize(operator_loc, variable, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2730
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2735
+ def child_nodes; end
+
+ # def copy: (**params) -> EmbeddedVariableNode
+ #
+ # source://yarp//lib/yarp/node.rb#2740
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2735
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2752
+ def deconstruct_keys(keys); end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2757
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2717
+ def operator_loc; end
+
+ # attr_reader variable: Node
+ #
+ # source://yarp//lib/yarp/node.rb#2720
+ def variable; end
+end
+
+# Represents an `ensure` clause in a `begin` statement.
+#
+# begin
+# foo
+# ensure
+# ^^^^^^
+# bar
+# end
+#
+# source://yarp//lib/yarp/node.rb#2770
+class YARP::EnsureNode < ::YARP::Node
+ # def initialize: (ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location, location: Location) -> void
+ #
+ # @return [EnsureNode] a new instance of EnsureNode
+ #
+ # source://yarp//lib/yarp/node.rb#2781
+ def initialize(ensure_keyword_loc, statements, end_keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2789
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2794
+ def child_nodes; end
+
+ # def copy: (**params) -> EnsureNode
+ #
+ # source://yarp//lib/yarp/node.rb#2799
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2794
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2812
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2822
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2778
+ def end_keyword_loc; end
+
+ # def ensure_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#2817
+ def ensure_keyword; end
+
+ # attr_reader ensure_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2772
+ def ensure_keyword_loc; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#2775
+ def statements; end
+end
+
+# Represents the use of the literal `false` keyword.
+#
+# false
+# ^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2831
+class YARP::FalseNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [FalseNode] a new instance of FalseNode
+ #
+ # source://yarp//lib/yarp/node.rb#2833
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2838
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2843
+ def child_nodes; end
+
+ # def copy: (**params) -> FalseNode
+ #
+ # source://yarp//lib/yarp/node.rb#2848
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2843
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2858
+ def deconstruct_keys(keys); end
+end
+
+# Represents a find pattern in pattern matching.
+#
+# foo in *bar, baz, *qux
+# ^^^^^^^^^^^^^^^^^^^^^^
+#
+# foo in [*bar, baz, *qux]
+# ^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# foo in Foo(*bar, baz, *qux)
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2873
+class YARP::FindPatternNode < ::YARP::Node
+ # def initialize: (constant: Node?, left: Node, requireds: Array[Node], right: Node, opening_loc: Location?, closing_loc: Location?, location: Location) -> void
+ #
+ # @return [FindPatternNode] a new instance of FindPatternNode
+ #
+ # source://yarp//lib/yarp/node.rb#2893
+ def initialize(constant, left, requireds, right, opening_loc, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2904
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2909
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#2940
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#2890
+ def closing_loc; end
+
+ # attr_reader constant: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#2875
+ def constant; end
+
+ # def copy: (**params) -> FindPatternNode
+ #
+ # source://yarp//lib/yarp/node.rb#2914
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2909
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2930
+ def deconstruct_keys(keys); end
+
+ # attr_reader left: Node
+ #
+ # source://yarp//lib/yarp/node.rb#2878
+ def left; end
+
+ # def opening: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#2935
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#2887
+ def opening_loc; end
+
+ # attr_reader requireds: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2881
+ def requireds; end
+
+ # attr_reader right: Node
+ #
+ # source://yarp//lib/yarp/node.rb#2884
+ def right; end
+end
+
+# Represents the use of the `..` or `...` operators to create flip flops.
+#
+# baz if foo .. bar
+# ^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#2949
+class YARP::FlipFlopNode < ::YARP::Node
+ # def initialize: (left: Node?, right: Node?, operator_loc: Location, flags: Integer, location: Location) -> void
+ #
+ # @return [FlipFlopNode] a new instance of FlipFlopNode
+ #
+ # source://yarp//lib/yarp/node.rb#2963
+ def initialize(left, right, operator_loc, flags, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#2972
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2977
+ def child_nodes; end
+
+ # def copy: (**params) -> FlipFlopNode
+ #
+ # source://yarp//lib/yarp/node.rb#2982
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#2977
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#2996
+ def deconstruct_keys(keys); end
+
+ # def exclude_end?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#3006
+ def exclude_end?; end
+
+ # attr_reader flags: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#2960
+ def flags; end
+
+ # attr_reader left: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#2951
+ def left; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3001
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#2957
+ def operator_loc; end
+
+ # attr_reader right: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#2954
+ def right; end
+end
+
+# Represents a floating point number literal.
+#
+# 1.0
+# ^^^
+#
+# source://yarp//lib/yarp.rb#336
+class YARP::FloatNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [FloatNode] a new instance of FloatNode
+ #
+ # source://yarp//lib/yarp/node.rb#3017
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3022
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3027
+ def child_nodes; end
+
+ # def copy: (**params) -> FloatNode
+ #
+ # source://yarp//lib/yarp/node.rb#3032
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3027
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3042
+ def deconstruct_keys(keys); end
+
+ # source://yarp//lib/yarp.rb#337
+ def value; end
+end
+
+# Represents the use of the `for` keyword.
+#
+# for i in a end
+# ^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3051
+class YARP::ForNode < ::YARP::Node
+ # def initialize: (index: Node, collection: Node, statements: StatementsNode?, for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: Location?, end_keyword_loc: Location, location: Location) -> void
+ #
+ # @return [ForNode] a new instance of ForNode
+ #
+ # source://yarp//lib/yarp/node.rb#3074
+ def initialize(index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3086
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3091
+ def child_nodes; end
+
+ # attr_reader collection: Node
+ #
+ # source://yarp//lib/yarp/node.rb#3056
+ def collection; end
+
+ # def copy: (**params) -> ForNode
+ #
+ # source://yarp//lib/yarp/node.rb#3096
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3091
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3113
+ def deconstruct_keys(keys); end
+
+ # def do_keyword: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#3128
+ def do_keyword; end
+
+ # attr_reader do_keyword_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#3068
+ def do_keyword_loc; end
+
+ # def end_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3133
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3071
+ def end_keyword_loc; end
+
+ # def for_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3118
+ def for_keyword; end
+
+ # attr_reader for_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3062
+ def for_keyword_loc; end
+
+ # def in_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3123
+ def in_keyword; end
+
+ # attr_reader in_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3065
+ def in_keyword_loc; end
+
+ # attr_reader index: Node
+ #
+ # source://yarp//lib/yarp/node.rb#3053
+ def index; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#3059
+ def statements; end
+end
+
+# Represents forwarding all arguments to this method to another method.
+#
+# def foo(...)
+# bar(...)
+# ^^^^^^^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#3144
+class YARP::ForwardingArgumentsNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [ForwardingArgumentsNode] a new instance of ForwardingArgumentsNode
+ #
+ # source://yarp//lib/yarp/node.rb#3146
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3151
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3156
+ def child_nodes; end
+
+ # def copy: (**params) -> ForwardingArgumentsNode
+ #
+ # source://yarp//lib/yarp/node.rb#3161
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3156
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3171
+ def deconstruct_keys(keys); end
+end
+
+# Represents the use of the forwarding parameter in a method, block, or lambda declaration.
+#
+# def foo(...)
+# ^^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#3181
+class YARP::ForwardingParameterNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [ForwardingParameterNode] a new instance of ForwardingParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#3183
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3188
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3193
+ def child_nodes; end
+
+ # def copy: (**params) -> ForwardingParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#3198
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3193
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3208
+ def deconstruct_keys(keys); end
+end
+
+# Represents the use of the `super` keyword without parentheses or arguments.
+#
+# super
+# ^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3217
+class YARP::ForwardingSuperNode < ::YARP::Node
+ # def initialize: (block: BlockNode?, location: Location) -> void
+ #
+ # @return [ForwardingSuperNode] a new instance of ForwardingSuperNode
+ #
+ # source://yarp//lib/yarp/node.rb#3222
+ def initialize(block, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3228
+ def accept(visitor); end
+
+ # attr_reader block: BlockNode?
+ #
+ # source://yarp//lib/yarp/node.rb#3219
+ def block; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3233
+ def child_nodes; end
+
+ # def copy: (**params) -> ForwardingSuperNode
+ #
+ # source://yarp//lib/yarp/node.rb#3238
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3233
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3249
+ def deconstruct_keys(keys); end
+end
+
+# Represents the use of the `&&=` operator for assignment to a global variable.
+#
+# $target &&= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3258
+class YARP::GlobalVariableAndWriteNode < ::YARP::Node
+ # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [GlobalVariableAndWriteNode] a new instance of GlobalVariableAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3269
+ def initialize(name_loc, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3277
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3282
+ def child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3287
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3282
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3300
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3305
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3260
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3310
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3263
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#3266
+ def value; end
+end
+
+# Represents assigning to a global variable using an operator that isn't `=`.
+#
+# $target += value
+# ^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3319
+class YARP::GlobalVariableOperatorWriteNode < ::YARP::Node
+ # def initialize: (name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void
+ #
+ # @return [GlobalVariableOperatorWriteNode] a new instance of GlobalVariableOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3333
+ def initialize(name_loc, operator_loc, value, operator, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3342
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3347
+ def child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3352
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3347
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3366
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3371
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3321
+ def name_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#3330
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3324
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#3327
+ def value; end
+end
+
+# Represents the use of the `||=` operator for assignment to a global variable.
+#
+# $target ||= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3380
+class YARP::GlobalVariableOrWriteNode < ::YARP::Node
+ # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [GlobalVariableOrWriteNode] a new instance of GlobalVariableOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3391
+ def initialize(name_loc, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3399
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3404
+ def child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3409
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3404
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3422
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3427
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3382
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3432
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3385
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#3388
+ def value; end
+end
+
+# Represents referencing a global variable.
+#
+# $foo
+# ^^^^
+#
+# source://yarp//lib/yarp/node.rb#3441
+class YARP::GlobalVariableReadNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [GlobalVariableReadNode] a new instance of GlobalVariableReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#3443
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3448
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3453
+ def child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#3458
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3453
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3468
+ def deconstruct_keys(keys); end
+end
+
+# Represents writing to a global variable in a context that doesn't have an explicit value.
+#
+# $foo, $bar = baz
+# ^^^^ ^^^^
+#
+# source://yarp//lib/yarp/node.rb#3477
+class YARP::GlobalVariableTargetNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [GlobalVariableTargetNode] a new instance of GlobalVariableTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#3479
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3484
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3489
+ def child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#3494
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3489
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3504
+ def deconstruct_keys(keys); end
+end
+
+# Represents writing to a global variable.
+#
+# $foo = 1
+# ^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3513
+class YARP::GlobalVariableWriteNode < ::YARP::Node
+ # def initialize: (name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [GlobalVariableWriteNode] a new instance of GlobalVariableWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3524
+ def initialize(name_loc, value, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3532
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3537
+ def child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3542
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3537
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3555
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3560
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3515
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3565
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3521
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#3518
+ def value; end
+end
+
+# Represents a hash literal.
+#
+# { a => b }
+# ^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3574
+class YARP::HashNode < ::YARP::Node
+ # def initialize: (opening_loc: Location, elements: Array[Node], closing_loc: Location, location: Location) -> void
+ #
+ # @return [HashNode] a new instance of HashNode
+ #
+ # source://yarp//lib/yarp/node.rb#3585
+ def initialize(opening_loc, elements, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3593
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3598
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3626
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3582
+ def closing_loc; end
+
+ # def copy: (**params) -> HashNode
+ #
+ # source://yarp//lib/yarp/node.rb#3603
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3598
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3616
+ def deconstruct_keys(keys); end
+
+ # attr_reader elements: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3579
+ def elements; end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3621
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3576
+ def opening_loc; end
+end
+
+# Represents a hash pattern in pattern matching.
+#
+# foo => { a: 1, b: 2 }
+# ^^^^^^^^^^^^^^
+#
+# foo => { a: 1, b: 2, **c }
+# ^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3638
+class YARP::HashPatternNode < ::YARP::Node
+ # def initialize: (constant: Node?, assocs: Array[Node], kwrest: Node?, opening_loc: Location?, closing_loc: Location?, location: Location) -> void
+ #
+ # @return [HashPatternNode] a new instance of HashPatternNode
+ #
+ # source://yarp//lib/yarp/node.rb#3655
+ def initialize(constant, assocs, kwrest, opening_loc, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3665
+ def accept(visitor); end
+
+ # attr_reader assocs: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3643
+ def assocs; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3670
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#3700
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#3652
+ def closing_loc; end
+
+ # attr_reader constant: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#3640
+ def constant; end
+
+ # def copy: (**params) -> HashPatternNode
+ #
+ # source://yarp//lib/yarp/node.rb#3675
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3670
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3690
+ def deconstruct_keys(keys); end
+
+ # attr_reader kwrest: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#3646
+ def kwrest; end
+
+ # def opening: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#3695
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#3649
+ def opening_loc; end
+end
+
+# Represents the use of the `if` keyword, either in the block form or the modifier form.
+#
+# bar if foo
+# ^^^^^^^^^^
+#
+# if foo then bar end
+# ^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3712
+class YARP::IfNode < ::YARP::Node
+ # def initialize: (if_keyword_loc: Location?, predicate: Node, statements: StatementsNode?, consequent: Node?, end_keyword_loc: Location?, location: Location) -> void
+ #
+ # @return [IfNode] a new instance of IfNode
+ #
+ # source://yarp//lib/yarp/node.rb#3729
+ def initialize(if_keyword_loc, predicate, statements, consequent, end_keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3739
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3748
+ def child_nodes; end
+
+ # attr_reader consequent: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#3723
+ def consequent; end
+
+ # def copy: (**params) -> IfNode
+ #
+ # source://yarp//lib/yarp/node.rb#3753
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3748
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3768
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#3778
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#3726
+ def end_keyword_loc; end
+
+ # def if_keyword: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#3773
+ def if_keyword; end
+
+ # attr_reader if_keyword_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#3714
+ def if_keyword_loc; end
+
+ # attr_reader predicate: Node
+ #
+ # source://yarp//lib/yarp/node.rb#3717
+ def predicate; end
+
+ # source://yarp//lib/yarp/node.rb#3743
+ def set_newline_flag(newline_marked); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#3720
+ def statements; end
+end
+
+# Represents an imaginary number literal.
+#
+# 1.0i
+# ^^^^
+#
+# source://yarp//lib/yarp.rb#342
+class YARP::ImaginaryNode < ::YARP::Node
+ # def initialize: (numeric: Node, location: Location) -> void
+ #
+ # @return [ImaginaryNode] a new instance of ImaginaryNode
+ #
+ # source://yarp//lib/yarp/node.rb#3792
+ def initialize(numeric, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3798
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3803
+ def child_nodes; end
+
+ # def copy: (**params) -> ImaginaryNode
+ #
+ # source://yarp//lib/yarp/node.rb#3808
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3803
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3819
+ def deconstruct_keys(keys); end
+
+ # attr_reader numeric: Node
+ #
+ # source://yarp//lib/yarp/node.rb#3789
+ def numeric; end
+
+ # source://yarp//lib/yarp.rb#343
+ def value; end
+end
+
+# Represents the use of the `in` keyword in a case statement.
+#
+# case a; in b then c end
+# ^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3828
+class YARP::InNode < ::YARP::Node
+ # def initialize: (pattern: Node, statements: StatementsNode?, in_loc: Location, then_loc: Location?, location: Location) -> void
+ #
+ # @return [InNode] a new instance of InNode
+ #
+ # source://yarp//lib/yarp/node.rb#3842
+ def initialize(pattern, statements, in_loc, then_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3851
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3856
+ def child_nodes; end
+
+ # def copy: (**params) -> InNode
+ #
+ # source://yarp//lib/yarp/node.rb#3861
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3856
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3875
+ def deconstruct_keys(keys); end
+
+ # def in: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3880
+ def in; end
+
+ # attr_reader in_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3836
+ def in_loc; end
+
+ # attr_reader pattern: Node
+ #
+ # source://yarp//lib/yarp/node.rb#3830
+ def pattern; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#3833
+ def statements; end
+
+ # def then: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#3885
+ def then; end
+
+ # attr_reader then_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#3839
+ def then_loc; end
+end
+
+# Represents the use of the `&&=` operator for assignment to an instance variable.
+#
+# @target &&= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3894
+class YARP::InstanceVariableAndWriteNode < ::YARP::Node
+ # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [InstanceVariableAndWriteNode] a new instance of InstanceVariableAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3908
+ def initialize(name, name_loc, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3917
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3922
+ def child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3927
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3922
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#3941
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#3896
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3899
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#3946
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3902
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#3905
+ def value; end
+end
+
+# Represents assigning to an instance variable using an operator that isn't `=`.
+#
+# @target += value
+# ^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#3955
+class YARP::InstanceVariableOperatorWriteNode < ::YARP::Node
+ # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void
+ #
+ # @return [InstanceVariableOperatorWriteNode] a new instance of InstanceVariableOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3972
+ def initialize(name, name_loc, operator_loc, value, operator, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#3982
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3987
+ def child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#3992
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#3987
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4007
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#3957
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3960
+ def name_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#3969
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#3963
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#3966
+ def value; end
+end
+
+# Represents the use of the `||=` operator for assignment to an instance variable.
+#
+# @target ||= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#4016
+class YARP::InstanceVariableOrWriteNode < ::YARP::Node
+ # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [InstanceVariableOrWriteNode] a new instance of InstanceVariableOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#4030
+ def initialize(name, name_loc, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4039
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4044
+ def child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#4049
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4044
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4063
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#4018
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4021
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4068
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4024
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#4027
+ def value; end
+end
+
+# Represents referencing an instance variable.
+#
+# @foo
+# ^^^^
+#
+# source://yarp//lib/yarp/node.rb#4077
+class YARP::InstanceVariableReadNode < ::YARP::Node
+ # def initialize: (name: Symbol, location: Location) -> void
+ #
+ # @return [InstanceVariableReadNode] a new instance of InstanceVariableReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#4082
+ def initialize(name, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4088
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4093
+ def child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#4098
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4093
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4109
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#4079
+ def name; end
+end
+
+# Represents writing to an instance variable in a context that doesn't have an explicit value.
+#
+# @foo, @bar = baz
+# ^^^^ ^^^^
+#
+# source://yarp//lib/yarp/node.rb#4118
+class YARP::InstanceVariableTargetNode < ::YARP::Node
+ # def initialize: (name: Symbol, location: Location) -> void
+ #
+ # @return [InstanceVariableTargetNode] a new instance of InstanceVariableTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#4123
+ def initialize(name, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4129
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4134
+ def child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#4139
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4134
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4150
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#4120
+ def name; end
+end
+
+# Represents writing to an instance variable.
+#
+# @foo = 1
+# ^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#4159
+class YARP::InstanceVariableWriteNode < ::YARP::Node
+ # def initialize: (name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [InstanceVariableWriteNode] a new instance of InstanceVariableWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#4173
+ def initialize(name, name_loc, value, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4182
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4187
+ def child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#4192
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4187
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4206
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#4161
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4164
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4211
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4170
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#4167
+ def value; end
+end
+
+# Represents an integer number literal.
+#
+# 1
+# ^
+#
+# source://yarp//lib/yarp.rb#348
+class YARP::IntegerNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [IntegerNode] a new instance of IntegerNode
+ #
+ # source://yarp//lib/yarp/node.rb#4222
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4227
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4232
+ def child_nodes; end
+
+ # def copy: (**params) -> IntegerNode
+ #
+ # source://yarp//lib/yarp/node.rb#4237
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4232
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4247
+ def deconstruct_keys(keys); end
+
+ # source://yarp//lib/yarp.rb#349
+ def value; end
+end
+
+# Represents a regular expression literal that contains interpolation.
+#
+# /foo #{bar} baz/
+# ^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#4256
+class YARP::InterpolatedRegularExpressionNode < ::YARP::Node
+ # def initialize: (opening_loc: Location, parts: Array[Node], closing_loc: Location, flags: Integer, location: Location) -> void
+ #
+ # @return [InterpolatedRegularExpressionNode] a new instance of InterpolatedRegularExpressionNode
+ #
+ # source://yarp//lib/yarp/node.rb#4270
+ def initialize(opening_loc, parts, closing_loc, flags, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4279
+ def accept(visitor); end
+
+ # def ascii_8bit?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#4343
+ def ascii_8bit?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4289
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4318
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4264
+ def closing_loc; end
+
+ # def copy: (**params) -> InterpolatedRegularExpressionNode
+ #
+ # source://yarp//lib/yarp/node.rb#4294
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4289
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4308
+ def deconstruct_keys(keys); end
+
+ # def euc_jp?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#4338
+ def euc_jp?; end
+
+ # def extended?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#4333
+ def extended?; end
+
+ # attr_reader flags: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#4267
+ def flags; end
+
+ # def ignore_case?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#4323
+ def ignore_case?; end
+
+ # def multi_line?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#4328
+ def multi_line?; end
+
+ # def once?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#4358
+ def once?; end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4313
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4258
+ def opening_loc; end
+
+ # attr_reader parts: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4261
+ def parts; end
+
+ # source://yarp//lib/yarp/node.rb#4283
+ def set_newline_flag(newline_marked); end
+
+ # def utf_8?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#4353
+ def utf_8?; end
+
+ # def windows_31j?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#4348
+ def windows_31j?; end
+end
+
+# Represents a string literal that contains interpolation.
+#
+# "foo #{bar} baz"
+# ^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#4367
+class YARP::InterpolatedStringNode < ::YARP::Node
+ # def initialize: (opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location) -> void
+ #
+ # @return [InterpolatedStringNode] a new instance of InterpolatedStringNode
+ #
+ # source://yarp//lib/yarp/node.rb#4378
+ def initialize(opening_loc, parts, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4386
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4396
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#4424
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#4375
+ def closing_loc; end
+
+ # def copy: (**params) -> InterpolatedStringNode
+ #
+ # source://yarp//lib/yarp/node.rb#4401
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4396
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4414
+ def deconstruct_keys(keys); end
+
+ # def opening: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#4419
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#4369
+ def opening_loc; end
+
+ # attr_reader parts: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4372
+ def parts; end
+
+ # source://yarp//lib/yarp/node.rb#4390
+ def set_newline_flag(newline_marked); end
+end
+
+# Represents a symbol literal that contains interpolation.
+#
+# :"foo #{bar} baz"
+# ^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#4433
+class YARP::InterpolatedSymbolNode < ::YARP::Node
+ # def initialize: (opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location) -> void
+ #
+ # @return [InterpolatedSymbolNode] a new instance of InterpolatedSymbolNode
+ #
+ # source://yarp//lib/yarp/node.rb#4444
+ def initialize(opening_loc, parts, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4452
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4462
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#4490
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#4441
+ def closing_loc; end
+
+ # def copy: (**params) -> InterpolatedSymbolNode
+ #
+ # source://yarp//lib/yarp/node.rb#4467
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4462
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4480
+ def deconstruct_keys(keys); end
+
+ # def opening: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#4485
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#4435
+ def opening_loc; end
+
+ # attr_reader parts: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4438
+ def parts; end
+
+ # source://yarp//lib/yarp/node.rb#4456
+ def set_newline_flag(newline_marked); end
+end
+
+# Represents an xstring literal that contains interpolation.
+#
+# `foo #{bar} baz`
+# ^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#4499
+class YARP::InterpolatedXStringNode < ::YARP::Node
+ # def initialize: (opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location) -> void
+ #
+ # @return [InterpolatedXStringNode] a new instance of InterpolatedXStringNode
+ #
+ # source://yarp//lib/yarp/node.rb#4510
+ def initialize(opening_loc, parts, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4518
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4528
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4556
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4507
+ def closing_loc; end
+
+ # def copy: (**params) -> InterpolatedXStringNode
+ #
+ # source://yarp//lib/yarp/node.rb#4533
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4528
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4546
+ def deconstruct_keys(keys); end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4551
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4501
+ def opening_loc; end
+
+ # attr_reader parts: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4504
+ def parts; end
+
+ # source://yarp//lib/yarp/node.rb#4522
+ def set_newline_flag(newline_marked); end
+end
+
+# Represents a hash literal without opening and closing braces.
+#
+# foo(a: b)
+# ^^^^
+#
+# source://yarp//lib/yarp/node.rb#4565
+class YARP::KeywordHashNode < ::YARP::Node
+ # def initialize: (elements: Array[Node], location: Location) -> void
+ #
+ # @return [KeywordHashNode] a new instance of KeywordHashNode
+ #
+ # source://yarp//lib/yarp/node.rb#4570
+ def initialize(elements, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4576
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4581
+ def child_nodes; end
+
+ # def copy: (**params) -> KeywordHashNode
+ #
+ # source://yarp//lib/yarp/node.rb#4586
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4581
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4597
+ def deconstruct_keys(keys); end
+
+ # attr_reader elements: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4567
+ def elements; end
+end
+
+# Represents a keyword parameter to a method, block, or lambda definition.
+#
+# def a(b:)
+# ^^
+# end
+#
+# def a(b: 1)
+# ^^^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#4611
+class YARP::KeywordParameterNode < ::YARP::Node
+ # def initialize: (name_loc: Location, value: Node?, location: Location) -> void
+ #
+ # @return [KeywordParameterNode] a new instance of KeywordParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#4619
+ def initialize(name_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4626
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4631
+ def child_nodes; end
+
+ # def copy: (**params) -> KeywordParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#4636
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4631
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4648
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4653
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4613
+ def name_loc; end
+
+ # attr_reader value: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#4616
+ def value; end
+end
+
+# Represents a keyword rest parameter to a method, block, or lambda definition.
+#
+# def a(**b)
+# ^^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#4663
+class YARP::KeywordRestParameterNode < ::YARP::Node
+ # def initialize: (operator_loc: Location, name_loc: Location?, location: Location) -> void
+ #
+ # @return [KeywordRestParameterNode] a new instance of KeywordRestParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#4671
+ def initialize(operator_loc, name_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4678
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4683
+ def child_nodes; end
+
+ # def copy: (**params) -> KeywordRestParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#4688
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4683
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4700
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#4710
+ def name; end
+
+ # attr_reader name_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#4668
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4705
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4665
+ def operator_loc; end
+end
+
+# Represents using a lambda literal (not the lambda method call).
+#
+# ->(value) { value * 2 }
+# ^^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#4719
+class YARP::LambdaNode < ::YARP::Node
+ # def initialize: (locals: Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: BlockParametersNode?, body: Node?, location: Location) -> void
+ #
+ # @return [LambdaNode] a new instance of LambdaNode
+ #
+ # source://yarp//lib/yarp/node.rb#4739
+ def initialize(locals, operator_loc, opening_loc, closing_loc, parameters, body, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4750
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#4736
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4755
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4791
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4730
+ def closing_loc; end
+
+ # def copy: (**params) -> LambdaNode
+ #
+ # source://yarp//lib/yarp/node.rb#4760
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4755
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4776
+ def deconstruct_keys(keys); end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://yarp//lib/yarp/node.rb#4721
+ def locals; end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4786
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4727
+ def opening_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4781
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4724
+ def operator_loc; end
+
+ # attr_reader parameters: BlockParametersNode?
+ #
+ # source://yarp//lib/yarp/node.rb#4733
+ def parameters; end
+end
+
+# This class is responsible for lexing the source using YARP and then
+# converting those tokens to be compatible with Ripper. In the vast majority
+# of cases, this is a one-to-one mapping of the token type. Everything else
+# generally lines up. However, there are a few cases that require special
+# handling.
+#
+# source://yarp//lib/yarp/lex_compat.rb#11
+class YARP::LexCompat
+ # @return [LexCompat] a new instance of LexCompat
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#554
+ def initialize(source, filepath = T.unsafe(nil)); end
+
+ # Returns the value of attribute filepath.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#552
+ def filepath; end
+
+ # source://yarp//lib/yarp/lex_compat.rb#559
+ def result; end
+
+ # Returns the value of attribute source.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#552
+ def source; end
+end
+
+# Ripper doesn't include the rest of the token in the event, so we need to
+# trim it down to just the content on the first line when comparing.
+#
+# source://yarp//lib/yarp/lex_compat.rb#205
+class YARP::LexCompat::EndContentToken < ::YARP::LexCompat::Token
+ # source://yarp//lib/yarp/lex_compat.rb#206
+ def ==(other); end
+end
+
+# A heredoc in this case is a list of tokens that belong to the body of the
+# heredoc that should be appended onto the list of tokens when the heredoc
+# closes.
+#
+# source://yarp//lib/yarp/lex_compat.rb#266
+module YARP::LexCompat::Heredoc
+ class << self
+ # Here we will split between the two types of heredocs and return the
+ # object that will store their tokens.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#540
+ def build(opening); end
+ end
+end
+
+# Dash heredocs are a little more complicated. They are a list of tokens
+# that need to be split on "\\\n" to mimic Ripper's behavior. We also need
+# to keep track of the state that the heredoc was opened in.
+#
+# source://yarp//lib/yarp/lex_compat.rb#290
+class YARP::LexCompat::Heredoc::DashHeredoc
+ # @return [DashHeredoc] a new instance of DashHeredoc
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#293
+ def initialize(split); end
+
+ # source://yarp//lib/yarp/lex_compat.rb#298
+ def <<(token); end
+
+ # Returns the value of attribute split.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#291
+ def split; end
+
+ # source://yarp//lib/yarp/lex_compat.rb#302
+ def to_a; end
+
+ # Returns the value of attribute tokens.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#291
+ def tokens; end
+end
+
+# Heredocs that are dedenting heredocs are a little more complicated.
+# Ripper outputs on_ignored_sp tokens for the whitespace that is being
+# removed from the output. YARP only modifies the node itself and keeps
+# the token the same. This simplifies YARP, but makes comparing against
+# Ripper much harder because there is a length mismatch.
+#
+# Fortunately, we already have to pull out the heredoc tokens in order to
+# insert them into the stream in the correct order. As such, we can do
+# some extra manipulation on the tokens to make them match Ripper's
+# output by mirroring the dedent logic that Ripper uses.
+#
+# source://yarp//lib/yarp/lex_compat.rb#349
+class YARP::LexCompat::Heredoc::DedentingHeredoc
+ # @return [DedentingHeredoc] a new instance of DedentingHeredoc
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#354
+ def initialize; end
+
+ # As tokens are coming in, we track the minimum amount of common leading
+ # whitespace on plain string content tokens. This allows us to later
+ # remove that amount of whitespace from the beginning of each line.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#364
+ def <<(token); end
+
+ # Returns the value of attribute dedent.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#352
+ def dedent; end
+
+ # Returns the value of attribute dedent_next.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#352
+ def dedent_next; end
+
+ # Returns the value of attribute embexpr_balance.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#352
+ def embexpr_balance; end
+
+ # source://yarp//lib/yarp/lex_compat.rb#396
+ def to_a; end
+
+ # Returns the value of attribute tokens.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#352
+ def tokens; end
+end
+
+# source://yarp//lib/yarp/lex_compat.rb#350
+YARP::LexCompat::Heredoc::DedentingHeredoc::TAB_WIDTH = T.let(T.unsafe(nil), Integer)
+
+# Heredocs that are no dash or tilde heredocs are just a list of tokens.
+# We need to keep them around so that we can insert them in the correct
+# order back into the token stream and set the state of the last token to
+# the state that the heredoc was opened in.
+#
+# source://yarp//lib/yarp/lex_compat.rb#271
+class YARP::LexCompat::Heredoc::PlainHeredoc
+ # @return [PlainHeredoc] a new instance of PlainHeredoc
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#274
+ def initialize; end
+
+ # source://yarp//lib/yarp/lex_compat.rb#278
+ def <<(token); end
+
+ # source://yarp//lib/yarp/lex_compat.rb#282
+ def to_a; end
+
+ # Returns the value of attribute tokens.
+ #
+ # source://yarp//lib/yarp/lex_compat.rb#272
+ def tokens; end
+end
+
+# Ident tokens for the most part are exactly the same, except sometimes we
+# know an ident is a local when ripper doesn't (when they are introduced
+# through named captures in regular expressions). In that case we don't
+# compare the state.
+#
+# source://yarp//lib/yarp/lex_compat.rb#223
+class YARP::LexCompat::IdentToken < ::YARP::LexCompat::Token
+ # source://yarp//lib/yarp/lex_compat.rb#224
+ def ==(other); end
+end
+
+# Tokens where state should be ignored
+# used for :on_comment, :on_heredoc_end, :on_embexpr_end
+#
+# source://yarp//lib/yarp/lex_compat.rb#213
+class YARP::LexCompat::IgnoreStateToken < ::YARP::LexCompat::Token
+ # source://yarp//lib/yarp/lex_compat.rb#214
+ def ==(other); end
+end
+
+# Ignored newlines can occasionally have a LABEL state attached to them, so
+# we compare the state differently here.
+#
+# source://yarp//lib/yarp/lex_compat.rb#234
+class YARP::LexCompat::IgnoredNewlineToken < ::YARP::LexCompat::Token
+ # source://yarp//lib/yarp/lex_compat.rb#235
+ def ==(other); end
+end
+
+# If we have an identifier that follows a method name like:
+#
+# def foo bar
+#
+# then Ripper will mark bar as END|LABEL if there is a local in a parent
+# scope named bar because it hasn't pushed the local table yet. We do this
+# more accurately, so we need to allow comparing against both END and
+# END|LABEL.
+#
+# source://yarp//lib/yarp/lex_compat.rb#254
+class YARP::LexCompat::ParamToken < ::YARP::LexCompat::Token
+ # source://yarp//lib/yarp/lex_compat.rb#255
+ def ==(other); end
+end
+
+# This is a mapping of YARP token types to Ripper token types. This is a
+# many-to-one mapping because we split up our token types, whereas Ripper
+# tends to group them.
+#
+# source://yarp//lib/yarp/lex_compat.rb#15
+YARP::LexCompat::RIPPER = T.let(T.unsafe(nil), Hash)
+
+# When we produce tokens, we produce the same arrays that Ripper does.
+# However, we add a couple of convenience methods onto them to make them a
+# little easier to work with. We delegate all other methods to the array.
+#
+# source://yarp//lib/yarp/lex_compat.rb#185
+class YARP::LexCompat::Token < ::SimpleDelegator
+ # source://yarp//lib/yarp/lex_compat.rb#190
+ def event; end
+
+ # source://yarp//lib/yarp/lex_compat.rb#186
+ def location; end
+
+ # source://yarp//lib/yarp/lex_compat.rb#198
+ def state; end
+
+ # source://yarp//lib/yarp/lex_compat.rb#194
+ def value; end
+end
+
+# Represents the use of the `&&=` operator for assignment to a local variable.
+#
+# target &&= value
+# ^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#4800
+class YARP::LocalVariableAndWriteNode < ::YARP::Node
+ # def initialize: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location) -> void
+ #
+ # @return [LocalVariableAndWriteNode] a new instance of LocalVariableAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#4817
+ def initialize(name_loc, operator_loc, value, name, depth, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4827
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4832
+ def child_nodes; end
+
+ # def copy: (**params) -> LocalVariableAndWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#4837
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4832
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4852
+ def deconstruct_keys(keys); end
+
+ # attr_reader depth: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#4814
+ def depth; end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#4811
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4802
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4857
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4805
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#4808
+ def value; end
+end
+
+# Represents assigning to a local variable using an operator that isn't `=`.
+#
+# target += value
+# ^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#4866
+class YARP::LocalVariableOperatorWriteNode < ::YARP::Node
+ # def initialize: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, operator: Symbol, depth: Integer, location: Location) -> void
+ #
+ # @return [LocalVariableOperatorWriteNode] a new instance of LocalVariableOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#4886
+ def initialize(name_loc, operator_loc, value, name, operator, depth, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4897
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4902
+ def child_nodes; end
+
+ # def copy: (**params) -> LocalVariableOperatorWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#4907
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4902
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4923
+ def deconstruct_keys(keys); end
+
+ # attr_reader depth: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#4883
+ def depth; end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#4877
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4868
+ def name_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#4880
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4871
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#4874
+ def value; end
+end
+
+# Represents the use of the `||=` operator for assignment to a local variable.
+#
+# target ||= value
+# ^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#4932
+class YARP::LocalVariableOrWriteNode < ::YARP::Node
+ # def initialize: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location) -> void
+ #
+ # @return [LocalVariableOrWriteNode] a new instance of LocalVariableOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#4949
+ def initialize(name_loc, operator_loc, value, name, depth, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#4959
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4964
+ def child_nodes; end
+
+ # def copy: (**params) -> LocalVariableOrWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#4969
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#4964
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#4984
+ def deconstruct_keys(keys); end
+
+ # attr_reader depth: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#4946
+ def depth; end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#4943
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4934
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#4989
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#4937
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#4940
+ def value; end
+end
+
+# Represents reading a local variable. Note that this requires that a local
+# variable of the same name has already been written to in the same scope,
+# otherwise it is parsed as a method call.
+#
+# foo
+# ^^^
+#
+# source://yarp//lib/yarp/node.rb#5000
+class YARP::LocalVariableReadNode < ::YARP::Node
+ # def initialize: (name: Symbol, depth: Integer, location: Location) -> void
+ #
+ # @return [LocalVariableReadNode] a new instance of LocalVariableReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#5008
+ def initialize(name, depth, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5015
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5020
+ def child_nodes; end
+
+ # def copy: (**params) -> LocalVariableReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#5025
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5020
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5037
+ def deconstruct_keys(keys); end
+
+ # attr_reader depth: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#5005
+ def depth; end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#5002
+ def name; end
+end
+
+# Represents writing to a local variable in a context that doesn't have an explicit value.
+#
+# foo, bar = baz
+# ^^^ ^^^
+#
+# source://yarp//lib/yarp/node.rb#5046
+class YARP::LocalVariableTargetNode < ::YARP::Node
+ # def initialize: (name: Symbol, depth: Integer, location: Location) -> void
+ #
+ # @return [LocalVariableTargetNode] a new instance of LocalVariableTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#5054
+ def initialize(name, depth, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5061
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5066
+ def child_nodes; end
+
+ # def copy: (**params) -> LocalVariableTargetNode
+ #
+ # source://yarp//lib/yarp/node.rb#5071
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5066
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5083
+ def deconstruct_keys(keys); end
+
+ # attr_reader depth: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#5051
+ def depth; end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#5048
+ def name; end
+end
+
+# Represents writing to a local variable.
+#
+# foo = 1
+# ^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#5092
+class YARP::LocalVariableWriteNode < ::YARP::Node
+ # def initialize: (name: Symbol, depth: Integer, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [LocalVariableWriteNode] a new instance of LocalVariableWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#5109
+ def initialize(name, depth, name_loc, value, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5119
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5124
+ def child_nodes; end
+
+ # def copy: (**params) -> LocalVariableWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#5129
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5124
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5144
+ def deconstruct_keys(keys); end
+
+ # attr_reader depth: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#5097
+ def depth; end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#5094
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5100
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5149
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5106
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#5103
+ def value; end
+end
+
+# This represents a location in the source.
+#
+# source://yarp//lib/yarp.rb#37
+class YARP::Location
+ # @return [Location] a new instance of Location
+ #
+ # source://yarp//lib/yarp.rb#49
+ def initialize(source, start_offset, length); end
+
+ # source://yarp//lib/yarp.rb#109
+ def ==(other); end
+
+ # Create a new location object with the given options.
+ #
+ # source://yarp//lib/yarp.rb#56
+ def copy(**options); end
+
+ # source://yarp//lib/yarp.rb#101
+ def deconstruct_keys(keys); end
+
+ # The column number in bytes where this location ends from the start of the
+ # line.
+ #
+ # source://yarp//lib/yarp.rb#97
+ def end_column; end
+
+ # The line number where this location ends.
+ #
+ # source://yarp//lib/yarp.rb#85
+ def end_line; end
+
+ # The byte offset from the beginning of the source where this location ends.
+ #
+ # source://yarp//lib/yarp.rb#75
+ def end_offset; end
+
+ # Returns a string representation of this location.
+ #
+ # source://yarp//lib/yarp.rb#65
+ def inspect; end
+
+ # Returns a new location that stretches from this location to the given
+ # other location. Raises an error if this location is not before the other
+ # location or if they don't share the same source.
+ #
+ # source://yarp//lib/yarp.rb#118
+ def join(other); end
+
+ # The length of this location in bytes.
+ #
+ # source://yarp//lib/yarp.rb#47
+ def length; end
+
+ # source://yarp//lib/yarp.rb#105
+ def pretty_print(q); end
+
+ # The source code that this location represents.
+ #
+ # source://yarp//lib/yarp.rb#70
+ def slice; end
+
+ # The column number in bytes where this location starts from the start of
+ # the line.
+ #
+ # source://yarp//lib/yarp.rb#91
+ def start_column; end
+
+ # The line number where this location starts.
+ #
+ # source://yarp//lib/yarp.rb#80
+ def start_line; end
+
+ # The byte offset from the beginning of the source where this location
+ # starts.
+ #
+ # source://yarp//lib/yarp.rb#44
+ def start_offset; end
+
+ protected
+
+ # Returns the value of attribute source.
+ #
+ # source://yarp//lib/yarp.rb#40
+ def source; end
+
+ class << self
+ # source://yarp//lib/yarp.rb#125
+ def null; end
+ end
+end
+
+# source://yarp//lib/yarp/node.rb#7991
+module YARP::LoopFlags; end
+
+# a loop after a begin statement, so the body is executed first before the condition
+#
+# source://yarp//lib/yarp/node.rb#7993
+YARP::LoopFlags::BEGIN_MODIFIER = T.let(T.unsafe(nil), Integer)
+
+# Represents the use of the modifier `in` operator.
+#
+# foo in bar
+# ^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#5158
+class YARP::MatchPredicateNode < ::YARP::Node
+ # def initialize: (value: Node, pattern: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [MatchPredicateNode] a new instance of MatchPredicateNode
+ #
+ # source://yarp//lib/yarp/node.rb#5169
+ def initialize(value, pattern, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5177
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5182
+ def child_nodes; end
+
+ # def copy: (**params) -> MatchPredicateNode
+ #
+ # source://yarp//lib/yarp/node.rb#5187
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5182
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5200
+ def deconstruct_keys(keys); end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5205
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5166
+ def operator_loc; end
+
+ # attr_reader pattern: Node
+ #
+ # source://yarp//lib/yarp/node.rb#5163
+ def pattern; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#5160
+ def value; end
+end
+
+# Represents the use of the `=>` operator.
+#
+# foo => bar
+# ^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#5214
+class YARP::MatchRequiredNode < ::YARP::Node
+ # def initialize: (value: Node, pattern: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [MatchRequiredNode] a new instance of MatchRequiredNode
+ #
+ # source://yarp//lib/yarp/node.rb#5225
+ def initialize(value, pattern, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5233
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5238
+ def child_nodes; end
+
+ # def copy: (**params) -> MatchRequiredNode
+ #
+ # source://yarp//lib/yarp/node.rb#5243
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5238
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5256
+ def deconstruct_keys(keys); end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5261
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5222
+ def operator_loc; end
+
+ # attr_reader pattern: Node
+ #
+ # source://yarp//lib/yarp/node.rb#5219
+ def pattern; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#5216
+ def value; end
+end
+
+# Represents a node that is missing from the source and results in a syntax
+# error.
+#
+# source://yarp//lib/yarp/node.rb#5268
+class YARP::MissingNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [MissingNode] a new instance of MissingNode
+ #
+ # source://yarp//lib/yarp/node.rb#5270
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5275
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5280
+ def child_nodes; end
+
+ # def copy: (**params) -> MissingNode
+ #
+ # source://yarp//lib/yarp/node.rb#5285
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5280
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5295
+ def deconstruct_keys(keys); end
+end
+
+# Represents a module declaration involving the `module` keyword.
+#
+# module Foo end
+# ^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#5304
+class YARP::ModuleNode < ::YARP::Node
+ # def initialize: (locals: Array[Symbol], module_keyword_loc: Location, constant_path: Node, body: Node?, end_keyword_loc: Location, name: String, location: Location) -> void
+ #
+ # @return [ModuleNode] a new instance of ModuleNode
+ #
+ # source://yarp//lib/yarp/node.rb#5324
+ def initialize(locals, module_keyword_loc, constant_path, body, end_keyword_loc, name, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5335
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#5315
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5340
+ def child_nodes; end
+
+ # attr_reader constant_path: Node
+ #
+ # source://yarp//lib/yarp/node.rb#5312
+ def constant_path; end
+
+ # def copy: (**params) -> ModuleNode
+ #
+ # source://yarp//lib/yarp/node.rb#5345
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5340
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5361
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5371
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5318
+ def end_keyword_loc; end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://yarp//lib/yarp/node.rb#5306
+ def locals; end
+
+ # def module_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5366
+ def module_keyword; end
+
+ # attr_reader module_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5309
+ def module_keyword_loc; end
+
+ # attr_reader name: String
+ #
+ # source://yarp//lib/yarp/node.rb#5321
+ def name; end
+end
+
+# Represents a multi-target expression.
+#
+# a, b, c = 1, 2, 3
+# ^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#5380
+class YARP::MultiWriteNode < ::YARP::Node
+ # def initialize: (targets: Array[Node], operator_loc: Location?, value: Node?, lparen_loc: Location?, rparen_loc: Location?, location: Location) -> void
+ #
+ # @return [MultiWriteNode] a new instance of MultiWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#5397
+ def initialize(targets, operator_loc, value, lparen_loc, rparen_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5407
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5412
+ def child_nodes; end
+
+ # def copy: (**params) -> MultiWriteNode
+ #
+ # source://yarp//lib/yarp/node.rb#5417
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5412
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5432
+ def deconstruct_keys(keys); end
+
+ # def lparen: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#5442
+ def lparen; end
+
+ # attr_reader lparen_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#5391
+ def lparen_loc; end
+
+ # def operator: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#5437
+ def operator; end
+
+ # attr_reader operator_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#5385
+ def operator_loc; end
+
+ # def rparen: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#5447
+ def rparen; end
+
+ # attr_reader rparen_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#5394
+ def rparen_loc; end
+
+ # attr_reader targets: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5382
+ def targets; end
+
+ # attr_reader value: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#5388
+ def value; end
+end
+
+# This visitor walks through the tree and copies each node as it is being
+# visited. This is useful for consumers that want to mutate the tree, as you
+# can change subtrees in place without effecting the rest of the tree.
+#
+# source://yarp//lib/yarp/mutation_visitor.rb#12
+class YARP::MutationVisitor < ::YARP::BasicVisitor
+ # Copy a AliasNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#14
+ def visit_alias_node(node); end
+
+ # Copy a AlternationPatternNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#19
+ def visit_alternation_pattern_node(node); end
+
+ # Copy a AndNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#24
+ def visit_and_node(node); end
+
+ # Copy a ArgumentsNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#29
+ def visit_arguments_node(node); end
+
+ # Copy a ArrayNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#34
+ def visit_array_node(node); end
+
+ # Copy a ArrayPatternNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#39
+ def visit_array_pattern_node(node); end
+
+ # Copy a AssocNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#44
+ def visit_assoc_node(node); end
+
+ # Copy a AssocSplatNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#49
+ def visit_assoc_splat_node(node); end
+
+ # Copy a BackReferenceReadNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#54
+ def visit_back_reference_read_node(node); end
+
+ # Copy a BeginNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#59
+ def visit_begin_node(node); end
+
+ # Copy a BlockArgumentNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#64
+ def visit_block_argument_node(node); end
+
+ # Copy a BlockNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#69
+ def visit_block_node(node); end
+
+ # Copy a BlockParameterNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#74
+ def visit_block_parameter_node(node); end
+
+ # Copy a BlockParametersNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#79
+ def visit_block_parameters_node(node); end
+
+ # Copy a BreakNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#84
+ def visit_break_node(node); end
+
+ # Copy a CallNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#89
+ def visit_call_node(node); end
+
+ # Copy a CallOperatorAndWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#94
+ def visit_call_operator_and_write_node(node); end
+
+ # Copy a CallOperatorOrWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#99
+ def visit_call_operator_or_write_node(node); end
+
+ # Copy a CallOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#104
+ def visit_call_operator_write_node(node); end
+
+ # Copy a CapturePatternNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#109
+ def visit_capture_pattern_node(node); end
+
+ # Copy a CaseNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#114
+ def visit_case_node(node); end
+
+ # Copy a ClassNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#119
+ def visit_class_node(node); end
+
+ # Copy a ClassVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#124
+ def visit_class_variable_and_write_node(node); end
+
+ # Copy a ClassVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#129
+ def visit_class_variable_operator_write_node(node); end
+
+ # Copy a ClassVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#134
+ def visit_class_variable_or_write_node(node); end
+
+ # Copy a ClassVariableReadNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#139
+ def visit_class_variable_read_node(node); end
+
+ # Copy a ClassVariableTargetNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#144
+ def visit_class_variable_target_node(node); end
+
+ # Copy a ClassVariableWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#149
+ def visit_class_variable_write_node(node); end
+
+ # Copy a ConstantAndWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#154
+ def visit_constant_and_write_node(node); end
+
+ # Copy a ConstantOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#159
+ def visit_constant_operator_write_node(node); end
+
+ # Copy a ConstantOrWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#164
+ def visit_constant_or_write_node(node); end
+
+ # Copy a ConstantPathAndWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#169
+ def visit_constant_path_and_write_node(node); end
+
+ # Copy a ConstantPathNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#174
+ def visit_constant_path_node(node); end
+
+ # Copy a ConstantPathOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#179
+ def visit_constant_path_operator_write_node(node); end
+
+ # Copy a ConstantPathOrWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#184
+ def visit_constant_path_or_write_node(node); end
+
+ # Copy a ConstantPathTargetNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#189
+ def visit_constant_path_target_node(node); end
+
+ # Copy a ConstantPathWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#194
+ def visit_constant_path_write_node(node); end
+
+ # Copy a ConstantReadNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#199
+ def visit_constant_read_node(node); end
+
+ # Copy a ConstantTargetNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#204
+ def visit_constant_target_node(node); end
+
+ # Copy a ConstantWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#209
+ def visit_constant_write_node(node); end
+
+ # Copy a DefNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#214
+ def visit_def_node(node); end
+
+ # Copy a DefinedNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#219
+ def visit_defined_node(node); end
+
+ # Copy a ElseNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#224
+ def visit_else_node(node); end
+
+ # Copy a EmbeddedStatementsNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#229
+ def visit_embedded_statements_node(node); end
+
+ # Copy a EmbeddedVariableNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#234
+ def visit_embedded_variable_node(node); end
+
+ # Copy a EnsureNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#239
+ def visit_ensure_node(node); end
+
+ # Copy a FalseNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#244
+ def visit_false_node(node); end
+
+ # Copy a FindPatternNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#249
+ def visit_find_pattern_node(node); end
+
+ # Copy a FlipFlopNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#254
+ def visit_flip_flop_node(node); end
+
+ # Copy a FloatNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#259
+ def visit_float_node(node); end
+
+ # Copy a ForNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#264
+ def visit_for_node(node); end
+
+ # Copy a ForwardingArgumentsNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#269
+ def visit_forwarding_arguments_node(node); end
+
+ # Copy a ForwardingParameterNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#274
+ def visit_forwarding_parameter_node(node); end
+
+ # Copy a ForwardingSuperNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#279
+ def visit_forwarding_super_node(node); end
+
+ # Copy a GlobalVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#284
+ def visit_global_variable_and_write_node(node); end
+
+ # Copy a GlobalVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#289
+ def visit_global_variable_operator_write_node(node); end
+
+ # Copy a GlobalVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#294
+ def visit_global_variable_or_write_node(node); end
+
+ # Copy a GlobalVariableReadNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#299
+ def visit_global_variable_read_node(node); end
+
+ # Copy a GlobalVariableTargetNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#304
+ def visit_global_variable_target_node(node); end
+
+ # Copy a GlobalVariableWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#309
+ def visit_global_variable_write_node(node); end
+
+ # Copy a HashNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#314
+ def visit_hash_node(node); end
+
+ # Copy a HashPatternNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#319
+ def visit_hash_pattern_node(node); end
+
+ # Copy a IfNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#324
+ def visit_if_node(node); end
+
+ # Copy a ImaginaryNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#329
+ def visit_imaginary_node(node); end
+
+ # Copy a InNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#334
+ def visit_in_node(node); end
+
+ # Copy a InstanceVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#339
+ def visit_instance_variable_and_write_node(node); end
+
+ # Copy a InstanceVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#344
+ def visit_instance_variable_operator_write_node(node); end
+
+ # Copy a InstanceVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#349
+ def visit_instance_variable_or_write_node(node); end
+
+ # Copy a InstanceVariableReadNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#354
+ def visit_instance_variable_read_node(node); end
+
+ # Copy a InstanceVariableTargetNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#359
+ def visit_instance_variable_target_node(node); end
+
+ # Copy a InstanceVariableWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#364
+ def visit_instance_variable_write_node(node); end
+
+ # Copy a IntegerNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#369
+ def visit_integer_node(node); end
+
+ # Copy a InterpolatedRegularExpressionNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#374
+ def visit_interpolated_regular_expression_node(node); end
+
+ # Copy a InterpolatedStringNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#379
+ def visit_interpolated_string_node(node); end
+
+ # Copy a InterpolatedSymbolNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#384
+ def visit_interpolated_symbol_node(node); end
+
+ # Copy a InterpolatedXStringNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#389
+ def visit_interpolated_x_string_node(node); end
+
+ # Copy a KeywordHashNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#394
+ def visit_keyword_hash_node(node); end
+
+ # Copy a KeywordParameterNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#399
+ def visit_keyword_parameter_node(node); end
+
+ # Copy a KeywordRestParameterNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#404
+ def visit_keyword_rest_parameter_node(node); end
+
+ # Copy a LambdaNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#409
+ def visit_lambda_node(node); end
+
+ # Copy a LocalVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#414
+ def visit_local_variable_and_write_node(node); end
+
+ # Copy a LocalVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#419
+ def visit_local_variable_operator_write_node(node); end
+
+ # Copy a LocalVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#424
+ def visit_local_variable_or_write_node(node); end
+
+ # Copy a LocalVariableReadNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#429
+ def visit_local_variable_read_node(node); end
+
+ # Copy a LocalVariableTargetNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#434
+ def visit_local_variable_target_node(node); end
+
+ # Copy a LocalVariableWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#439
+ def visit_local_variable_write_node(node); end
+
+ # Copy a MatchPredicateNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#444
+ def visit_match_predicate_node(node); end
+
+ # Copy a MatchRequiredNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#449
+ def visit_match_required_node(node); end
+
+ # Copy a MissingNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#454
+ def visit_missing_node(node); end
+
+ # Copy a ModuleNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#459
+ def visit_module_node(node); end
+
+ # Copy a MultiWriteNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#464
+ def visit_multi_write_node(node); end
+
+ # Copy a NextNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#469
+ def visit_next_node(node); end
+
+ # Copy a NilNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#474
+ def visit_nil_node(node); end
+
+ # Copy a NoKeywordsParameterNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#479
+ def visit_no_keywords_parameter_node(node); end
+
+ # Copy a NumberedReferenceReadNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#484
+ def visit_numbered_reference_read_node(node); end
+
+ # Copy a OptionalParameterNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#489
+ def visit_optional_parameter_node(node); end
+
+ # Copy a OrNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#494
+ def visit_or_node(node); end
+
+ # Copy a ParametersNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#499
+ def visit_parameters_node(node); end
+
+ # Copy a ParenthesesNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#504
+ def visit_parentheses_node(node); end
+
+ # Copy a PinnedExpressionNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#509
+ def visit_pinned_expression_node(node); end
+
+ # Copy a PinnedVariableNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#514
+ def visit_pinned_variable_node(node); end
+
+ # Copy a PostExecutionNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#519
+ def visit_post_execution_node(node); end
+
+ # Copy a PreExecutionNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#524
+ def visit_pre_execution_node(node); end
+
+ # Copy a ProgramNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#529
+ def visit_program_node(node); end
+
+ # Copy a RangeNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#534
+ def visit_range_node(node); end
+
+ # Copy a RationalNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#539
+ def visit_rational_node(node); end
+
+ # Copy a RedoNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#544
+ def visit_redo_node(node); end
+
+ # Copy a RegularExpressionNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#549
+ def visit_regular_expression_node(node); end
+
+ # Copy a RequiredDestructuredParameterNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#554
+ def visit_required_destructured_parameter_node(node); end
+
+ # Copy a RequiredParameterNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#559
+ def visit_required_parameter_node(node); end
+
+ # Copy a RescueModifierNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#564
+ def visit_rescue_modifier_node(node); end
+
+ # Copy a RescueNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#569
+ def visit_rescue_node(node); end
+
+ # Copy a RestParameterNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#574
+ def visit_rest_parameter_node(node); end
+
+ # Copy a RetryNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#579
+ def visit_retry_node(node); end
+
+ # Copy a ReturnNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#584
+ def visit_return_node(node); end
+
+ # Copy a SelfNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#589
+ def visit_self_node(node); end
+
+ # Copy a SingletonClassNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#594
+ def visit_singleton_class_node(node); end
+
+ # Copy a SourceEncodingNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#599
+ def visit_source_encoding_node(node); end
+
+ # Copy a SourceFileNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#604
+ def visit_source_file_node(node); end
+
+ # Copy a SourceLineNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#609
+ def visit_source_line_node(node); end
+
+ # Copy a SplatNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#614
+ def visit_splat_node(node); end
+
+ # Copy a StatementsNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#619
+ def visit_statements_node(node); end
+
+ # Copy a StringConcatNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#624
+ def visit_string_concat_node(node); end
+
+ # Copy a StringNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#629
+ def visit_string_node(node); end
+
+ # Copy a SuperNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#634
+ def visit_super_node(node); end
+
+ # Copy a SymbolNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#639
+ def visit_symbol_node(node); end
+
+ # Copy a TrueNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#644
+ def visit_true_node(node); end
+
+ # Copy a UndefNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#649
+ def visit_undef_node(node); end
+
+ # Copy a UnlessNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#654
+ def visit_unless_node(node); end
+
+ # Copy a UntilNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#659
+ def visit_until_node(node); end
+
+ # Copy a WhenNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#664
+ def visit_when_node(node); end
+
+ # Copy a WhileNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#669
+ def visit_while_node(node); end
+
+ # Copy a XStringNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#674
+ def visit_x_string_node(node); end
+
+ # Copy a YieldNode node
+ #
+ # source://yarp//lib/yarp/mutation_visitor.rb#679
+ def visit_yield_node(node); end
+end
+
+# Represents the use of the `next` keyword.
+#
+# next 1
+# ^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#5456
+class YARP::NextNode < ::YARP::Node
+ # def initialize: (arguments: ArgumentsNode?, keyword_loc: Location, location: Location) -> void
+ #
+ # @return [NextNode] a new instance of NextNode
+ #
+ # source://yarp//lib/yarp/node.rb#5464
+ def initialize(arguments, keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5471
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#5458
+ def arguments; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5476
+ def child_nodes; end
+
+ # def copy: (**params) -> NextNode
+ #
+ # source://yarp//lib/yarp/node.rb#5481
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5476
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5493
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5498
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5461
+ def keyword_loc; end
+end
+
+# Represents the use of the `nil` keyword.
+#
+# nil
+# ^^^
+#
+# source://yarp//lib/yarp/node.rb#5507
+class YARP::NilNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [NilNode] a new instance of NilNode
+ #
+ # source://yarp//lib/yarp/node.rb#5509
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5514
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5519
+ def child_nodes; end
+
+ # def copy: (**params) -> NilNode
+ #
+ # source://yarp//lib/yarp/node.rb#5524
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5519
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5534
+ def deconstruct_keys(keys); end
+end
+
+# Represents the use of `**nil` inside method arguments.
+#
+# def a(**nil)
+# ^^^^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#5544
+class YARP::NoKeywordsParameterNode < ::YARP::Node
+ # def initialize: (operator_loc: Location, keyword_loc: Location, location: Location) -> void
+ #
+ # @return [NoKeywordsParameterNode] a new instance of NoKeywordsParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#5552
+ def initialize(operator_loc, keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5559
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5564
+ def child_nodes; end
+
+ # def copy: (**params) -> NoKeywordsParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#5569
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5564
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5581
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5591
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5549
+ def keyword_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5586
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5546
+ def operator_loc; end
+end
+
+# This represents a node in the tree.
+#
+# source://yarp//lib/yarp.rb#297
+class YARP::Node
+ # Returns the value of attribute location.
+ #
+ # source://yarp//lib/yarp.rb#298
+ def location; end
+
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp.rb#300
+ def newline?; end
+
+ # source://yarp//lib/yarp.rb#317
+ def pretty_print(q); end
+
+ # source://yarp//lib/yarp.rb#304
+ def set_newline_flag(newline_marked); end
+
+ # Slice the location of the node from the source.
+ #
+ # source://yarp//lib/yarp.rb#313
+ def slice; end
+end
+
+# Represents reading a numbered reference to a capture in the previous match.
+#
+# $1
+# ^^
+#
+# source://yarp//lib/yarp/node.rb#5600
+class YARP::NumberedReferenceReadNode < ::YARP::Node
+ # def initialize: (number: Integer, location: Location) -> void
+ #
+ # @return [NumberedReferenceReadNode] a new instance of NumberedReferenceReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#5605
+ def initialize(number, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5611
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5616
+ def child_nodes; end
+
+ # def copy: (**params) -> NumberedReferenceReadNode
+ #
+ # source://yarp//lib/yarp/node.rb#5621
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5616
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5632
+ def deconstruct_keys(keys); end
+
+ # attr_reader number: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#5602
+ def number; end
+end
+
+# Represents an optional parameter to a method, block, or lambda definition.
+#
+# def a(b = 1)
+# ^^^^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#5642
+class YARP::OptionalParameterNode < ::YARP::Node
+ # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [OptionalParameterNode] a new instance of OptionalParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#5656
+ def initialize(name, name_loc, operator_loc, value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5665
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5670
+ def child_nodes; end
+
+ # def copy: (**params) -> OptionalParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#5675
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5670
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5689
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#5644
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5647
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5694
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5650
+ def operator_loc; end
+
+ # attr_reader value: Node
+ #
+ # source://yarp//lib/yarp/node.rb#5653
+ def value; end
+end
+
+# Represents the use of the `||` operator or the `or` keyword.
+#
+# left or right
+# ^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#5703
+class YARP::OrNode < ::YARP::Node
+ # def initialize: (left: Node, right: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [OrNode] a new instance of OrNode
+ #
+ # source://yarp//lib/yarp/node.rb#5714
+ def initialize(left, right, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5722
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5727
+ def child_nodes; end
+
+ # def copy: (**params) -> OrNode
+ #
+ # source://yarp//lib/yarp/node.rb#5732
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5727
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5745
+ def deconstruct_keys(keys); end
+
+ # attr_reader left: Node
+ #
+ # source://yarp//lib/yarp/node.rb#5705
+ def left; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5750
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5711
+ def operator_loc; end
+
+ # attr_reader right: Node
+ #
+ # source://yarp//lib/yarp/node.rb#5708
+ def right; end
+end
+
+# source://yarp//lib/yarp/pack.rb#4
+module YARP::Pack
+ class << self
+ def parse(_arg0, _arg1, _arg2); end
+ end
+end
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::AGNOSTIC_ENDIAN = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::BACK = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::BER = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::BIG_ENDIAN = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::COMMENT = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#57
+class YARP::Pack::Directive
+ # @return [Directive] a new instance of Directive
+ #
+ # source://yarp//lib/yarp/pack.rb#60
+ def initialize(version, variant, source, type, signed, endian, size, length_type, length); end
+
+ # source://yarp//lib/yarp/pack.rb#98
+ def describe; end
+
+ # Returns the value of attribute endian.
+ #
+ # source://yarp//lib/yarp/pack.rb#58
+ def endian; end
+
+ # Returns the value of attribute length.
+ #
+ # source://yarp//lib/yarp/pack.rb#58
+ def length; end
+
+ # Returns the value of attribute length_type.
+ #
+ # source://yarp//lib/yarp/pack.rb#58
+ def length_type; end
+
+ # Returns the value of attribute signed.
+ #
+ # source://yarp//lib/yarp/pack.rb#58
+ def signed; end
+
+ # Returns the value of attribute size.
+ #
+ # source://yarp//lib/yarp/pack.rb#58
+ def size; end
+
+ # Returns the value of attribute source.
+ #
+ # source://yarp//lib/yarp/pack.rb#58
+ def source; end
+
+ # Returns the value of attribute type.
+ #
+ # source://yarp//lib/yarp/pack.rb#58
+ def type; end
+
+ # Returns the value of attribute variant.
+ #
+ # source://yarp//lib/yarp/pack.rb#58
+ def variant; end
+
+ # Returns the value of attribute version.
+ #
+ # source://yarp//lib/yarp/pack.rb#58
+ def version; end
+end
+
+# source://yarp//lib/yarp/pack.rb#72
+YARP::Pack::Directive::ENDIAN_DESCRIPTIONS = T.let(T.unsafe(nil), Hash)
+
+# source://yarp//lib/yarp/pack.rb#80
+YARP::Pack::Directive::SIGNED_DESCRIPTIONS = T.let(T.unsafe(nil), Hash)
+
+# source://yarp//lib/yarp/pack.rb#86
+YARP::Pack::Directive::SIZE_DESCRIPTIONS = T.let(T.unsafe(nil), Hash)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::ENDIAN_NA = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::FLOAT = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#162
+class YARP::Pack::Format
+ # @return [Format] a new instance of Format
+ #
+ # source://yarp//lib/yarp/pack.rb#165
+ def initialize(directives, encoding); end
+
+ # source://yarp//lib/yarp/pack.rb#170
+ def describe; end
+
+ # Returns the value of attribute directives.
+ #
+ # source://yarp//lib/yarp/pack.rb#163
+ def directives; end
+
+ # Returns the value of attribute encoding.
+ #
+ # source://yarp//lib/yarp/pack.rb#163
+ def encoding; end
+end
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::INTEGER = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::LENGTH_FIXED = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::LENGTH_MAX = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::LENGTH_NA = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::LENGTH_RELATIVE = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::LITTLE_ENDIAN = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::MOVE = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::NATIVE_ENDIAN = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::NULL = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIGNED = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIGNED_NA = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIZE_16 = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIZE_32 = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIZE_64 = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIZE_8 = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIZE_INT = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIZE_LONG = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIZE_LONG_LONG = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIZE_NA = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIZE_P = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SIZE_SHORT = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::SPACE = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_BASE64 = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_FIXED = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_HEX_HIGH = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_HEX_LOW = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_LSB = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_MIME = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_MSB = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_NULL_PADDED = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_NULL_TERMINATED = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_POINTER = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_SPACE_PADDED = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::STRING_UU = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::UNSIGNED = T.let(T.unsafe(nil), Symbol)
+
+# source://yarp//lib/yarp/pack.rb#54
+YARP::Pack::UTF8 = T.let(T.unsafe(nil), Symbol)
+
+# Represents the list of parameters on a method, block, or lambda definition.
+#
+# def a(b, c, d)
+# ^^^^^^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#5760
+class YARP::ParametersNode < ::YARP::Node
+ # def initialize: (requireds: Array[Node], optionals: Array[Node], posts: Array[Node], rest: RestParameterNode?, keywords: Array[Node], keyword_rest: Node?, block: BlockParameterNode?, location: Location) -> void
+ #
+ # @return [ParametersNode] a new instance of ParametersNode
+ #
+ # source://yarp//lib/yarp/node.rb#5783
+ def initialize(requireds, optionals, posts, rest, keywords, keyword_rest, block, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5795
+ def accept(visitor); end
+
+ # attr_reader block: BlockParameterNode?
+ #
+ # source://yarp//lib/yarp/node.rb#5780
+ def block; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5800
+ def child_nodes; end
+
+ # def copy: (**params) -> ParametersNode
+ #
+ # source://yarp//lib/yarp/node.rb#5805
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5800
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5822
+ def deconstruct_keys(keys); end
+
+ # attr_reader keyword_rest: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#5777
+ def keyword_rest; end
+
+ # attr_reader keywords: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5774
+ def keywords; end
+
+ # attr_reader optionals: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5765
+ def optionals; end
+
+ # attr_reader posts: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5768
+ def posts; end
+
+ # attr_reader requireds: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5762
+ def requireds; end
+
+ # attr_reader rest: RestParameterNode?
+ #
+ # source://yarp//lib/yarp/node.rb#5771
+ def rest; end
+end
+
+# Represents a parenthesized expression
+#
+# (10 + 34)
+# ^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#5831
+class YARP::ParenthesesNode < ::YARP::Node
+ # def initialize: (body: Node?, opening_loc: Location, closing_loc: Location, location: Location) -> void
+ #
+ # @return [ParenthesesNode] a new instance of ParenthesesNode
+ #
+ # source://yarp//lib/yarp/node.rb#5842
+ def initialize(body, opening_loc, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5850
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#5833
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5859
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5887
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5839
+ def closing_loc; end
+
+ # def copy: (**params) -> ParenthesesNode
+ #
+ # source://yarp//lib/yarp/node.rb#5864
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5859
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5877
+ def deconstruct_keys(keys); end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5882
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5836
+ def opening_loc; end
+
+ # source://yarp//lib/yarp/node.rb#5854
+ def set_newline_flag(newline_marked); end
+end
+
+# This represents an error that was encountered during parsing.
+#
+# source://yarp//lib/yarp.rb#147
+class YARP::ParseError
+ # @return [ParseError] a new instance of ParseError
+ #
+ # source://yarp//lib/yarp.rb#150
+ def initialize(message, location); end
+
+ # source://yarp//lib/yarp.rb#155
+ def deconstruct_keys(keys); end
+
+ # Returns the value of attribute location.
+ #
+ # source://yarp//lib/yarp.rb#148
+ def location; end
+
+ # Returns the value of attribute message.
+ #
+ # source://yarp//lib/yarp.rb#148
+ def message; end
+end
+
+# This represents the result of a call to ::parse or ::parse_file. It contains
+# the AST, any comments that were encounters, and any errors that were
+# encountered.
+#
+# source://yarp//lib/yarp.rb#198
+class YARP::ParseResult
+ # @return [ParseResult] a new instance of ParseResult
+ #
+ # source://yarp//lib/yarp.rb#201
+ def initialize(value, comments, errors, warnings, source); end
+
+ # Returns the value of attribute comments.
+ #
+ # source://yarp//lib/yarp.rb#199
+ def comments; end
+
+ # source://yarp//lib/yarp.rb#209
+ def deconstruct_keys(keys); end
+
+ # Returns the value of attribute errors.
+ #
+ # source://yarp//lib/yarp.rb#199
+ def errors; end
+
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp.rb#217
+ def failure?; end
+
+ # source://yarp//lib/yarp.rb#253
+ def mark_newlines; end
+
+ # Returns the value of attribute source.
+ #
+ # source://yarp//lib/yarp.rb#199
+ def source; end
+
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp.rb#213
+ def success?; end
+
+ # Returns the value of attribute value.
+ #
+ # source://yarp//lib/yarp.rb#199
+ def value; end
+
+ # Returns the value of attribute warnings.
+ #
+ # source://yarp//lib/yarp.rb#199
+ def warnings; end
+end
+
+# Keep in sync with Java MarkNewlinesVisitor
+#
+# source://yarp//lib/yarp.rb#222
+class YARP::ParseResult::MarkNewlinesVisitor < ::YARP::Visitor
+ # @return [MarkNewlinesVisitor] a new instance of MarkNewlinesVisitor
+ #
+ # source://yarp//lib/yarp.rb#223
+ def initialize(newline_marked); end
+
+ # source://yarp//lib/yarp.rb#227
+ def visit_block_node(node); end
+
+ # source://yarp//lib/yarp.rb#238
+ def visit_if_node(node); end
+
+ # source://yarp//lib/yarp.rb#227
+ def visit_lambda_node(node); end
+
+ # source://yarp//lib/yarp.rb#244
+ def visit_statements_node(node); end
+
+ # source://yarp//lib/yarp.rb#238
+ def visit_unless_node(node); end
+end
+
+# This represents a warning that was encountered during parsing.
+#
+# source://yarp//lib/yarp.rb#161
+class YARP::ParseWarning
+ # @return [ParseWarning] a new instance of ParseWarning
+ #
+ # source://yarp//lib/yarp.rb#164
+ def initialize(message, location); end
+
+ # source://yarp//lib/yarp.rb#169
+ def deconstruct_keys(keys); end
+
+ # Returns the value of attribute location.
+ #
+ # source://yarp//lib/yarp.rb#162
+ def location; end
+
+ # Returns the value of attribute message.
+ #
+ # source://yarp//lib/yarp.rb#162
+ def message; end
+end
+
+# Represents the use of the `^` operator for pinning an expression in a
+# pattern matching expression.
+#
+# foo in ^(bar)
+# ^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#5897
+class YARP::PinnedExpressionNode < ::YARP::Node
+ # def initialize: (expression: Node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location, location: Location) -> void
+ #
+ # @return [PinnedExpressionNode] a new instance of PinnedExpressionNode
+ #
+ # source://yarp//lib/yarp/node.rb#5911
+ def initialize(expression, operator_loc, lparen_loc, rparen_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5920
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5925
+ def child_nodes; end
+
+ # def copy: (**params) -> PinnedExpressionNode
+ #
+ # source://yarp//lib/yarp/node.rb#5930
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5925
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#5944
+ def deconstruct_keys(keys); end
+
+ # attr_reader expression: Node
+ #
+ # source://yarp//lib/yarp/node.rb#5899
+ def expression; end
+
+ # def lparen: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5954
+ def lparen; end
+
+ # attr_reader lparen_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5905
+ def lparen_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5949
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5902
+ def operator_loc; end
+
+ # def rparen: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#5959
+ def rparen; end
+
+ # attr_reader rparen_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5908
+ def rparen_loc; end
+end
+
+# Represents the use of the `^` operator for pinning a variable in a pattern
+# matching expression.
+#
+# foo in ^bar
+# ^^^^
+#
+# source://yarp//lib/yarp/node.rb#5969
+class YARP::PinnedVariableNode < ::YARP::Node
+ # def initialize: (variable: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [PinnedVariableNode] a new instance of PinnedVariableNode
+ #
+ # source://yarp//lib/yarp/node.rb#5977
+ def initialize(variable, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#5984
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5989
+ def child_nodes; end
+
+ # def copy: (**params) -> PinnedVariableNode
+ #
+ # source://yarp//lib/yarp/node.rb#5994
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#5989
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6006
+ def deconstruct_keys(keys); end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6011
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#5974
+ def operator_loc; end
+
+ # attr_reader variable: Node
+ #
+ # source://yarp//lib/yarp/node.rb#5971
+ def variable; end
+end
+
+# Represents the use of the `END` keyword.
+#
+# END { foo }
+# ^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#6020
+class YARP::PostExecutionNode < ::YARP::Node
+ # def initialize: (statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location) -> void
+ #
+ # @return [PostExecutionNode] a new instance of PostExecutionNode
+ #
+ # source://yarp//lib/yarp/node.rb#6034
+ def initialize(statements, keyword_loc, opening_loc, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6043
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6048
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6082
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6031
+ def closing_loc; end
+
+ # def copy: (**params) -> PostExecutionNode
+ #
+ # source://yarp//lib/yarp/node.rb#6053
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6048
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6067
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6072
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6025
+ def keyword_loc; end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6077
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6028
+ def opening_loc; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#6022
+ def statements; end
+end
+
+# Represents the use of the `BEGIN` keyword.
+#
+# BEGIN { foo }
+# ^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#6091
+class YARP::PreExecutionNode < ::YARP::Node
+ # def initialize: (statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location) -> void
+ #
+ # @return [PreExecutionNode] a new instance of PreExecutionNode
+ #
+ # source://yarp//lib/yarp/node.rb#6105
+ def initialize(statements, keyword_loc, opening_loc, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6114
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6119
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6153
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6102
+ def closing_loc; end
+
+ # def copy: (**params) -> PreExecutionNode
+ #
+ # source://yarp//lib/yarp/node.rb#6124
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6119
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6138
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6143
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6096
+ def keyword_loc; end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6148
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6099
+ def opening_loc; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#6093
+ def statements; end
+end
+
+# The top level node of any parse tree.
+#
+# source://yarp//lib/yarp/node.rb#6159
+class YARP::ProgramNode < ::YARP::Node
+ # def initialize: (locals: Array[Symbol], statements: StatementsNode, location: Location) -> void
+ #
+ # @return [ProgramNode] a new instance of ProgramNode
+ #
+ # source://yarp//lib/yarp/node.rb#6167
+ def initialize(locals, statements, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6174
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6179
+ def child_nodes; end
+
+ # def copy: (**params) -> ProgramNode
+ #
+ # source://yarp//lib/yarp/node.rb#6184
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6179
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6196
+ def deconstruct_keys(keys); end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://yarp//lib/yarp/node.rb#6161
+ def locals; end
+
+ # attr_reader statements: StatementsNode
+ #
+ # source://yarp//lib/yarp/node.rb#6164
+ def statements; end
+end
+
+# source://yarp//lib/yarp/node.rb#7996
+module YARP::RangeFlags; end
+
+# ... operator
+#
+# source://yarp//lib/yarp/node.rb#7998
+YARP::RangeFlags::EXCLUDE_END = T.let(T.unsafe(nil), Integer)
+
+# Represents the use of the `..` or `...` operators.
+#
+# 1..2
+# ^^^^
+#
+# c if a =~ /left/ ... b =~ /right/
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#6208
+class YARP::RangeNode < ::YARP::Node
+ # def initialize: (left: Node?, right: Node?, operator_loc: Location, flags: Integer, location: Location) -> void
+ #
+ # @return [RangeNode] a new instance of RangeNode
+ #
+ # source://yarp//lib/yarp/node.rb#6222
+ def initialize(left, right, operator_loc, flags, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6231
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6236
+ def child_nodes; end
+
+ # def copy: (**params) -> RangeNode
+ #
+ # source://yarp//lib/yarp/node.rb#6241
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6236
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6255
+ def deconstruct_keys(keys); end
+
+ # def exclude_end?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#6265
+ def exclude_end?; end
+
+ # attr_reader flags: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#6219
+ def flags; end
+
+ # attr_reader left: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#6210
+ def left; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6260
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6216
+ def operator_loc; end
+
+ # attr_reader right: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#6213
+ def right; end
+end
+
+# Represents a rational number literal.
+#
+# 1.0r
+# ^^^^
+#
+# source://yarp//lib/yarp.rb#354
+class YARP::RationalNode < ::YARP::Node
+ # def initialize: (numeric: Node, location: Location) -> void
+ #
+ # @return [RationalNode] a new instance of RationalNode
+ #
+ # source://yarp//lib/yarp/node.rb#6279
+ def initialize(numeric, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6285
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6290
+ def child_nodes; end
+
+ # def copy: (**params) -> RationalNode
+ #
+ # source://yarp//lib/yarp/node.rb#6295
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6290
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6306
+ def deconstruct_keys(keys); end
+
+ # attr_reader numeric: Node
+ #
+ # source://yarp//lib/yarp/node.rb#6276
+ def numeric; end
+
+ # source://yarp//lib/yarp.rb#355
+ def value; end
+end
+
+# Represents the use of the `redo` keyword.
+#
+# redo
+# ^^^^
+#
+# source://yarp//lib/yarp/node.rb#6315
+class YARP::RedoNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [RedoNode] a new instance of RedoNode
+ #
+ # source://yarp//lib/yarp/node.rb#6317
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6322
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6327
+ def child_nodes; end
+
+ # def copy: (**params) -> RedoNode
+ #
+ # source://yarp//lib/yarp/node.rb#6332
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6327
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6342
+ def deconstruct_keys(keys); end
+end
+
+# source://yarp//lib/yarp/node.rb#8001
+module YARP::RegularExpressionFlags; end
+
+# n - forces the ASCII-8BIT encoding
+#
+# source://yarp//lib/yarp/node.rb#8015
+YARP::RegularExpressionFlags::ASCII_8BIT = T.let(T.unsafe(nil), Integer)
+
+# e - forces the EUC-JP encoding
+#
+# source://yarp//lib/yarp/node.rb#8012
+YARP::RegularExpressionFlags::EUC_JP = T.let(T.unsafe(nil), Integer)
+
+# x - ignores whitespace and allows comments in regular expressions
+#
+# source://yarp//lib/yarp/node.rb#8009
+YARP::RegularExpressionFlags::EXTENDED = T.let(T.unsafe(nil), Integer)
+
+# i - ignores the case of characters when matching
+#
+# source://yarp//lib/yarp/node.rb#8003
+YARP::RegularExpressionFlags::IGNORE_CASE = T.let(T.unsafe(nil), Integer)
+
+# m - allows $ to match the end of lines within strings
+#
+# source://yarp//lib/yarp/node.rb#8006
+YARP::RegularExpressionFlags::MULTI_LINE = T.let(T.unsafe(nil), Integer)
+
+# o - only interpolates values into the regular expression once
+#
+# source://yarp//lib/yarp/node.rb#8024
+YARP::RegularExpressionFlags::ONCE = T.let(T.unsafe(nil), Integer)
+
+# u - forces the UTF-8 encoding
+#
+# source://yarp//lib/yarp/node.rb#8021
+YARP::RegularExpressionFlags::UTF_8 = T.let(T.unsafe(nil), Integer)
+
+# s - forces the Windows-31J encoding
+#
+# source://yarp//lib/yarp/node.rb#8018
+YARP::RegularExpressionFlags::WINDOWS_31J = T.let(T.unsafe(nil), Integer)
+
+# Represents a regular expression literal with no interpolation.
+#
+# /foo/i
+# ^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#6351
+class YARP::RegularExpressionNode < ::YARP::Node
+ # def initialize: (opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, flags: Integer, location: Location) -> void
+ #
+ # @return [RegularExpressionNode] a new instance of RegularExpressionNode
+ #
+ # source://yarp//lib/yarp/node.rb#6368
+ def initialize(opening_loc, content_loc, closing_loc, unescaped, flags, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6378
+ def accept(visitor); end
+
+ # def ascii_8bit?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#6443
+ def ascii_8bit?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6383
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6418
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6359
+ def closing_loc; end
+
+ # def content: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6413
+ def content; end
+
+ # attr_reader content_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6356
+ def content_loc; end
+
+ # def copy: (**params) -> RegularExpressionNode
+ #
+ # source://yarp//lib/yarp/node.rb#6388
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6383
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6403
+ def deconstruct_keys(keys); end
+
+ # def euc_jp?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#6438
+ def euc_jp?; end
+
+ # def extended?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#6433
+ def extended?; end
+
+ # attr_reader flags: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#6365
+ def flags; end
+
+ # def ignore_case?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#6423
+ def ignore_case?; end
+
+ # def multi_line?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#6428
+ def multi_line?; end
+
+ # def once?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#6458
+ def once?; end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6408
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6353
+ def opening_loc; end
+
+ # attr_reader unescaped: String
+ #
+ # source://yarp//lib/yarp/node.rb#6362
+ def unescaped; end
+
+ # def utf_8?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#6453
+ def utf_8?; end
+
+ # def windows_31j?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#6448
+ def windows_31j?; end
+end
+
+# Represents a destructured required parameter node.
+#
+# def foo((bar, baz))
+# ^^^^^^^^^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#6468
+class YARP::RequiredDestructuredParameterNode < ::YARP::Node
+ # def initialize: (parameters: Array[Node], opening_loc: Location, closing_loc: Location, location: Location) -> void
+ #
+ # @return [RequiredDestructuredParameterNode] a new instance of RequiredDestructuredParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#6479
+ def initialize(parameters, opening_loc, closing_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6487
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6492
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6520
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6476
+ def closing_loc; end
+
+ # def copy: (**params) -> RequiredDestructuredParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#6497
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6492
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6510
+ def deconstruct_keys(keys); end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6515
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6473
+ def opening_loc; end
+
+ # attr_reader parameters: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6470
+ def parameters; end
+end
+
+# Represents a required parameter to a method, block, or lambda definition.
+#
+# def a(b)
+# ^
+# end
+#
+# source://yarp//lib/yarp/node.rb#6530
+class YARP::RequiredParameterNode < ::YARP::Node
+ # def initialize: (name: Symbol, location: Location) -> void
+ #
+ # @return [RequiredParameterNode] a new instance of RequiredParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#6535
+ def initialize(name, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6541
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6546
+ def child_nodes; end
+
+ # def copy: (**params) -> RequiredParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#6551
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6546
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6562
+ def deconstruct_keys(keys); end
+
+ # attr_reader name: Symbol
+ #
+ # source://yarp//lib/yarp/node.rb#6532
+ def name; end
+end
+
+# Represents an expression modified with a rescue.
+#
+# foo rescue nil
+# ^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#6571
+class YARP::RescueModifierNode < ::YARP::Node
+ # def initialize: (expression: Node, keyword_loc: Location, rescue_expression: Node, location: Location) -> void
+ #
+ # @return [RescueModifierNode] a new instance of RescueModifierNode
+ #
+ # source://yarp//lib/yarp/node.rb#6582
+ def initialize(expression, keyword_loc, rescue_expression, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6590
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6599
+ def child_nodes; end
+
+ # def copy: (**params) -> RescueModifierNode
+ #
+ # source://yarp//lib/yarp/node.rb#6604
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6599
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6617
+ def deconstruct_keys(keys); end
+
+ # attr_reader expression: Node
+ #
+ # source://yarp//lib/yarp/node.rb#6573
+ def expression; end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6622
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6576
+ def keyword_loc; end
+
+ # attr_reader rescue_expression: Node
+ #
+ # source://yarp//lib/yarp/node.rb#6579
+ def rescue_expression; end
+
+ # source://yarp//lib/yarp/node.rb#6594
+ def set_newline_flag(newline_marked); end
+end
+
+# Represents a rescue statement.
+#
+# begin
+# rescue Foo, *splat, Bar => ex
+# ^^^^^^
+# foo
+# end
+#
+# `Foo, *splat, Bar` are in the `exceptions` field.
+# `ex` is in the `exception` field.
+#
+# source://yarp//lib/yarp/node.rb#6637
+class YARP::RescueNode < ::YARP::Node
+ # def initialize: (keyword_loc: Location, exceptions: Array[Node], operator_loc: Location?, reference: Node?, statements: StatementsNode?, consequent: RescueNode?, location: Location) -> void
+ #
+ # @return [RescueNode] a new instance of RescueNode
+ #
+ # source://yarp//lib/yarp/node.rb#6657
+ def initialize(keyword_loc, exceptions, operator_loc, reference, statements, consequent, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6668
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6673
+ def child_nodes; end
+
+ # attr_reader consequent: RescueNode?
+ #
+ # source://yarp//lib/yarp/node.rb#6654
+ def consequent; end
+
+ # def copy: (**params) -> RescueNode
+ #
+ # source://yarp//lib/yarp/node.rb#6678
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6673
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6694
+ def deconstruct_keys(keys); end
+
+ # attr_reader exceptions: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6642
+ def exceptions; end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6699
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6639
+ def keyword_loc; end
+
+ # def operator: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#6704
+ def operator; end
+
+ # attr_reader operator_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#6645
+ def operator_loc; end
+
+ # attr_reader reference: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#6648
+ def reference; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#6651
+ def statements; end
+end
+
+# Represents a rest parameter to a method, block, or lambda definition.
+#
+# def a(*b)
+# ^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#6714
+class YARP::RestParameterNode < ::YARP::Node
+ # def initialize: (operator_loc: Location, name_loc: Location?, location: Location) -> void
+ #
+ # @return [RestParameterNode] a new instance of RestParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#6722
+ def initialize(operator_loc, name_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6729
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6734
+ def child_nodes; end
+
+ # def copy: (**params) -> RestParameterNode
+ #
+ # source://yarp//lib/yarp/node.rb#6739
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6734
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6751
+ def deconstruct_keys(keys); end
+
+ # def name: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#6761
+ def name; end
+
+ # attr_reader name_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#6719
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6756
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6716
+ def operator_loc; end
+end
+
+# Represents the use of the `retry` keyword.
+#
+# retry
+# ^^^^^
+#
+# source://yarp//lib/yarp/node.rb#6770
+class YARP::RetryNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [RetryNode] a new instance of RetryNode
+ #
+ # source://yarp//lib/yarp/node.rb#6772
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6777
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6782
+ def child_nodes; end
+
+ # def copy: (**params) -> RetryNode
+ #
+ # source://yarp//lib/yarp/node.rb#6787
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6782
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6797
+ def deconstruct_keys(keys); end
+end
+
+# Represents the use of the `return` keyword.
+#
+# return 1
+# ^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#6806
+class YARP::ReturnNode < ::YARP::Node
+ # def initialize: (keyword_loc: Location, arguments: ArgumentsNode?, location: Location) -> void
+ #
+ # @return [ReturnNode] a new instance of ReturnNode
+ #
+ # source://yarp//lib/yarp/node.rb#6814
+ def initialize(keyword_loc, arguments, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6821
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#6811
+ def arguments; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6826
+ def child_nodes; end
+
+ # def copy: (**params) -> ReturnNode
+ #
+ # source://yarp//lib/yarp/node.rb#6831
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6826
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6843
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6848
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6808
+ def keyword_loc; end
+end
+
+# This class is meant to provide a compatibility layer between YARP and
+# Ripper. It functions by parsing the entire tree first and then walking it
+# and executing each of the Ripper callbacks as it goes.
+#
+# This class is going to necessarily be slower than the native Ripper API. It
+# is meant as a stopgap until developers migrate to using YARP. It is also
+# meant as a test harness for the YARP parser.
+#
+# source://yarp//lib/yarp/ripper_compat.rb#13
+class YARP::RipperCompat
+ # @return [RipperCompat] a new instance of RipperCompat
+ #
+ # source://yarp//lib/yarp/ripper_compat.rb#59
+ def initialize(source); end
+
+ # Returns the value of attribute column.
+ #
+ # source://yarp//lib/yarp/ripper_compat.rb#57
+ def column; end
+
+ # Public interface
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/ripper_compat.rb#70
+ def error?; end
+
+ # Returns the value of attribute lineno.
+ #
+ # source://yarp//lib/yarp/ripper_compat.rb#57
+ def lineno; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#74
+ def parse; end
+
+ # Returns the value of attribute source.
+ #
+ # source://yarp//lib/yarp/ripper_compat.rb#57
+ def source; end
+
+ # Visitor methods
+ #
+ # source://yarp//lib/yarp/ripper_compat.rb#82
+ def visit(node); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#86
+ def visit_call_node(node); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#100
+ def visit_integer_node(node); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#125
+ def visit_program_node(node); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#105
+ def visit_statements_node(node); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#112
+ def visit_token(node); end
+
+ private
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def _dispatch0; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def _dispatch1(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def _dispatch2(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def _dispatch3(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#166
+ def _dispatch4(_, _, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#167
+ def _dispatch5(_, _, _, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#168
+ def _dispatch7(_, _, _, _, _, _, _); end
+
+ # This method is responsible for updating lineno and column information
+ # to reflect the current node.
+ #
+ # This method could be drastically improved with some caching on the start
+ # of every line, but for now it's good enough.
+ #
+ # source://yarp//lib/yarp/ripper_compat.rb#151
+ def bounds(location); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_BEGIN(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_CHAR(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_END(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on___end__(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_alias(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_alias_error(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_aref(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_aref_field(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_arg_ambiguous(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_arg_paren(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_args_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_args_add_block(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_args_add_star(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_args_forward; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_args_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_array(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#166
+ def on_aryptn(_, _, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_assign(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_assign_error(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_assoc_new(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_assoc_splat(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_assoclist_from_args(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_backref(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_backtick(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_bare_assoc_hash(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_begin(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_binary(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_block_var(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_blockarg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#166
+ def on_bodystmt(_, _, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_brace_block(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_break(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_call(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_case(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_class(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_class_name_error(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_comma(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_command(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#166
+ def on_command_call(_, _, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_comment(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_const(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_const_path_field(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_const_path_ref(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_const_ref(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_cvar(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_def(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_defined(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#167
+ def on_defs(_, _, _, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_do_block(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_dot2(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_dot3(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_dyna_symbol(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_else(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_elsif(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_embdoc(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_embdoc_beg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_embdoc_end(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_embexpr_beg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_embexpr_end(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_embvar(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_ensure(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_excessed_comma; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_fcall(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_field(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_float(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#166
+ def on_fndptn(_, _, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_for(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_gvar(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_hash(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_heredoc_beg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_heredoc_dedent(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_heredoc_end(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_hshptn(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_ident(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_if(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_if_mod(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_ifop(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_ignored_nl(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_ignored_sp(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_imaginary(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_in(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_int(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_ivar(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_kw(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_kwrest_param(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_label(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_label_end(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_lambda(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_lbrace(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_lbracket(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_lparen(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_magic_comment(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_massign(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_method_add_arg(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_method_add_block(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_mlhs_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_mlhs_add_post(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_mlhs_add_star(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_mlhs_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_mlhs_paren(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_module(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_mrhs_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_mrhs_add_star(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_mrhs_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_mrhs_new_from_args(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_next(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_nl(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_nokw_param(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_op(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_opassign(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_operator_ambiguous(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_param_error(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#168
+ def on_params(_, _, _, _, _, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_paren(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_parse_error(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_period(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_program(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_qsymbols_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_qsymbols_beg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_qsymbols_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_qwords_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_qwords_beg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_qwords_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_rational(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_rbrace(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_rbracket(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_redo; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_regexp_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_regexp_beg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_regexp_end(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_regexp_literal(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_regexp_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#166
+ def on_rescue(_, _, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_rescue_mod(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_rest_param(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_retry; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_return(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_return0; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_rparen(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_sclass(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_semicolon(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_sp(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_stmts_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_stmts_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_string_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_string_concat(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_string_content; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_string_dvar(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_string_embexpr(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_string_literal(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_super(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_symbeg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_symbol(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_symbol_literal(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_symbols_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_symbols_beg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_symbols_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_tlambda(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_tlambeg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_top_const_field(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_top_const_ref(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_tstring_beg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_tstring_content(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_tstring_end(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_unary(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_undef(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_unless(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_unless_mod(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_until(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_until_mod(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_var_alias(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_var_field(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_var_ref(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_vcall(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_void_stmt; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#165
+ def on_when(_, _, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_while(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_while_mod(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_word_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_word_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_words_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_words_beg(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_words_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_words_sep(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#164
+ def on_xstring_add(_, _); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_xstring_literal(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_xstring_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#163
+ def on_yield(_); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_yield0; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#162
+ def on_zsuper; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#158
+ def result; end
+
+ class << self
+ # This is a convenience method that runs the SexpBuilderPP subclass parser.
+ #
+ # source://yarp//lib/yarp/ripper_compat.rb#140
+ def sexp(source); end
+
+ # This is a convenience method that runs the SexpBuilder subclass parser.
+ #
+ # source://yarp//lib/yarp/ripper_compat.rb#135
+ def sexp_raw(source); end
+ end
+end
+
+# This class mirrors the ::Ripper::SexpBuilder subclass of ::Ripper that
+# returns the arrays of [type, *children].
+#
+# source://yarp//lib/yarp/ripper_compat.rb#16
+class YARP::RipperCompat::SexpBuilder < ::YARP::RipperCompat
+ private
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_BEGIN(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_CHAR(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_END(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on___end__(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_alias(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_alias_error(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_aref(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_aref_field(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_arg_ambiguous(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_arg_paren(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_args_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_args_add_block(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_args_add_star(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_args_forward(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_args_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_array(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_aryptn(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_assign(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_assign_error(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_assoc_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_assoc_splat(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_assoclist_from_args(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_backref(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_backtick(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_bare_assoc_hash(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_begin(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_binary(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_block_var(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_blockarg(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_bodystmt(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_brace_block(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_break(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_call(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_case(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_class(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_class_name_error(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_comma(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_command(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_command_call(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_comment(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_const(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_const_path_field(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_const_path_ref(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_const_ref(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_cvar(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_def(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_defined(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_defs(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_do_block(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_dot2(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_dot3(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_dyna_symbol(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_else(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_elsif(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_embdoc(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_embdoc_beg(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_embdoc_end(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_embexpr_beg(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_embexpr_end(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_embvar(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_ensure(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_excessed_comma(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_fcall(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_field(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_float(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_fndptn(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_for(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_gvar(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_hash(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_heredoc_beg(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_heredoc_dedent(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_heredoc_end(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_hshptn(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_ident(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_if(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_if_mod(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_ifop(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_ignored_nl(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_ignored_sp(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_imaginary(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_in(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_int(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_ivar(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_kw(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_kwrest_param(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_label(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_label_end(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_lambda(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_lbrace(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_lbracket(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_lparen(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_magic_comment(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_massign(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_method_add_arg(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_method_add_block(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_mlhs_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_mlhs_add_post(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_mlhs_add_star(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_mlhs_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_mlhs_paren(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_module(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_mrhs_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_mrhs_add_star(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_mrhs_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_mrhs_new_from_args(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_next(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_nl(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_nokw_param(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_op(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_opassign(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_operator_ambiguous(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_param_error(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_params(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_paren(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_parse_error(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_period(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_program(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_qsymbols_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_qsymbols_beg(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_qsymbols_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_qwords_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_qwords_beg(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_qwords_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_rational(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_rbrace(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_rbracket(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_redo(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_regexp_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_regexp_beg(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_regexp_end(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_regexp_literal(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_regexp_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_rescue(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_rescue_mod(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_rest_param(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_retry(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_return(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_return0(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_rparen(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_sclass(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_semicolon(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_sp(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_stmts_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_stmts_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_string_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_string_concat(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_string_content(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_string_dvar(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_string_embexpr(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_string_literal(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_super(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_symbeg(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_symbol(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_symbol_literal(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_symbols_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_symbols_beg(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_symbols_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_tlambda(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_tlambeg(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_top_const_field(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_top_const_ref(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_tstring_beg(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_tstring_content(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_tstring_end(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_unary(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_undef(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_unless(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_unless_mod(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_until(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_until_mod(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_var_alias(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_var_field(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_var_ref(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_vcall(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_void_stmt(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_when(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_while(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_while_mod(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_word_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_word_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_words_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_words_beg(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_words_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#26
+ def on_words_sep(value); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_xstring_add(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_xstring_literal(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_xstring_new(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_yield(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_yield0(*args); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#20
+ def on_zsuper(*args); end
+end
+
+# This class mirrors the ::Ripper::SexpBuilderPP subclass of ::Ripper that
+# returns the same values as ::Ripper::SexpBuilder except with a couple of
+# niceties that flatten linked lists into arrays.
+#
+# source://yarp//lib/yarp/ripper_compat.rb#35
+class YARP::RipperCompat::SexpBuilderPP < ::YARP::RipperCompat::SexpBuilder
+ private
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def _dispatch_event_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def _dispatch_event_push(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_args_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def on_args_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_mlhs_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def on_mlhs_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_mrhs_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def on_mrhs_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_qsymbols_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def on_qsymbols_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_qwords_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def on_qwords_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_regexp_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def on_regexp_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_stmts_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def on_stmts_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_string_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_symbols_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def on_symbols_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_word_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def on_word_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_words_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def on_words_new; end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#42
+ def on_xstring_add(list, item); end
+
+ # source://yarp//lib/yarp/ripper_compat.rb#38
+ def on_xstring_new; end
+end
+
+# Represents the `self` keyword.
+#
+# self
+# ^^^^
+#
+# source://yarp//lib/yarp/node.rb#6857
+class YARP::SelfNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [SelfNode] a new instance of SelfNode
+ #
+ # source://yarp//lib/yarp/node.rb#6859
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6864
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6869
+ def child_nodes; end
+
+ # def copy: (**params) -> SelfNode
+ #
+ # source://yarp//lib/yarp/node.rb#6874
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6869
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6884
+ def deconstruct_keys(keys); end
+end
+
+# source://yarp//lib/yarp/serialize.rb#22
+module YARP::Serialize
+ class << self
+ # source://yarp//lib/yarp/serialize.rb#27
+ def load(input, serialized); end
+
+ # source://yarp//lib/yarp/serialize.rb#31
+ def load_tokens(source, serialized); end
+ end
+end
+
+# source://yarp//lib/yarp/serialize.rb#35
+class YARP::Serialize::Loader
+ # @return [Loader] a new instance of Loader
+ #
+ # source://yarp//lib/yarp/serialize.rb#39
+ def initialize(source, serialized); end
+
+ # Returns the value of attribute constant_pool.
+ #
+ # source://yarp//lib/yarp/serialize.rb#37
+ def constant_pool; end
+
+ # Returns the value of attribute constant_pool_offset.
+ #
+ # source://yarp//lib/yarp/serialize.rb#37
+ def constant_pool_offset; end
+
+ # Returns the value of attribute encoding.
+ #
+ # source://yarp//lib/yarp/serialize.rb#36
+ def encoding; end
+
+ # Returns the value of attribute input.
+ #
+ # source://yarp//lib/yarp/serialize.rb#36
+ def input; end
+
+ # Returns the value of attribute io.
+ #
+ # source://yarp//lib/yarp/serialize.rb#36
+ def io; end
+
+ # source://yarp//lib/yarp/serialize.rb#53
+ def load_encoding; end
+
+ # source://yarp//lib/yarp/serialize.rb#57
+ def load_metadata; end
+
+ # source://yarp//lib/yarp/serialize.rb#90
+ def load_nodes; end
+
+ # source://yarp//lib/yarp/serialize.rb#105
+ def load_result; end
+
+ # source://yarp//lib/yarp/serialize.rb#64
+ def load_tokens; end
+
+ # source://yarp//lib/yarp/serialize.rb#77
+ def load_tokens_result; end
+
+ # Returns the value of attribute serialized.
+ #
+ # source://yarp//lib/yarp/serialize.rb#36
+ def serialized; end
+
+ # Returns the value of attribute source.
+ #
+ # source://yarp//lib/yarp/serialize.rb#37
+ def source; end
+
+ private
+
+ # source://yarp//lib/yarp/serialize.rb#162
+ def load_constant; end
+
+ # source://yarp//lib/yarp/serialize.rb#139
+ def load_embedded_string; end
+
+ # source://yarp//lib/yarp/serialize.rb#154
+ def load_location; end
+
+ # source://yarp//lib/yarp/serialize.rb#179
+ def load_node; end
+
+ # source://yarp//lib/yarp/serialize.rb#158
+ def load_optional_location; end
+
+ # source://yarp//lib/yarp/serialize.rb#132
+ def load_optional_node; end
+
+ # source://yarp//lib/yarp/serialize.rb#128
+ def load_serialized_length; end
+
+ # source://yarp//lib/yarp/serialize.rb#143
+ def load_string; end
+
+ # variable-length integer using https://en.wikipedia.org/wiki/LEB128
+ # This is also what protobuf uses: https://protobuf.dev/programming-guides/encoding/#varints
+ #
+ # source://yarp//lib/yarp/serialize.rb#114
+ def load_varint; end
+end
+
+# source://yarp//lib/yarp/serialize.rb#23
+YARP::Serialize::MAJOR_VERSION = T.let(T.unsafe(nil), Integer)
+
+# source://yarp//lib/yarp/serialize.rb#24
+YARP::Serialize::MINOR_VERSION = T.let(T.unsafe(nil), Integer)
+
+# source://yarp//lib/yarp/serialize.rb#25
+YARP::Serialize::PATCH_VERSION = T.let(T.unsafe(nil), Integer)
+
+# source://yarp//lib/yarp/serialize.rb#457
+YARP::Serialize::TOKEN_TYPES = T.let(T.unsafe(nil), Array)
+
+# Represents a singleton class declaration involving the `class` keyword.
+#
+# class << self end
+# ^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#6893
+class YARP::SingletonClassNode < ::YARP::Node
+ # def initialize: (locals: Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Node, body: Node?, end_keyword_loc: Location, location: Location) -> void
+ #
+ # @return [SingletonClassNode] a new instance of SingletonClassNode
+ #
+ # source://yarp//lib/yarp/node.rb#6913
+ def initialize(locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6924
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#6907
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6929
+ def child_nodes; end
+
+ # def class_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6955
+ def class_keyword; end
+
+ # attr_reader class_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6898
+ def class_keyword_loc; end
+
+ # def copy: (**params) -> SingletonClassNode
+ #
+ # source://yarp//lib/yarp/node.rb#6934
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6929
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#6950
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6965
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6910
+ def end_keyword_loc; end
+
+ # attr_reader expression: Node
+ #
+ # source://yarp//lib/yarp/node.rb#6904
+ def expression; end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://yarp//lib/yarp/node.rb#6895
+ def locals; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#6960
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#6901
+ def operator_loc; end
+end
+
+# This represents a source of Ruby code that has been parsed. It is used in
+# conjunction with locations to allow them to resolve line numbers and source
+# ranges.
+#
+# source://yarp//lib/yarp.rb#7
+class YARP::Source
+ # @return [Source] a new instance of Source
+ #
+ # source://yarp//lib/yarp.rb#10
+ def initialize(source, offsets = T.unsafe(nil)); end
+
+ # source://yarp//lib/yarp.rb#23
+ def column(value); end
+
+ # source://yarp//lib/yarp.rb#19
+ def line(value); end
+
+ # Returns the value of attribute offsets.
+ #
+ # source://yarp//lib/yarp.rb#8
+ def offsets; end
+
+ # source://yarp//lib/yarp.rb#15
+ def slice(offset, length); end
+
+ # Returns the value of attribute source.
+ #
+ # source://yarp//lib/yarp.rb#8
+ def source; end
+
+ private
+
+ # source://yarp//lib/yarp.rb#29
+ def compute_offsets(code); end
+end
+
+# Represents the use of the `__ENCODING__` keyword.
+#
+# __ENCODING__
+# ^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#6974
+class YARP::SourceEncodingNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [SourceEncodingNode] a new instance of SourceEncodingNode
+ #
+ # source://yarp//lib/yarp/node.rb#6976
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#6981
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6986
+ def child_nodes; end
+
+ # def copy: (**params) -> SourceEncodingNode
+ #
+ # source://yarp//lib/yarp/node.rb#6991
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#6986
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7001
+ def deconstruct_keys(keys); end
+end
+
+# Represents the use of the `__FILE__` keyword.
+#
+# __FILE__
+# ^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#7010
+class YARP::SourceFileNode < ::YARP::Node
+ # def initialize: (filepath: String, location: Location) -> void
+ #
+ # @return [SourceFileNode] a new instance of SourceFileNode
+ #
+ # source://yarp//lib/yarp/node.rb#7015
+ def initialize(filepath, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7021
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7026
+ def child_nodes; end
+
+ # def copy: (**params) -> SourceFileNode
+ #
+ # source://yarp//lib/yarp/node.rb#7031
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7026
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7042
+ def deconstruct_keys(keys); end
+
+ # attr_reader filepath: String
+ #
+ # source://yarp//lib/yarp/node.rb#7012
+ def filepath; end
+end
+
+# Represents the use of the `__LINE__` keyword.
+#
+# __LINE__
+# ^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#7051
+class YARP::SourceLineNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [SourceLineNode] a new instance of SourceLineNode
+ #
+ # source://yarp//lib/yarp/node.rb#7053
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7058
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7063
+ def child_nodes; end
+
+ # def copy: (**params) -> SourceLineNode
+ #
+ # source://yarp//lib/yarp/node.rb#7068
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7063
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7078
+ def deconstruct_keys(keys); end
+end
+
+# Represents the use of the splat operator.
+#
+# [*a]
+# ^^
+#
+# source://yarp//lib/yarp/node.rb#7087
+class YARP::SplatNode < ::YARP::Node
+ # def initialize: (operator_loc: Location, expression: Node?, location: Location) -> void
+ #
+ # @return [SplatNode] a new instance of SplatNode
+ #
+ # source://yarp//lib/yarp/node.rb#7095
+ def initialize(operator_loc, expression, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7102
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7107
+ def child_nodes; end
+
+ # def copy: (**params) -> SplatNode
+ #
+ # source://yarp//lib/yarp/node.rb#7112
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7107
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7124
+ def deconstruct_keys(keys); end
+
+ # attr_reader expression: Node?
+ #
+ # source://yarp//lib/yarp/node.rb#7092
+ def expression; end
+
+ # def operator: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7129
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7089
+ def operator_loc; end
+end
+
+# Represents a set of statements contained within some scope.
+#
+# foo; bar; baz
+# ^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#7138
+class YARP::StatementsNode < ::YARP::Node
+ # def initialize: (body: Array[Node], location: Location) -> void
+ #
+ # @return [StatementsNode] a new instance of StatementsNode
+ #
+ # source://yarp//lib/yarp/node.rb#7143
+ def initialize(body, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7149
+ def accept(visitor); end
+
+ # attr_reader body: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7140
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7154
+ def child_nodes; end
+
+ # def copy: (**params) -> StatementsNode
+ #
+ # source://yarp//lib/yarp/node.rb#7159
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7154
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7170
+ def deconstruct_keys(keys); end
+end
+
+# Represents the use of compile-time string concatenation.
+#
+# "foo" "bar"
+# ^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#7179
+class YARP::StringConcatNode < ::YARP::Node
+ # def initialize: (left: Node, right: Node, location: Location) -> void
+ #
+ # @return [StringConcatNode] a new instance of StringConcatNode
+ #
+ # source://yarp//lib/yarp/node.rb#7187
+ def initialize(left, right, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7194
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7199
+ def child_nodes; end
+
+ # def copy: (**params) -> StringConcatNode
+ #
+ # source://yarp//lib/yarp/node.rb#7204
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7199
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7216
+ def deconstruct_keys(keys); end
+
+ # attr_reader left: Node
+ #
+ # source://yarp//lib/yarp/node.rb#7181
+ def left; end
+
+ # attr_reader right: Node
+ #
+ # source://yarp//lib/yarp/node.rb#7184
+ def right; end
+end
+
+# Represents a string literal, a string contained within a `%w` list, or
+# plain string content within an interpolated string.
+#
+# "foo"
+# ^^^^^
+#
+# %w[foo]
+# ^^^
+#
+# "foo #{bar} baz"
+# ^^^^ ^^^^
+#
+# source://yarp//lib/yarp/node.rb#7232
+class YARP::StringNode < ::YARP::Node
+ # def initialize: (opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String, location: Location) -> void
+ #
+ # @return [StringNode] a new instance of StringNode
+ #
+ # source://yarp//lib/yarp/node.rb#7246
+ def initialize(opening_loc, content_loc, closing_loc, unescaped, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7255
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7260
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7294
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7240
+ def closing_loc; end
+
+ # def content: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7289
+ def content; end
+
+ # attr_reader content_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7237
+ def content_loc; end
+
+ # def copy: (**params) -> StringNode
+ #
+ # source://yarp//lib/yarp/node.rb#7265
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7260
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7279
+ def deconstruct_keys(keys); end
+
+ # def opening: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7284
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7234
+ def opening_loc; end
+
+ # attr_reader unescaped: String
+ #
+ # source://yarp//lib/yarp/node.rb#7243
+ def unescaped; end
+end
+
+# Represents the use of the `super` keyword with parentheses or arguments.
+#
+# super()
+# ^^^^^^^
+#
+# super foo, bar
+# ^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#7306
+class YARP::SuperNode < ::YARP::Node
+ # def initialize: (keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, block: BlockNode?, location: Location) -> void
+ #
+ # @return [SuperNode] a new instance of SuperNode
+ #
+ # source://yarp//lib/yarp/node.rb#7323
+ def initialize(keyword_loc, lparen_loc, arguments, rparen_loc, block, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7333
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#7314
+ def arguments; end
+
+ # attr_reader block: BlockNode?
+ #
+ # source://yarp//lib/yarp/node.rb#7320
+ def block; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7338
+ def child_nodes; end
+
+ # def copy: (**params) -> SuperNode
+ #
+ # source://yarp//lib/yarp/node.rb#7343
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7338
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7358
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7363
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7308
+ def keyword_loc; end
+
+ # def lparen: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7368
+ def lparen; end
+
+ # attr_reader lparen_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7311
+ def lparen_loc; end
+
+ # def rparen: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7373
+ def rparen; end
+
+ # attr_reader rparen_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7317
+ def rparen_loc; end
+end
+
+# Represents a symbol literal or a symbol contained within a `%i` list.
+#
+# :foo
+# ^^^^
+#
+# %i[foo]
+# ^^^
+#
+# source://yarp//lib/yarp/node.rb#7385
+class YARP::SymbolNode < ::YARP::Node
+ # def initialize: (opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String, location: Location) -> void
+ #
+ # @return [SymbolNode] a new instance of SymbolNode
+ #
+ # source://yarp//lib/yarp/node.rb#7399
+ def initialize(opening_loc, value_loc, closing_loc, unescaped, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7408
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7413
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7447
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7393
+ def closing_loc; end
+
+ # def copy: (**params) -> SymbolNode
+ #
+ # source://yarp//lib/yarp/node.rb#7418
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7413
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7432
+ def deconstruct_keys(keys); end
+
+ # def opening: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7437
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7387
+ def opening_loc; end
+
+ # attr_reader unescaped: String
+ #
+ # source://yarp//lib/yarp/node.rb#7396
+ def unescaped; end
+
+ # def value: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7442
+ def value; end
+
+ # attr_reader value_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7390
+ def value_loc; end
+end
+
+# This represents a token from the Ruby source.
+#
+# source://yarp//lib/yarp.rb#262
+class YARP::Token
+ # @return [Token] a new instance of Token
+ #
+ # source://yarp//lib/yarp.rb#265
+ def initialize(type, value, location); end
+
+ # source://yarp//lib/yarp.rb#289
+ def ==(other); end
+
+ # source://yarp//lib/yarp.rb#271
+ def deconstruct_keys(keys); end
+
+ # Returns the value of attribute location.
+ #
+ # source://yarp//lib/yarp.rb#263
+ def location; end
+
+ # source://yarp//lib/yarp.rb#275
+ def pretty_print(q); end
+
+ # Returns the value of attribute type.
+ #
+ # source://yarp//lib/yarp.rb#263
+ def type; end
+
+ # Returns the value of attribute value.
+ #
+ # source://yarp//lib/yarp.rb#263
+ def value; end
+end
+
+# Represents the use of the literal `true` keyword.
+#
+# true
+# ^^^^
+#
+# source://yarp//lib/yarp/node.rb#7456
+class YARP::TrueNode < ::YARP::Node
+ # def initialize: (location: Location) -> void
+ #
+ # @return [TrueNode] a new instance of TrueNode
+ #
+ # source://yarp//lib/yarp/node.rb#7458
+ def initialize(location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7463
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7468
+ def child_nodes; end
+
+ # def copy: (**params) -> TrueNode
+ #
+ # source://yarp//lib/yarp/node.rb#7473
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7468
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7483
+ def deconstruct_keys(keys); end
+end
+
+# Represents the use of the `undef` keyword.
+#
+# undef :foo, :bar, :baz
+# ^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#7492
+class YARP::UndefNode < ::YARP::Node
+ # def initialize: (names: Array[Node], keyword_loc: Location, location: Location) -> void
+ #
+ # @return [UndefNode] a new instance of UndefNode
+ #
+ # source://yarp//lib/yarp/node.rb#7500
+ def initialize(names, keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7507
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7512
+ def child_nodes; end
+
+ # def copy: (**params) -> UndefNode
+ #
+ # source://yarp//lib/yarp/node.rb#7517
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7512
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7529
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7534
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7497
+ def keyword_loc; end
+
+ # attr_reader names: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7494
+ def names; end
+end
+
+# Represents the use of the `unless` keyword, either in the block form or the modifier form.
+#
+# bar unless foo
+# ^^^^^^^^^^^^^^
+#
+# unless foo then bar end
+# ^^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#7546
+class YARP::UnlessNode < ::YARP::Node
+ # def initialize: (keyword_loc: Location, predicate: Node, statements: StatementsNode?, consequent: ElseNode?, end_keyword_loc: Location?, location: Location) -> void
+ #
+ # @return [UnlessNode] a new instance of UnlessNode
+ #
+ # source://yarp//lib/yarp/node.rb#7563
+ def initialize(keyword_loc, predicate, statements, consequent, end_keyword_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7573
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7582
+ def child_nodes; end
+
+ # attr_reader consequent: ElseNode?
+ #
+ # source://yarp//lib/yarp/node.rb#7557
+ def consequent; end
+
+ # def copy: (**params) -> UnlessNode
+ #
+ # source://yarp//lib/yarp/node.rb#7587
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7582
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7602
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7612
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7560
+ def end_keyword_loc; end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7607
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7548
+ def keyword_loc; end
+
+ # attr_reader predicate: Node
+ #
+ # source://yarp//lib/yarp/node.rb#7551
+ def predicate; end
+
+ # source://yarp//lib/yarp/node.rb#7577
+ def set_newline_flag(newline_marked); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#7554
+ def statements; end
+end
+
+# Represents the use of the `until` keyword, either in the block form or the modifier form.
+#
+# bar until foo
+# ^^^^^^^^^^^^^
+#
+# until foo do bar end
+# ^^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#7624
+class YARP::UntilNode < ::YARP::Node
+ # def initialize: (keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, flags: Integer, location: Location) -> void
+ #
+ # @return [UntilNode] a new instance of UntilNode
+ #
+ # source://yarp//lib/yarp/node.rb#7641
+ def initialize(keyword_loc, closing_loc, predicate, statements, flags, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7651
+ def accept(visitor); end
+
+ # def begin_modifier?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#7695
+ def begin_modifier?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7660
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7690
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7629
+ def closing_loc; end
+
+ # def copy: (**params) -> UntilNode
+ #
+ # source://yarp//lib/yarp/node.rb#7665
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7660
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7680
+ def deconstruct_keys(keys); end
+
+ # attr_reader flags: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#7638
+ def flags; end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7685
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7626
+ def keyword_loc; end
+
+ # attr_reader predicate: Node
+ #
+ # source://yarp//lib/yarp/node.rb#7632
+ def predicate; end
+
+ # source://yarp//lib/yarp/node.rb#7655
+ def set_newline_flag(newline_marked); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#7635
+ def statements; end
+end
+
+# The version constant is set by reading the result of calling yp_version.
+YARP::VERSION = T.let(T.unsafe(nil), String)
+
+# source://yarp//lib/yarp.rb#192
+class YARP::Visitor < ::YARP::BasicVisitor
+ # Visit a AliasNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_alias_node(node); end
+
+ # Visit a AlternationPatternNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_alternation_pattern_node(node); end
+
+ # Visit a AndNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_and_node(node); end
+
+ # Visit a ArgumentsNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_arguments_node(node); end
+
+ # Visit a ArrayNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_array_node(node); end
+
+ # Visit a ArrayPatternNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_array_pattern_node(node); end
+
+ # Visit a AssocNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_assoc_node(node); end
+
+ # Visit a AssocSplatNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_assoc_splat_node(node); end
+
+ # Visit a BackReferenceReadNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_back_reference_read_node(node); end
+
+ # Visit a BeginNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_begin_node(node); end
+
+ # Visit a BlockArgumentNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_block_argument_node(node); end
+
+ # Visit a BlockNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_block_node(node); end
+
+ # Visit a BlockParameterNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_block_parameter_node(node); end
+
+ # Visit a BlockParametersNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_block_parameters_node(node); end
+
+ # Visit a BreakNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_break_node(node); end
+
+ # Visit a CallNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_call_node(node); end
+
+ # Visit a CallOperatorAndWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_call_operator_and_write_node(node); end
+
+ # Visit a CallOperatorOrWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_call_operator_or_write_node(node); end
+
+ # Visit a CallOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_call_operator_write_node(node); end
+
+ # Visit a CapturePatternNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_capture_pattern_node(node); end
+
+ # Visit a CaseNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_case_node(node); end
+
+ # Visit a ClassNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_class_node(node); end
+
+ # Visit a ClassVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_class_variable_and_write_node(node); end
+
+ # Visit a ClassVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_class_variable_operator_write_node(node); end
+
+ # Visit a ClassVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_class_variable_or_write_node(node); end
+
+ # Visit a ClassVariableReadNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_class_variable_read_node(node); end
+
+ # Visit a ClassVariableTargetNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_class_variable_target_node(node); end
+
+ # Visit a ClassVariableWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_class_variable_write_node(node); end
+
+ # Visit a ConstantAndWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_and_write_node(node); end
+
+ # Visit a ConstantOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_operator_write_node(node); end
+
+ # Visit a ConstantOrWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_or_write_node(node); end
+
+ # Visit a ConstantPathAndWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_path_and_write_node(node); end
+
+ # Visit a ConstantPathNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_path_node(node); end
+
+ # Visit a ConstantPathOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_path_operator_write_node(node); end
+
+ # Visit a ConstantPathOrWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_path_or_write_node(node); end
+
+ # Visit a ConstantPathTargetNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_path_target_node(node); end
+
+ # Visit a ConstantPathWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_path_write_node(node); end
+
+ # Visit a ConstantReadNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_read_node(node); end
+
+ # Visit a ConstantTargetNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_target_node(node); end
+
+ # Visit a ConstantWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_constant_write_node(node); end
+
+ # Visit a DefNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_def_node(node); end
+
+ # Visit a DefinedNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_defined_node(node); end
+
+ # Visit a ElseNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_else_node(node); end
+
+ # Visit a EmbeddedStatementsNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_embedded_statements_node(node); end
+
+ # Visit a EmbeddedVariableNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_embedded_variable_node(node); end
+
+ # Visit a EnsureNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_ensure_node(node); end
+
+ # Visit a FalseNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_false_node(node); end
+
+ # Visit a FindPatternNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_find_pattern_node(node); end
+
+ # Visit a FlipFlopNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_flip_flop_node(node); end
+
+ # Visit a FloatNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_float_node(node); end
+
+ # Visit a ForNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_for_node(node); end
+
+ # Visit a ForwardingArgumentsNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_forwarding_arguments_node(node); end
+
+ # Visit a ForwardingParameterNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_forwarding_parameter_node(node); end
+
+ # Visit a ForwardingSuperNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_forwarding_super_node(node); end
+
+ # Visit a GlobalVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_global_variable_and_write_node(node); end
+
+ # Visit a GlobalVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_global_variable_operator_write_node(node); end
+
+ # Visit a GlobalVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_global_variable_or_write_node(node); end
+
+ # Visit a GlobalVariableReadNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_global_variable_read_node(node); end
+
+ # Visit a GlobalVariableTargetNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_global_variable_target_node(node); end
+
+ # Visit a GlobalVariableWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_global_variable_write_node(node); end
+
+ # Visit a HashNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_hash_node(node); end
+
+ # Visit a HashPatternNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_hash_pattern_node(node); end
+
+ # Visit a IfNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_if_node(node); end
+
+ # Visit a ImaginaryNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_imaginary_node(node); end
+
+ # Visit a InNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_in_node(node); end
+
+ # Visit a InstanceVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_instance_variable_and_write_node(node); end
+
+ # Visit a InstanceVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_instance_variable_operator_write_node(node); end
+
+ # Visit a InstanceVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_instance_variable_or_write_node(node); end
+
+ # Visit a InstanceVariableReadNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_instance_variable_read_node(node); end
+
+ # Visit a InstanceVariableTargetNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_instance_variable_target_node(node); end
+
+ # Visit a InstanceVariableWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_instance_variable_write_node(node); end
+
+ # Visit a IntegerNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_integer_node(node); end
+
+ # Visit a InterpolatedRegularExpressionNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_interpolated_regular_expression_node(node); end
+
+ # Visit a InterpolatedStringNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_interpolated_string_node(node); end
+
+ # Visit a InterpolatedSymbolNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_interpolated_symbol_node(node); end
+
+ # Visit a InterpolatedXStringNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_interpolated_x_string_node(node); end
+
+ # Visit a KeywordHashNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_keyword_hash_node(node); end
+
+ # Visit a KeywordParameterNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_keyword_parameter_node(node); end
+
+ # Visit a KeywordRestParameterNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_keyword_rest_parameter_node(node); end
+
+ # Visit a LambdaNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_lambda_node(node); end
+
+ # Visit a LocalVariableAndWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_local_variable_and_write_node(node); end
+
+ # Visit a LocalVariableOperatorWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_local_variable_operator_write_node(node); end
+
+ # Visit a LocalVariableOrWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_local_variable_or_write_node(node); end
+
+ # Visit a LocalVariableReadNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_local_variable_read_node(node); end
+
+ # Visit a LocalVariableTargetNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_local_variable_target_node(node); end
+
+ # Visit a LocalVariableWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_local_variable_write_node(node); end
+
+ # Visit a MatchPredicateNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_match_predicate_node(node); end
+
+ # Visit a MatchRequiredNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_match_required_node(node); end
+
+ # Visit a MissingNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_missing_node(node); end
+
+ # Visit a ModuleNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_module_node(node); end
+
+ # Visit a MultiWriteNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_multi_write_node(node); end
+
+ # Visit a NextNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_next_node(node); end
+
+ # Visit a NilNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_nil_node(node); end
+
+ # Visit a NoKeywordsParameterNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_no_keywords_parameter_node(node); end
+
+ # Visit a NumberedReferenceReadNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_numbered_reference_read_node(node); end
+
+ # Visit a OptionalParameterNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_optional_parameter_node(node); end
+
+ # Visit a OrNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_or_node(node); end
+
+ # Visit a ParametersNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_parameters_node(node); end
+
+ # Visit a ParenthesesNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_parentheses_node(node); end
+
+ # Visit a PinnedExpressionNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_pinned_expression_node(node); end
+
+ # Visit a PinnedVariableNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_pinned_variable_node(node); end
+
+ # Visit a PostExecutionNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_post_execution_node(node); end
+
+ # Visit a PreExecutionNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_pre_execution_node(node); end
+
+ # Visit a ProgramNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_program_node(node); end
+
+ # Visit a RangeNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_range_node(node); end
+
+ # Visit a RationalNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_rational_node(node); end
+
+ # Visit a RedoNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_redo_node(node); end
+
+ # Visit a RegularExpressionNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_regular_expression_node(node); end
+
+ # Visit a RequiredDestructuredParameterNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_required_destructured_parameter_node(node); end
+
+ # Visit a RequiredParameterNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_required_parameter_node(node); end
+
+ # Visit a RescueModifierNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_rescue_modifier_node(node); end
+
+ # Visit a RescueNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_rescue_node(node); end
+
+ # Visit a RestParameterNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_rest_parameter_node(node); end
+
+ # Visit a RetryNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_retry_node(node); end
+
+ # Visit a ReturnNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_return_node(node); end
+
+ # Visit a SelfNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_self_node(node); end
+
+ # Visit a SingletonClassNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_singleton_class_node(node); end
+
+ # Visit a SourceEncodingNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_source_encoding_node(node); end
+
+ # Visit a SourceFileNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_source_file_node(node); end
+
+ # Visit a SourceLineNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_source_line_node(node); end
+
+ # Visit a SplatNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_splat_node(node); end
+
+ # Visit a StatementsNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_statements_node(node); end
+
+ # Visit a StringConcatNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_string_concat_node(node); end
+
+ # Visit a StringNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_string_node(node); end
+
+ # Visit a SuperNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_super_node(node); end
+
+ # Visit a SymbolNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_symbol_node(node); end
+
+ # Visit a TrueNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_true_node(node); end
+
+ # Visit a UndefNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_undef_node(node); end
+
+ # Visit a UnlessNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_unless_node(node); end
+
+ # Visit a UntilNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_until_node(node); end
+
+ # Visit a WhenNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_when_node(node); end
+
+ # Visit a WhileNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_while_node(node); end
+
+ # Visit a XStringNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_x_string_node(node); end
+
+ # Visit a YieldNode node
+ #
+ # source://yarp//lib/yarp.rb#187
+ def visit_yield_node(node); end
+end
+
+# Represents the use of the `when` keyword within a case statement.
+#
+# case true
+# when true
+# ^^^^^^^^^
+# end
+#
+# source://yarp//lib/yarp/node.rb#7706
+class YARP::WhenNode < ::YARP::Node
+ # def initialize: (keyword_loc: Location, conditions: Array[Node], statements: StatementsNode?, location: Location) -> void
+ #
+ # @return [WhenNode] a new instance of WhenNode
+ #
+ # source://yarp//lib/yarp/node.rb#7717
+ def initialize(keyword_loc, conditions, statements, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7725
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7730
+ def child_nodes; end
+
+ # attr_reader conditions: Array[Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7711
+ def conditions; end
+
+ # def copy: (**params) -> WhenNode
+ #
+ # source://yarp//lib/yarp/node.rb#7735
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7730
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7748
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7753
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7708
+ def keyword_loc; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#7714
+ def statements; end
+end
+
+# Represents the use of the `while` keyword, either in the block form or the modifier form.
+#
+# bar while foo
+# ^^^^^^^^^^^^^
+#
+# while foo do bar end
+# ^^^^^^^^^^^^^^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#7765
+class YARP::WhileNode < ::YARP::Node
+ # def initialize: (keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, flags: Integer, location: Location) -> void
+ #
+ # @return [WhileNode] a new instance of WhileNode
+ #
+ # source://yarp//lib/yarp/node.rb#7782
+ def initialize(keyword_loc, closing_loc, predicate, statements, flags, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7792
+ def accept(visitor); end
+
+ # def begin_modifier?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://yarp//lib/yarp/node.rb#7836
+ def begin_modifier?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7801
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7831
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7770
+ def closing_loc; end
+
+ # def copy: (**params) -> WhileNode
+ #
+ # source://yarp//lib/yarp/node.rb#7806
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7801
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7821
+ def deconstruct_keys(keys); end
+
+ # attr_reader flags: Integer
+ #
+ # source://yarp//lib/yarp/node.rb#7779
+ def flags; end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7826
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7767
+ def keyword_loc; end
+
+ # attr_reader predicate: Node
+ #
+ # source://yarp//lib/yarp/node.rb#7773
+ def predicate; end
+
+ # source://yarp//lib/yarp/node.rb#7796
+ def set_newline_flag(newline_marked); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#7776
+ def statements; end
+end
+
+# Represents an xstring literal with no interpolation.
+#
+# `foo`
+# ^^^^^
+#
+# source://yarp//lib/yarp/node.rb#7845
+class YARP::XStringNode < ::YARP::Node
+ # def initialize: (opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location) -> void
+ #
+ # @return [XStringNode] a new instance of XStringNode
+ #
+ # source://yarp//lib/yarp/node.rb#7859
+ def initialize(opening_loc, content_loc, closing_loc, unescaped, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7868
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7873
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7907
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7853
+ def closing_loc; end
+
+ # def content: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7902
+ def content; end
+
+ # attr_reader content_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7850
+ def content_loc; end
+
+ # def copy: (**params) -> XStringNode
+ #
+ # source://yarp//lib/yarp/node.rb#7878
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7873
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7892
+ def deconstruct_keys(keys); end
+
+ # def opening: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7897
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7847
+ def opening_loc; end
+
+ # attr_reader unescaped: String
+ #
+ # source://yarp//lib/yarp/node.rb#7856
+ def unescaped; end
+end
+
+# Represents the use of the `yield` keyword.
+#
+# yield 1
+# ^^^^^^^
+#
+# source://yarp//lib/yarp/node.rb#7916
+class YARP::YieldNode < ::YARP::Node
+ # def initialize: (keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, location: Location) -> void
+ #
+ # @return [YieldNode] a new instance of YieldNode
+ #
+ # source://yarp//lib/yarp/node.rb#7930
+ def initialize(keyword_loc, lparen_loc, arguments, rparen_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://yarp//lib/yarp/node.rb#7939
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://yarp//lib/yarp/node.rb#7924
+ def arguments; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7944
+ def child_nodes; end
+
+ # def copy: (**params) -> YieldNode
+ #
+ # source://yarp//lib/yarp/node.rb#7949
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://yarp//lib/yarp/node.rb#7944
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://yarp//lib/yarp/node.rb#7963
+ def deconstruct_keys(keys); end
+
+ # def keyword: () -> String
+ #
+ # source://yarp//lib/yarp/node.rb#7968
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://yarp//lib/yarp/node.rb#7918
+ def keyword_loc; end
+
+ # def lparen: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7973
+ def lparen; end
+
+ # attr_reader lparen_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7921
+ def lparen_loc; end
+
+ # def rparen: () -> String?
+ #
+ # source://yarp//lib/yarp/node.rb#7978
+ def rparen; end
+
+ # attr_reader rparen_loc: Location?
+ #
+ # source://yarp//lib/yarp/node.rb#7927
+ def rparen_loc; end
+end
diff --git a/sorbet/rbi/shims/ast.rbi b/sorbet/rbi/shims/ast.rbi
deleted file mode 100644
index 24095b67..00000000
--- a/sorbet/rbi/shims/ast.rbi
+++ /dev/null
@@ -1,5 +0,0 @@
-# typed: true
-
-class ::AST::Node
- def location; end
-end
diff --git a/sorbet/rbi/shims/gems/yarp.rbi b/sorbet/rbi/shims/gems/yarp.rbi
new file mode 100644
index 00000000..fdf0b0c8
--- /dev/null
+++ b/sorbet/rbi/shims/gems/yarp.rbi
@@ -0,0 +1,6856 @@
+# typed: strict
+
+=begin
+This file is generated by the templates/template.rb script and should not be
+modified manually. See templates/rbi/yarp.rbi.erb
+if you are looking to modify the template
+=end
+
+module YARP
+ class NodeInspector; end
+
+ class Node
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+ end
+
+ # Represents the use of the `alias` keyword.
+ #
+ # alias foo bar
+ # ^^^^^^^^^^^^^
+ class AliasNode < Node
+ sig { returns(Node) }
+ attr_reader :new_name
+
+ sig { returns(Node) }
+ attr_reader :old_name
+
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { params(new_name: Node, old_name: Node, keyword_loc: Location, location: Location).void }
+ def initialize(new_name, old_name, keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(AliasNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an alternation pattern in pattern matching.
+ #
+ # foo => bar | baz
+ # ^^^^^^^^^
+ class AlternationPatternNode < Node
+ sig { returns(Node) }
+ attr_reader :left
+
+ sig { returns(Node) }
+ attr_reader :right
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(left: Node, right: Node, operator_loc: Location, location: Location).void }
+ def initialize(left, right, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(AlternationPatternNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `&&` operator or the `and` keyword.
+ #
+ # left and right
+ # ^^^^^^^^^^^^^^
+ class AndNode < Node
+ sig { returns(Node) }
+ attr_reader :left
+
+ sig { returns(Node) }
+ attr_reader :right
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(left: Node, right: Node, operator_loc: Location, location: Location).void }
+ def initialize(left, right, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(AndNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a set of arguments to a method or a keyword.
+ #
+ # return foo, bar, baz
+ # ^^^^^^^^^^^^^
+ class ArgumentsNode < Node
+ sig { returns(T::Array[Node]) }
+ attr_reader :arguments
+
+ sig { params(arguments: T::Array[Node], location: Location).void }
+ def initialize(arguments, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ArgumentsNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an array literal. This can be a regular array using brackets or
+ # a special array using % like %w or %i.
+ #
+ # [1, 2, 3]
+ # ^^^^^^^^^
+ class ArrayNode < Node
+ sig { returns(T::Array[Node]) }
+ attr_reader :elements
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { params(elements: T::Array[Node], opening_loc: T.nilable(Location), closing_loc: T.nilable(Location), location: Location).void }
+ def initialize(elements, opening_loc, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ArrayNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an array pattern in pattern matching.
+ #
+ # foo in 1, 2
+ # ^^^^^^^^^^^
+ #
+ # foo in [1, 2]
+ # ^^^^^^^^^^^^^
+ #
+ # foo in *1
+ # ^^^^^^^^^
+ #
+ # foo in Bar[]
+ # ^^^^^^^^^^^^
+ #
+ # foo in Bar[1, 2, 3]
+ # ^^^^^^^^^^^^^^^^^^^
+ class ArrayPatternNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :constant
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :requireds
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :rest
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :posts
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { params(constant: T.nilable(Node), requireds: T::Array[Node], rest: T.nilable(Node), posts: T::Array[Node], opening_loc: T.nilable(Location), closing_loc: T.nilable(Location), location: Location).void }
+ def initialize(constant, requireds, rest, posts, opening_loc, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ArrayPatternNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a hash key/value pair.
+ #
+ # { a => b }
+ # ^^^^^^
+ class AssocNode < Node
+ sig { returns(Node) }
+ attr_reader :key
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :value
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :operator_loc
+
+ sig { params(key: Node, value: T.nilable(Node), operator_loc: T.nilable(Location), location: Location).void }
+ def initialize(key, value, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(AssocNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a splat in a hash literal.
+ #
+ # { **foo }
+ # ^^^^^
+ class AssocSplatNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :value
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(value: T.nilable(Node), operator_loc: Location, location: Location).void }
+ def initialize(value, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(AssocSplatNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents reading a reference to a field in the previous match.
+ #
+ # $'
+ # ^^
+ class BackReferenceReadNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(BackReferenceReadNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a begin statement.
+ #
+ # begin
+ # foo
+ # end
+ # ^^^^^
+ class BeginNode < Node
+ sig { returns(T.nilable(Location)) }
+ attr_reader :begin_keyword_loc
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(T.nilable(RescueNode)) }
+ attr_reader :rescue_clause
+
+ sig { returns(T.nilable(ElseNode)) }
+ attr_reader :else_clause
+
+ sig { returns(T.nilable(EnsureNode)) }
+ attr_reader :ensure_clause
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :end_keyword_loc
+
+ sig { params(begin_keyword_loc: T.nilable(Location), statements: T.nilable(StatementsNode), rescue_clause: T.nilable(RescueNode), else_clause: T.nilable(ElseNode), ensure_clause: T.nilable(EnsureNode), end_keyword_loc: T.nilable(Location), location: Location).void }
+ def initialize(begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ def set_newline_flag(newline_marked); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(BeginNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def begin_keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def end_keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents block method arguments.
+ #
+ # bar(&args)
+ # ^^^^^^^^^^
+ class BlockArgumentNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :expression
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(expression: T.nilable(Node), operator_loc: Location, location: Location).void }
+ def initialize(expression, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(BlockArgumentNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a block local variable.
+ #
+ # a { |; b| }
+ # ^
+ class BlockLocalVariableNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { params(name: Symbol, location: Location).void }
+ def initialize(name, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(BlockLocalVariableNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a block of ruby code.
+ #
+ # [1, 2, 3].each { |i| puts x }
+ # ^^^^^^^^^^^^^^
+ class BlockNode < Node
+ sig { returns(T::Array[Symbol]) }
+ attr_reader :locals
+
+ sig { returns(T.nilable(BlockParametersNode)) }
+ attr_reader :parameters
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :body
+
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { params(locals: T::Array[Symbol], parameters: T.nilable(BlockParametersNode), body: T.nilable(Node), opening_loc: Location, closing_loc: Location, location: Location).void }
+ def initialize(locals, parameters, body, opening_loc, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(BlockNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a block parameter to a method, block, or lambda definition.
+ #
+ # def a(&b)
+ # ^^
+ # end
+ class BlockParameterNode < Node
+ sig { returns(T.nilable(Location)) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(name_loc: T.nilable(Location), operator_loc: Location, location: Location).void }
+ def initialize(name_loc, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(BlockParameterNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def name; end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a block's parameters declaration.
+ #
+ # -> (a, b = 1; local) { }
+ # ^^^^^^^^^^^^^^^^^
+ #
+ # foo do |a, b = 1; local|
+ # ^^^^^^^^^^^^^^^^^
+ # end
+ class BlockParametersNode < Node
+ sig { returns(T.nilable(ParametersNode)) }
+ attr_reader :parameters
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :locals
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { params(parameters: T.nilable(ParametersNode), locals: T::Array[Node], opening_loc: T.nilable(Location), closing_loc: T.nilable(Location), location: Location).void }
+ def initialize(parameters, locals, opening_loc, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(BlockParametersNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `break` keyword.
+ #
+ # break foo
+ # ^^^^^^^^^
+ class BreakNode < Node
+ sig { returns(T.nilable(ArgumentsNode)) }
+ attr_reader :arguments
+
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { params(arguments: T.nilable(ArgumentsNode), keyword_loc: Location, location: Location).void }
+ def initialize(arguments, keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(BreakNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `&&=` operator on a call.
+ #
+ # foo.bar &&= value
+ # ^^^^^^^^^^^^^^^^^
+ class CallAndWriteNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :receiver
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :call_operator_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :message_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T.nilable(ArgumentsNode)) }
+ attr_reader :arguments
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { returns(Integer) }
+ attr_reader :flags
+
+ sig { returns(String) }
+ attr_reader :read_name
+
+ sig { returns(String) }
+ attr_reader :write_name
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(receiver: T.nilable(Node), call_operator_loc: T.nilable(Location), message_loc: T.nilable(Location), opening_loc: T.nilable(Location), arguments: T.nilable(ArgumentsNode), closing_loc: T.nilable(Location), flags: Integer, read_name: String, write_name: String, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(receiver, call_operator_loc, message_loc, opening_loc, arguments, closing_loc, flags, read_name, write_name, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(CallAndWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def call_operator; end
+
+ sig { returns(T.nilable(String)) }
+ def message; end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a method call, in all of the various forms that can take.
+ #
+ # foo
+ # ^^^
+ #
+ # foo()
+ # ^^^^^
+ #
+ # +foo
+ # ^^^^
+ #
+ # foo + bar
+ # ^^^^^^^^^
+ #
+ # foo.bar
+ # ^^^^^^^
+ #
+ # foo&.bar
+ # ^^^^^^^^
+ class CallNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :receiver
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :call_operator_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :message_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T.nilable(ArgumentsNode)) }
+ attr_reader :arguments
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { returns(T.nilable(BlockNode)) }
+ attr_reader :block
+
+ sig { returns(Integer) }
+ attr_reader :flags
+
+ sig { returns(String) }
+ attr_reader :name
+
+ sig { params(receiver: T.nilable(Node), call_operator_loc: T.nilable(Location), message_loc: T.nilable(Location), opening_loc: T.nilable(Location), arguments: T.nilable(ArgumentsNode), closing_loc: T.nilable(Location), block: T.nilable(BlockNode), flags: Integer, name: String, location: Location).void }
+ def initialize(receiver, call_operator_loc, message_loc, opening_loc, arguments, closing_loc, block, flags, name, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(CallNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def call_operator; end
+
+ sig { returns(T.nilable(String)) }
+ def message; end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of an assignment operator on a call.
+ #
+ # foo.bar += baz
+ # ^^^^^^^^^^^^^^
+ class CallOperatorWriteNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :receiver
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :call_operator_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :message_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T.nilable(ArgumentsNode)) }
+ attr_reader :arguments
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { returns(Integer) }
+ attr_reader :flags
+
+ sig { returns(String) }
+ attr_reader :read_name
+
+ sig { returns(String) }
+ attr_reader :write_name
+
+ sig { returns(Symbol) }
+ attr_reader :operator
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(target: T.nilable(Node), operator_loc: T.nilable(Location), value: Node, operator: Symbol, location: Location).void }
+ def initialize(target, operator_loc, value, operator, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(CallOperatorWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def call_operator; end
+
+ sig { returns(T.nilable(String)) }
+ def message; end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `||=` operator on a call.
+ #
+ # foo.bar ||= value
+ # ^^^^^^^^^^^^^^^^^
+ class CallOrWriteNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :receiver
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :call_operator_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :message_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T.nilable(ArgumentsNode)) }
+ attr_reader :arguments
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { returns(Integer) }
+ attr_reader :flags
+
+ sig { returns(String) }
+ attr_reader :read_name
+
+ sig { returns(String) }
+ attr_reader :write_name
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(receiver: T.nilable(Node), call_operator_loc: T.nilable(Location), message_loc: T.nilable(Location), opening_loc: T.nilable(Location), arguments: T.nilable(ArgumentsNode), closing_loc: T.nilable(Location), flags: Integer, read_name: String, write_name: String, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(receiver, call_operator_loc, message_loc, opening_loc, arguments, closing_loc, flags, read_name, write_name, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(CallOrWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def call_operator; end
+
+ sig { returns(T.nilable(String)) }
+ def message; end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents assigning to a local variable in pattern matching.
+ #
+ # foo => [bar => baz]
+ # ^^^^^^^^^^^^
+ class CapturePatternNode < Node
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Node) }
+ attr_reader :target
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(value: Node, target: Node, operator_loc: Location, location: Location).void }
+ def initialize(value, target, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(CapturePatternNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of a case statement.
+ #
+ # case true
+ # ^^^^^^^^^
+ # when false
+ # end
+ class CaseNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :predicate
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :conditions
+
+ sig { returns(T.nilable(ElseNode)) }
+ attr_reader :consequent
+
+ sig { returns(Location) }
+ attr_reader :case_keyword_loc
+
+ sig { returns(Location) }
+ attr_reader :end_keyword_loc
+
+ sig { params(predicate: T.nilable(Node), conditions: T::Array[Node], consequent: T.nilable(ElseNode), case_keyword_loc: Location, end_keyword_loc: Location, location: Location).void }
+ def initialize(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(CaseNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def case_keyword; end
+
+ sig { returns(String) }
+ def end_keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a class declaration involving the `class` keyword.
+ #
+ # class Foo end
+ # ^^^^^^^^^^^^^
+ class ClassNode < Node
+ sig { returns(T::Array[Symbol]) }
+ attr_reader :locals
+
+ sig { returns(Location) }
+ attr_reader :class_keyword_loc
+
+ sig { returns(Node) }
+ attr_reader :constant_path
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :inheritance_operator_loc
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :superclass
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :body
+
+ sig { returns(Location) }
+ attr_reader :end_keyword_loc
+
+ sig { returns(String) }
+ attr_reader :name
+
+ sig { params(locals: T::Array[Symbol], class_keyword_loc: Location, constant_path: Node, inheritance_operator_loc: T.nilable(Location), superclass: T.nilable(Node), body: T.nilable(Node), end_keyword_loc: Location, name: String, location: Location).void }
+ def initialize(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ClassNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def class_keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def inheritance_operator; end
+
+ sig { returns(String) }
+ def end_keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `&&=` operator for assignment to a class variable.
+ #
+ # @@target &&= value
+ # ^^^^^^^^^^^^^^^^
+ class ClassVariableAndWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(name, name_loc, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ClassVariableAndWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents assigning to a class variable using an operator that isn't `=`.
+ #
+ # @@target += value
+ # ^^^^^^^^^^^^^^^^^
+ class ClassVariableOperatorWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Symbol) }
+ attr_reader :operator
+
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location).void }
+ def initialize(name, name_loc, operator_loc, value, operator, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ClassVariableOperatorWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `||=` operator for assignment to a class variable.
+ #
+ # @@target ||= value
+ # ^^^^^^^^^^^^^^^^^^
+ class ClassVariableOrWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(name, name_loc, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ClassVariableOrWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents referencing a class variable.
+ #
+ # @@foo
+ # ^^^^^
+ class ClassVariableReadNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { params(name: Symbol, location: Location).void }
+ def initialize(name, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ClassVariableReadNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to a class variable in a context that doesn't have an explicit value.
+ #
+ # @@foo, @@bar = baz
+ # ^^^^^ ^^^^^
+ class ClassVariableTargetNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { params(name: Symbol, location: Location).void }
+ def initialize(name, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ClassVariableTargetNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to a class variable.
+ #
+ # @@foo = 1
+ # ^^^^^^^^^
+ class ClassVariableWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :operator_loc
+
+ sig { params(name: Symbol, name_loc: Location, value: Node, operator_loc: T.nilable(Location), location: Location).void }
+ def initialize(name, name_loc, value, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ClassVariableWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `&&=` operator for assignment to a constant.
+ #
+ # Target &&= value
+ # ^^^^^^^^^^^^^^^^
+ class ConstantAndWriteNode < Node
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(name_loc, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantAndWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def name; end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents assigning to a constant using an operator that isn't `=`.
+ #
+ # Target += value
+ # ^^^^^^^^^^^^^^^
+ class ConstantOperatorWriteNode < Node
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Symbol) }
+ attr_reader :operator
+
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location).void }
+ def initialize(name_loc, operator_loc, value, operator, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantOperatorWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def name; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `||=` operator for assignment to a constant.
+ #
+ # Target ||= value
+ # ^^^^^^^^^^^^^^^^
+ class ConstantOrWriteNode < Node
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(name_loc, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantOrWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def name; end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `&&=` operator for assignment to a constant path.
+ #
+ # Parent::Child &&= value
+ # ^^^^^^^^^^^^^^^^^^^^^^^
+ class ConstantPathAndWriteNode < Node
+ sig { returns(ConstantPathNode) }
+ attr_reader :target
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(target: ConstantPathNode, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(target, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantPathAndWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents accessing a constant through a path of `::` operators.
+ #
+ # Foo::Bar
+ # ^^^^^^^^
+ class ConstantPathNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :parent
+
+ sig { returns(Node) }
+ attr_reader :child
+
+ sig { returns(Location) }
+ attr_reader :delimiter_loc
+
+ sig { params(parent: T.nilable(Node), child: Node, delimiter_loc: Location, location: Location).void }
+ def initialize(parent, child, delimiter_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantPathNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def delimiter; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents assigning to a constant path using an operator that isn't `=`.
+ #
+ # Parent::Child += value
+ # ^^^^^^^^^^^^^^^^^^^^^^
+ class ConstantPathOperatorWriteNode < Node
+ sig { returns(ConstantPathNode) }
+ attr_reader :target
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Symbol) }
+ attr_reader :operator
+
+ sig { params(target: ConstantPathNode, operator_loc: Location, value: Node, operator: Symbol, location: Location).void }
+ def initialize(target, operator_loc, value, operator, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantPathOperatorWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `||=` operator for assignment to a constant path.
+ #
+ # Parent::Child ||= value
+ # ^^^^^^^^^^^^^^^^^^^^^^^
+ class ConstantPathOrWriteNode < Node
+ sig { returns(ConstantPathNode) }
+ attr_reader :target
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(target: ConstantPathNode, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(target, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantPathOrWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to a constant path in a context that doesn't have an explicit value.
+ #
+ # Foo::Foo, Bar::Bar = baz
+ # ^^^^^^^^ ^^^^^^^^
+ class ConstantPathTargetNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :parent
+
+ sig { returns(Node) }
+ attr_reader :child
+
+ sig { returns(Location) }
+ attr_reader :delimiter_loc
+
+ sig { params(parent: T.nilable(Node), child: Node, delimiter_loc: Location, location: Location).void }
+ def initialize(parent, child, delimiter_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantPathTargetNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def delimiter; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to a constant path.
+ #
+ # ::Foo = 1
+ # ^^^^^^^^^
+ #
+ # Foo::Bar = 1
+ # ^^^^^^^^^^^^
+ #
+ # ::Foo::Bar = 1
+ # ^^^^^^^^^^^^^^
+ class ConstantPathWriteNode < Node
+ sig { returns(ConstantPathNode) }
+ attr_reader :target
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(target: ConstantPathNode, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(target, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantPathWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents referencing a constant.
+ #
+ # Foo
+ # ^^^
+ class ConstantReadNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantReadNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to a constant in a context that doesn't have an explicit value.
+ #
+ # Foo, Bar = baz
+ # ^^^ ^^^
+ class ConstantTargetNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantTargetNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to a constant.
+ #
+ # Foo = 1
+ # ^^^^^^^
+ class ConstantWriteNode < Node
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(name_loc: Location, value: Node, operator_loc: Location, location: Location).void }
+ def initialize(name_loc, value, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ConstantWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def name; end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a method definition.
+ #
+ # def method
+ # end
+ # ^^^^^^^^^^
+ class DefNode < Node
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :receiver
+
+ sig { returns(T.nilable(ParametersNode)) }
+ attr_reader :parameters
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :body
+
+ sig { returns(T::Array[Symbol]) }
+ attr_reader :locals
+
+ sig { returns(Location) }
+ attr_reader :def_keyword_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :operator_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :lparen_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :rparen_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :equal_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :end_keyword_loc
+
+ sig { params(name_loc: Location, receiver: T.nilable(Node), parameters: T.nilable(ParametersNode), body: T.nilable(Node), locals: T::Array[Symbol], def_keyword_loc: Location, operator_loc: T.nilable(Location), lparen_loc: T.nilable(Location), rparen_loc: T.nilable(Location), equal_loc: T.nilable(Location), end_keyword_loc: T.nilable(Location), location: Location).void }
+ def initialize(name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(DefNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def name; end
+
+ sig { returns(String) }
+ def def_keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def operator; end
+
+ sig { returns(T.nilable(String)) }
+ def lparen; end
+
+ sig { returns(T.nilable(String)) }
+ def rparen; end
+
+ sig { returns(T.nilable(String)) }
+ def equal; end
+
+ sig { returns(T.nilable(String)) }
+ def end_keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `defined?` keyword.
+ #
+ # defined?(a)
+ # ^^^^^^^^^^^
+ class DefinedNode < Node
+ sig { returns(T.nilable(Location)) }
+ attr_reader :lparen_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :rparen_loc
+
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { params(lparen_loc: T.nilable(Location), value: Node, rparen_loc: T.nilable(Location), keyword_loc: Location, location: Location).void }
+ def initialize(lparen_loc, value, rparen_loc, keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(DefinedNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def lparen; end
+
+ sig { returns(T.nilable(String)) }
+ def rparen; end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an `else` clause in a `case`, `if`, or `unless` statement.
+ #
+ # if a then b else c end
+ # ^^^^^^^^^^
+ class ElseNode < Node
+ sig { returns(Location) }
+ attr_reader :else_keyword_loc
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :end_keyword_loc
+
+ sig { params(else_keyword_loc: Location, statements: T.nilable(StatementsNode), end_keyword_loc: T.nilable(Location), location: Location).void }
+ def initialize(else_keyword_loc, statements, end_keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ElseNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def else_keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def end_keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an interpolated set of statements.
+ #
+ # "foo #{bar}"
+ # ^^^^^^
+ class EmbeddedStatementsNode < Node
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { params(opening_loc: Location, statements: T.nilable(StatementsNode), closing_loc: Location, location: Location).void }
+ def initialize(opening_loc, statements, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(EmbeddedStatementsNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an interpolated variable.
+ #
+ # "foo #@bar"
+ # ^^^^^
+ class EmbeddedVariableNode < Node
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :variable
+
+ sig { params(operator_loc: Location, variable: Node, location: Location).void }
+ def initialize(operator_loc, variable, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(EmbeddedVariableNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an `ensure` clause in a `begin` statement.
+ #
+ # begin
+ # foo
+ # ensure
+ # ^^^^^^
+ # bar
+ # end
+ class EnsureNode < Node
+ sig { returns(Location) }
+ attr_reader :ensure_keyword_loc
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(Location) }
+ attr_reader :end_keyword_loc
+
+ sig { params(ensure_keyword_loc: Location, statements: T.nilable(StatementsNode), end_keyword_loc: Location, location: Location).void }
+ def initialize(ensure_keyword_loc, statements, end_keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(EnsureNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def ensure_keyword; end
+
+ sig { returns(String) }
+ def end_keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the literal `false` keyword.
+ #
+ # false
+ # ^^^^^
+ class FalseNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(FalseNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a find pattern in pattern matching.
+ #
+ # foo in *bar, baz, *qux
+ # ^^^^^^^^^^^^^^^^^^^^^^
+ #
+ # foo in [*bar, baz, *qux]
+ # ^^^^^^^^^^^^^^^^^^^^^^^^
+ #
+ # foo in Foo(*bar, baz, *qux)
+ # ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ class FindPatternNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :constant
+
+ sig { returns(Node) }
+ attr_reader :left
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :requireds
+
+ sig { returns(Node) }
+ attr_reader :right
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { params(constant: T.nilable(Node), left: Node, requireds: T::Array[Node], right: Node, opening_loc: T.nilable(Location), closing_loc: T.nilable(Location), location: Location).void }
+ def initialize(constant, left, requireds, right, opening_loc, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(FindPatternNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `..` or `...` operators to create flip flops.
+ #
+ # baz if foo .. bar
+ # ^^^^^^^^^^
+ class FlipFlopNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :left
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :right
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Integer) }
+ attr_reader :flags
+
+ sig { params(left: T.nilable(Node), right: T.nilable(Node), operator_loc: Location, flags: Integer, location: Location).void }
+ def initialize(left, right, operator_loc, flags, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(FlipFlopNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { returns(T::Boolean) }
+ def exclude_end?; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a floating point number literal.
+ #
+ # 1.0
+ # ^^^
+ class FloatNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(FloatNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `for` keyword.
+ #
+ # for i in a end
+ # ^^^^^^^^^^^^^^
+ class ForNode < Node
+ sig { returns(Node) }
+ attr_reader :index
+
+ sig { returns(Node) }
+ attr_reader :collection
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(Location) }
+ attr_reader :for_keyword_loc
+
+ sig { returns(Location) }
+ attr_reader :in_keyword_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :do_keyword_loc
+
+ sig { returns(Location) }
+ attr_reader :end_keyword_loc
+
+ sig { params(index: Node, collection: Node, statements: T.nilable(StatementsNode), for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: T.nilable(Location), end_keyword_loc: Location, location: Location).void }
+ def initialize(index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ForNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def for_keyword; end
+
+ sig { returns(String) }
+ def in_keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def do_keyword; end
+
+ sig { returns(String) }
+ def end_keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents forwarding all arguments to this method to another method.
+ #
+ # def foo(...)
+ # bar(...)
+ # ^^^^^^^^
+ # end
+ class ForwardingArgumentsNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ForwardingArgumentsNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the forwarding parameter in a method, block, or lambda declaration.
+ #
+ # def foo(...)
+ # ^^^
+ # end
+ class ForwardingParameterNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ForwardingParameterNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `super` keyword without parentheses or arguments.
+ #
+ # super
+ # ^^^^^
+ class ForwardingSuperNode < Node
+ sig { returns(T.nilable(BlockNode)) }
+ attr_reader :block
+
+ sig { params(block: T.nilable(BlockNode), location: Location).void }
+ def initialize(block, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ForwardingSuperNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `&&=` operator for assignment to a global variable.
+ #
+ # $target &&= value
+ # ^^^^^^^^^^^^^^^^^
+ class GlobalVariableAndWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(name_loc, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(GlobalVariableAndWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents assigning to a global variable using an operator that isn't `=`.
+ #
+ # $target += value
+ # ^^^^^^^^^^^^^^^^
+ class GlobalVariableOperatorWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Symbol) }
+ attr_reader :operator
+
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location).void }
+ def initialize(name_loc, operator_loc, value, operator, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(GlobalVariableOperatorWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `||=` operator for assignment to a global variable.
+ #
+ # $target ||= value
+ # ^^^^^^^^^^^^^^^^^
+ class GlobalVariableOrWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(name_loc, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(GlobalVariableOrWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents referencing a global variable.
+ #
+ # $foo
+ # ^^^^
+ class GlobalVariableReadNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(GlobalVariableReadNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to a global variable in a context that doesn't have an explicit value.
+ #
+ # $foo, $bar = baz
+ # ^^^^ ^^^^
+ class GlobalVariableTargetNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(GlobalVariableTargetNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to a global variable.
+ #
+ # $foo = 1
+ # ^^^^^^^^
+ class GlobalVariableWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(name_loc: Location, value: Node, operator_loc: Location, location: Location).void }
+ def initialize(name_loc, value, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(GlobalVariableWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a hash literal.
+ #
+ # { a => b }
+ # ^^^^^^^^^^
+ class HashNode < Node
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :elements
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { params(opening_loc: Location, elements: T::Array[Node], closing_loc: Location, location: Location).void }
+ def initialize(opening_loc, elements, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(HashNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a hash pattern in pattern matching.
+ #
+ # foo => { a: 1, b: 2 }
+ # ^^^^^^^^^^^^^^
+ #
+ # foo => { a: 1, b: 2, **c }
+ # ^^^^^^^^^^^^^^^^^^^
+ class HashPatternNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :constant
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :assocs
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :kwrest
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { params(constant: T.nilable(Node), assocs: T::Array[Node], kwrest: T.nilable(Node), opening_loc: T.nilable(Location), closing_loc: T.nilable(Location), location: Location).void }
+ def initialize(constant, assocs, kwrest, opening_loc, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(HashPatternNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `if` keyword, either in the block form or the modifier form.
+ #
+ # bar if foo
+ # ^^^^^^^^^^
+ #
+ # if foo then bar end
+ # ^^^^^^^^^^^^^^^^^^^
+ class IfNode < Node
+ sig { returns(T.nilable(Location)) }
+ attr_reader :if_keyword_loc
+
+ sig { returns(Node) }
+ attr_reader :predicate
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :consequent
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :end_keyword_loc
+
+ sig { params(if_keyword_loc: T.nilable(Location), predicate: Node, statements: T.nilable(StatementsNode), consequent: T.nilable(Node), end_keyword_loc: T.nilable(Location), location: Location).void }
+ def initialize(if_keyword_loc, predicate, statements, consequent, end_keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ def set_newline_flag(newline_marked); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(IfNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def if_keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def end_keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an imaginary number literal.
+ #
+ # 1.0i
+ # ^^^^
+ class ImaginaryNode < Node
+ sig { returns(Node) }
+ attr_reader :numeric
+
+ sig { params(numeric: Node, location: Location).void }
+ def initialize(numeric, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ImaginaryNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `in` keyword in a case statement.
+ #
+ # case a; in b then c end
+ # ^^^^^^^^^^^
+ class InNode < Node
+ sig { returns(Node) }
+ attr_reader :pattern
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(Location) }
+ attr_reader :in_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :then_loc
+
+ sig { params(pattern: Node, statements: T.nilable(StatementsNode), in_loc: Location, then_loc: T.nilable(Location), location: Location).void }
+ def initialize(pattern, statements, in_loc, then_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(InNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def in; end
+
+ sig { returns(T.nilable(String)) }
+ def then; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `&&=` operator for assignment to an instance variable.
+ #
+ # @target &&= value
+ # ^^^^^^^^^^^^^^^^^
+ class InstanceVariableAndWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(name, name_loc, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(InstanceVariableAndWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents assigning to an instance variable using an operator that isn't `=`.
+ #
+ # @target += value
+ # ^^^^^^^^^^^^^^^^
+ class InstanceVariableOperatorWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Symbol) }
+ attr_reader :operator
+
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location).void }
+ def initialize(name, name_loc, operator_loc, value, operator, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(InstanceVariableOperatorWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `||=` operator for assignment to an instance variable.
+ #
+ # @target ||= value
+ # ^^^^^^^^^^^^^^^^^
+ class InstanceVariableOrWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(name, name_loc, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(InstanceVariableOrWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents referencing an instance variable.
+ #
+ # @foo
+ # ^^^^
+ class InstanceVariableReadNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { params(name: Symbol, location: Location).void }
+ def initialize(name, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(InstanceVariableReadNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to an instance variable in a context that doesn't have an explicit value.
+ #
+ # @foo, @bar = baz
+ # ^^^^ ^^^^
+ class InstanceVariableTargetNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { params(name: Symbol, location: Location).void }
+ def initialize(name, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(InstanceVariableTargetNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to an instance variable.
+ #
+ # @foo = 1
+ # ^^^^^^^^
+ class InstanceVariableWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location).void }
+ def initialize(name, name_loc, value, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(InstanceVariableWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an integer number literal.
+ #
+ # 1
+ # ^
+ class IntegerNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(IntegerNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a regular expression literal that contains interpolation.
+ #
+ # /foo #{bar} baz/
+ # ^^^^^^^^^^^^^^^^
+ class InterpolatedRegularExpressionNode < Node
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :parts
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { returns(Integer) }
+ attr_reader :flags
+
+ sig { params(opening_loc: Location, parts: T::Array[Node], closing_loc: Location, flags: Integer, location: Location).void }
+ def initialize(opening_loc, parts, closing_loc, flags, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ def set_newline_flag(newline_marked); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(InterpolatedRegularExpressionNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { returns(T::Boolean) }
+ def ignore_case?; end
+
+ sig { returns(T::Boolean) }
+ def multi_line?; end
+
+ sig { returns(T::Boolean) }
+ def extended?; end
+
+ sig { returns(T::Boolean) }
+ def euc_jp?; end
+
+ sig { returns(T::Boolean) }
+ def ascii_8bit?; end
+
+ sig { returns(T::Boolean) }
+ def windows_31j?; end
+
+ sig { returns(T::Boolean) }
+ def utf_8?; end
+
+ sig { returns(T::Boolean) }
+ def once?; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a string literal that contains interpolation.
+ #
+ # "foo #{bar} baz"
+ # ^^^^^^^^^^^^^^^^
+ class InterpolatedStringNode < Node
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :parts
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { params(opening_loc: T.nilable(Location), parts: T::Array[Node], closing_loc: T.nilable(Location), location: Location).void }
+ def initialize(opening_loc, parts, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ def set_newline_flag(newline_marked); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(InterpolatedStringNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a symbol literal that contains interpolation.
+ #
+ # :"foo #{bar} baz"
+ # ^^^^^^^^^^^^^^^^^
+ class InterpolatedSymbolNode < Node
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :parts
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { params(opening_loc: T.nilable(Location), parts: T::Array[Node], closing_loc: T.nilable(Location), location: Location).void }
+ def initialize(opening_loc, parts, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ def set_newline_flag(newline_marked); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(InterpolatedSymbolNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an xstring literal that contains interpolation.
+ #
+ # `foo #{bar} baz`
+ # ^^^^^^^^^^^^^^^^
+ class InterpolatedXStringNode < Node
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :parts
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { params(opening_loc: Location, parts: T::Array[Node], closing_loc: Location, location: Location).void }
+ def initialize(opening_loc, parts, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ def set_newline_flag(newline_marked); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(InterpolatedXStringNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a hash literal without opening and closing braces.
+ #
+ # foo(a: b)
+ # ^^^^
+ class KeywordHashNode < Node
+ sig { returns(T::Array[Node]) }
+ attr_reader :elements
+
+ sig { params(elements: T::Array[Node], location: Location).void }
+ def initialize(elements, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(KeywordHashNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a keyword parameter to a method, block, or lambda definition.
+ #
+ # def a(b:)
+ # ^^
+ # end
+ #
+ # def a(b: 1)
+ # ^^^^
+ # end
+ class KeywordParameterNode < Node
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :value
+
+ sig { params(name_loc: Location, value: T.nilable(Node), location: Location).void }
+ def initialize(name_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(KeywordParameterNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def name; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a keyword rest parameter to a method, block, or lambda definition.
+ #
+ # def a(**b)
+ # ^^^
+ # end
+ class KeywordRestParameterNode < Node
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :name_loc
+
+ sig { params(operator_loc: Location, name_loc: T.nilable(Location), location: Location).void }
+ def initialize(operator_loc, name_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(KeywordRestParameterNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { returns(T.nilable(String)) }
+ def name; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents using a lambda literal (not the lambda method call).
+ #
+ # ->(value) { value * 2 }
+ # ^^^^^^^^^^^^^^^^^^^^^^^
+ class LambdaNode < Node
+ sig { returns(T::Array[Symbol]) }
+ attr_reader :locals
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { returns(T.nilable(BlockParametersNode)) }
+ attr_reader :parameters
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :body
+
+ sig { params(locals: T::Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: T.nilable(BlockParametersNode), body: T.nilable(Node), location: Location).void }
+ def initialize(locals, operator_loc, opening_loc, closing_loc, parameters, body, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(LambdaNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `&&=` operator for assignment to a local variable.
+ #
+ # target &&= value
+ # ^^^^^^^^^^^^^^^^
+ class LocalVariableAndWriteNode < Node
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Integer) }
+ attr_reader :depth
+
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location).void }
+ def initialize(name_loc, operator_loc, value, name, depth, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(LocalVariableAndWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents assigning to a local variable using an operator that isn't `=`.
+ #
+ # target += value
+ # ^^^^^^^^^^^^^^^
+ class LocalVariableOperatorWriteNode < Node
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Symbol) }
+ attr_reader :operator
+
+ sig { returns(Integer) }
+ attr_reader :depth
+
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, name: Symbol, operator: Symbol, depth: Integer, location: Location).void }
+ def initialize(name_loc, operator_loc, value, name, operator, depth, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(LocalVariableOperatorWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `||=` operator for assignment to a local variable.
+ #
+ # target ||= value
+ # ^^^^^^^^^^^^^^^^
+ class LocalVariableOrWriteNode < Node
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Integer) }
+ attr_reader :depth
+
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location).void }
+ def initialize(name_loc, operator_loc, value, name, depth, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(LocalVariableOrWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents reading a local variable. Note that this requires that a local
+ # variable of the same name has already been written to in the same scope,
+ # otherwise it is parsed as a method call.
+ #
+ # foo
+ # ^^^
+ class LocalVariableReadNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Integer) }
+ attr_reader :depth
+
+ sig { params(name: Symbol, depth: Integer, location: Location).void }
+ def initialize(name, depth, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(LocalVariableReadNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to a local variable in a context that doesn't have an explicit value.
+ #
+ # foo, bar = baz
+ # ^^^ ^^^
+ class LocalVariableTargetNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Integer) }
+ attr_reader :depth
+
+ sig { params(name: Symbol, depth: Integer, location: Location).void }
+ def initialize(name, depth, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(LocalVariableTargetNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents writing to a local variable.
+ #
+ # foo = 1
+ # ^^^^^^^
+ class LocalVariableWriteNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Integer) }
+ attr_reader :depth
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(name: Symbol, depth: Integer, name_loc: Location, value: Node, operator_loc: Location, location: Location).void }
+ def initialize(name, depth, name_loc, value, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(LocalVariableWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the modifier `in` operator.
+ #
+ # foo in bar
+ # ^^^^^^^^^^
+ class MatchPredicateNode < Node
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Node) }
+ attr_reader :pattern
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(value: Node, pattern: Node, operator_loc: Location, location: Location).void }
+ def initialize(value, pattern, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(MatchPredicateNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `=>` operator.
+ #
+ # foo => bar
+ # ^^^^^^^^^^
+ class MatchRequiredNode < Node
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { returns(Node) }
+ attr_reader :pattern
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(value: Node, pattern: Node, operator_loc: Location, location: Location).void }
+ def initialize(value, pattern, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(MatchRequiredNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a node that is missing from the source and results in a syntax
+ # error.
+ class MissingNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(MissingNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a module declaration involving the `module` keyword.
+ #
+ # module Foo end
+ # ^^^^^^^^^^^^^^
+ class ModuleNode < Node
+ sig { returns(T::Array[Symbol]) }
+ attr_reader :locals
+
+ sig { returns(Location) }
+ attr_reader :module_keyword_loc
+
+ sig { returns(Node) }
+ attr_reader :constant_path
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :body
+
+ sig { returns(Location) }
+ attr_reader :end_keyword_loc
+
+ sig { returns(String) }
+ attr_reader :name
+
+ sig { params(locals: T::Array[Symbol], module_keyword_loc: Location, constant_path: Node, body: T.nilable(Node), end_keyword_loc: Location, name: String, location: Location).void }
+ def initialize(locals, module_keyword_loc, constant_path, body, end_keyword_loc, name, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ModuleNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def module_keyword; end
+
+ sig { returns(String) }
+ def end_keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a multi-target expression.
+ #
+ # a, b, c = 1, 2, 3
+ # ^^^^^^^^^^^^^^^^^
+ class MultiWriteNode < Node
+ sig { returns(T::Array[Node]) }
+ attr_reader :targets
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :operator_loc
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :value
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :lparen_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :rparen_loc
+
+ sig { params(targets: T::Array[Node], operator_loc: T.nilable(Location), value: T.nilable(Node), lparen_loc: T.nilable(Location), rparen_loc: T.nilable(Location), location: Location).void }
+ def initialize(targets, operator_loc, value, lparen_loc, rparen_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(MultiWriteNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def operator; end
+
+ sig { returns(T.nilable(String)) }
+ def lparen; end
+
+ sig { returns(T.nilable(String)) }
+ def rparen; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `next` keyword.
+ #
+ # next 1
+ # ^^^^^^
+ class NextNode < Node
+ sig { returns(T.nilable(ArgumentsNode)) }
+ attr_reader :arguments
+
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { params(arguments: T.nilable(ArgumentsNode), keyword_loc: Location, location: Location).void }
+ def initialize(arguments, keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(NextNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `nil` keyword.
+ #
+ # nil
+ # ^^^
+ class NilNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(NilNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of `**nil` inside method arguments.
+ #
+ # def a(**nil)
+ # ^^^^^
+ # end
+ class NoKeywordsParameterNode < Node
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { params(operator_loc: Location, keyword_loc: Location, location: Location).void }
+ def initialize(operator_loc, keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(NoKeywordsParameterNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents reading a numbered reference to a capture in the previous match.
+ #
+ # $1
+ # ^^
+ class NumberedReferenceReadNode < Node
+ sig { returns(Integer) }
+ attr_reader :number
+
+ sig { params(number: Integer, location: Location).void }
+ def initialize(number, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(NumberedReferenceReadNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an optional parameter to a method, block, or lambda definition.
+ #
+ # def a(b = 1)
+ # ^^^^^
+ # end
+ class OptionalParameterNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { returns(Location) }
+ attr_reader :name_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :value
+
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location).void }
+ def initialize(name, name_loc, operator_loc, value, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(OptionalParameterNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `||` operator or the `or` keyword.
+ #
+ # left or right
+ # ^^^^^^^^^^^^^
+ class OrNode < Node
+ sig { returns(Node) }
+ attr_reader :left
+
+ sig { returns(Node) }
+ attr_reader :right
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(left: Node, right: Node, operator_loc: Location, location: Location).void }
+ def initialize(left, right, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(OrNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the list of parameters on a method, block, or lambda definition.
+ #
+ # def a(b, c, d)
+ # ^^^^^^^
+ # end
+ class ParametersNode < Node
+ sig { returns(T::Array[Node]) }
+ attr_reader :requireds
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :optionals
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :posts
+
+ sig { returns(T.nilable(RestParameterNode)) }
+ attr_reader :rest
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :keywords
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :keyword_rest
+
+ sig { returns(T.nilable(BlockParameterNode)) }
+ attr_reader :block
+
+ sig { params(requireds: T::Array[Node], optionals: T::Array[Node], posts: T::Array[Node], rest: T.nilable(RestParameterNode), keywords: T::Array[Node], keyword_rest: T.nilable(Node), block: T.nilable(BlockParameterNode), location: Location).void }
+ def initialize(requireds, optionals, posts, rest, keywords, keyword_rest, block, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ParametersNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a parenthesized expression
+ #
+ # (10 + 34)
+ # ^^^^^^^^^
+ class ParenthesesNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :body
+
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { params(body: T.nilable(Node), opening_loc: Location, closing_loc: Location, location: Location).void }
+ def initialize(body, opening_loc, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ def set_newline_flag(newline_marked); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ParenthesesNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `^` operator for pinning an expression in a
+ # pattern matching expression.
+ #
+ # foo in ^(bar)
+ # ^^^^^^
+ class PinnedExpressionNode < Node
+ sig { returns(Node) }
+ attr_reader :expression
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Location) }
+ attr_reader :lparen_loc
+
+ sig { returns(Location) }
+ attr_reader :rparen_loc
+
+ sig { params(expression: Node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location, location: Location).void }
+ def initialize(expression, operator_loc, lparen_loc, rparen_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(PinnedExpressionNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { returns(String) }
+ def lparen; end
+
+ sig { returns(String) }
+ def rparen; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `^` operator for pinning a variable in a pattern
+ # matching expression.
+ #
+ # foo in ^bar
+ # ^^^^
+ class PinnedVariableNode < Node
+ sig { returns(Node) }
+ attr_reader :variable
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { params(variable: Node, operator_loc: Location, location: Location).void }
+ def initialize(variable, operator_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(PinnedVariableNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `END` keyword.
+ #
+ # END { foo }
+ # ^^^^^^^^^^^
+ class PostExecutionNode < Node
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { params(statements: T.nilable(StatementsNode), keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location).void }
+ def initialize(statements, keyword_loc, opening_loc, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(PostExecutionNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `BEGIN` keyword.
+ #
+ # BEGIN { foo }
+ # ^^^^^^^^^^^^^
+ class PreExecutionNode < Node
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { params(statements: T.nilable(StatementsNode), keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location).void }
+ def initialize(statements, keyword_loc, opening_loc, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(PreExecutionNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # The top level node of any parse tree.
+ class ProgramNode < Node
+ sig { returns(T::Array[Symbol]) }
+ attr_reader :locals
+
+ sig { returns(StatementsNode) }
+ attr_reader :statements
+
+ sig { params(locals: T::Array[Symbol], statements: StatementsNode, location: Location).void }
+ def initialize(locals, statements, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ProgramNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `..` or `...` operators.
+ #
+ # 1..2
+ # ^^^^
+ #
+ # c if a =~ /left/ ... b =~ /right/
+ # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ class RangeNode < Node
+ sig { returns(T.nilable(Node)) }
+ attr_reader :left
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :right
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Integer) }
+ attr_reader :flags
+
+ sig { params(left: T.nilable(Node), right: T.nilable(Node), operator_loc: Location, flags: Integer, location: Location).void }
+ def initialize(left, right, operator_loc, flags, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(RangeNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { returns(T::Boolean) }
+ def exclude_end?; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a rational number literal.
+ #
+ # 1.0r
+ # ^^^^
+ class RationalNode < Node
+ sig { returns(Node) }
+ attr_reader :numeric
+
+ sig { params(numeric: Node, location: Location).void }
+ def initialize(numeric, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(RationalNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `redo` keyword.
+ #
+ # redo
+ # ^^^^
+ class RedoNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(RedoNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a regular expression literal with no interpolation.
+ #
+ # /foo/i
+ # ^^^^^^
+ class RegularExpressionNode < Node
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(Location) }
+ attr_reader :content_loc
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { returns(String) }
+ attr_reader :unescaped
+
+ sig { returns(Integer) }
+ attr_reader :flags
+
+ sig { params(opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, flags: Integer, location: Location).void }
+ def initialize(opening_loc, content_loc, closing_loc, unescaped, flags, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(RegularExpressionNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def content; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { returns(T::Boolean) }
+ def ignore_case?; end
+
+ sig { returns(T::Boolean) }
+ def multi_line?; end
+
+ sig { returns(T::Boolean) }
+ def extended?; end
+
+ sig { returns(T::Boolean) }
+ def euc_jp?; end
+
+ sig { returns(T::Boolean) }
+ def ascii_8bit?; end
+
+ sig { returns(T::Boolean) }
+ def windows_31j?; end
+
+ sig { returns(T::Boolean) }
+ def utf_8?; end
+
+ sig { returns(T::Boolean) }
+ def once?; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a destructured required parameter node.
+ #
+ # def foo((bar, baz))
+ # ^^^^^^^^^^
+ # end
+ class RequiredDestructuredParameterNode < Node
+ sig { returns(T::Array[Node]) }
+ attr_reader :parameters
+
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { params(parameters: T::Array[Node], opening_loc: Location, closing_loc: Location, location: Location).void }
+ def initialize(parameters, opening_loc, closing_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(RequiredDestructuredParameterNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a required parameter to a method, block, or lambda definition.
+ #
+ # def a(b)
+ # ^
+ # end
+ class RequiredParameterNode < Node
+ sig { returns(Symbol) }
+ attr_reader :name
+
+ sig { params(name: Symbol, location: Location).void }
+ def initialize(name, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(RequiredParameterNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an expression modified with a rescue.
+ #
+ # foo rescue nil
+ # ^^^^^^^^^^^^^^
+ class RescueModifierNode < Node
+ sig { returns(Node) }
+ attr_reader :expression
+
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { returns(Node) }
+ attr_reader :rescue_expression
+
+ sig { params(expression: Node, keyword_loc: Location, rescue_expression: Node, location: Location).void }
+ def initialize(expression, keyword_loc, rescue_expression, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ def set_newline_flag(newline_marked); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(RescueModifierNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a rescue statement.
+ #
+ # begin
+ # rescue Foo, *splat, Bar => ex
+ # ^^^^^^
+ # foo
+ # end
+ #
+ # `Foo, *splat, Bar` are in the `exceptions` field.
+ # `ex` is in the `exception` field.
+ class RescueNode < Node
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :exceptions
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :operator_loc
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :reference
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(T.nilable(RescueNode)) }
+ attr_reader :consequent
+
+ sig { params(keyword_loc: Location, exceptions: T::Array[Node], operator_loc: T.nilable(Location), reference: T.nilable(Node), statements: T.nilable(StatementsNode), consequent: T.nilable(RescueNode), location: Location).void }
+ def initialize(keyword_loc, exceptions, operator_loc, reference, statements, consequent, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(RescueNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a rest parameter to a method, block, or lambda definition.
+ #
+ # def a(*b)
+ # ^^
+ # end
+ class RestParameterNode < Node
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :name_loc
+
+ sig { params(operator_loc: Location, name_loc: T.nilable(Location), location: Location).void }
+ def initialize(operator_loc, name_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(RestParameterNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { returns(T.nilable(String)) }
+ def name; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `retry` keyword.
+ #
+ # retry
+ # ^^^^^
+ class RetryNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(RetryNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `return` keyword.
+ #
+ # return 1
+ # ^^^^^^^^
+ class ReturnNode < Node
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { returns(T.nilable(ArgumentsNode)) }
+ attr_reader :arguments
+
+ sig { params(keyword_loc: Location, arguments: T.nilable(ArgumentsNode), location: Location).void }
+ def initialize(keyword_loc, arguments, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(ReturnNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the `self` keyword.
+ #
+ # self
+ # ^^^^
+ class SelfNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(SelfNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a singleton class declaration involving the `class` keyword.
+ #
+ # class << self end
+ # ^^^^^^^^^^^^^^^^^
+ class SingletonClassNode < Node
+ sig { returns(T::Array[Symbol]) }
+ attr_reader :locals
+
+ sig { returns(Location) }
+ attr_reader :class_keyword_loc
+
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(Node) }
+ attr_reader :expression
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :body
+
+ sig { returns(Location) }
+ attr_reader :end_keyword_loc
+
+ sig { params(locals: T::Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Node, body: T.nilable(Node), end_keyword_loc: Location, location: Location).void }
+ def initialize(locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(SingletonClassNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def class_keyword; end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { returns(String) }
+ def end_keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `__ENCODING__` keyword.
+ #
+ # __ENCODING__
+ # ^^^^^^^^^^^^
+ class SourceEncodingNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(SourceEncodingNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `__FILE__` keyword.
+ #
+ # __FILE__
+ # ^^^^^^^^
+ class SourceFileNode < Node
+ sig { returns(String) }
+ attr_reader :filepath
+
+ sig { params(filepath: String, location: Location).void }
+ def initialize(filepath, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(SourceFileNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `__LINE__` keyword.
+ #
+ # __LINE__
+ # ^^^^^^^^
+ class SourceLineNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(SourceLineNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the splat operator.
+ #
+ # [*a]
+ # ^^
+ class SplatNode < Node
+ sig { returns(Location) }
+ attr_reader :operator_loc
+
+ sig { returns(T.nilable(Node)) }
+ attr_reader :expression
+
+ sig { params(operator_loc: Location, expression: T.nilable(Node), location: Location).void }
+ def initialize(operator_loc, expression, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(SplatNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def operator; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a set of statements contained within some scope.
+ #
+ # foo; bar; baz
+ # ^^^^^^^^^^^^^
+ class StatementsNode < Node
+ sig { returns(T::Array[Node]) }
+ attr_reader :body
+
+ sig { params(body: T::Array[Node], location: Location).void }
+ def initialize(body, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(StatementsNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of compile-time string concatenation.
+ #
+ # "foo" "bar"
+ # ^^^^^^^^^^^
+ class StringConcatNode < Node
+ sig { returns(Node) }
+ attr_reader :left
+
+ sig { returns(Node) }
+ attr_reader :right
+
+ sig { params(left: Node, right: Node, location: Location).void }
+ def initialize(left, right, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(StringConcatNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a string literal, a string contained within a `%w` list, or
+ # plain string content within an interpolated string.
+ #
+ # "foo"
+ # ^^^^^
+ #
+ # %w[foo]
+ # ^^^
+ #
+ # "foo #{bar} baz"
+ # ^^^^ ^^^^
+ class StringNode < Node
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(Location) }
+ attr_reader :content_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { returns(String) }
+ attr_reader :unescaped
+
+ sig { params(opening_loc: T.nilable(Location), content_loc: Location, closing_loc: T.nilable(Location), unescaped: String, location: Location).void }
+ def initialize(opening_loc, content_loc, closing_loc, unescaped, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(StringNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(String) }
+ def content; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `super` keyword with parentheses or arguments.
+ #
+ # super()
+ # ^^^^^^^
+ #
+ # super foo, bar
+ # ^^^^^^^^^^^^^^
+ class SuperNode < Node
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :lparen_loc
+
+ sig { returns(T.nilable(ArgumentsNode)) }
+ attr_reader :arguments
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :rparen_loc
+
+ sig { returns(T.nilable(BlockNode)) }
+ attr_reader :block
+
+ sig { params(keyword_loc: Location, lparen_loc: T.nilable(Location), arguments: T.nilable(ArgumentsNode), rparen_loc: T.nilable(Location), block: T.nilable(BlockNode), location: Location).void }
+ def initialize(keyword_loc, lparen_loc, arguments, rparen_loc, block, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(SuperNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def lparen; end
+
+ sig { returns(T.nilable(String)) }
+ def rparen; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents a symbol literal or a symbol contained within a `%i` list.
+ #
+ # :foo
+ # ^^^^
+ #
+ # %i[foo]
+ # ^^^
+ class SymbolNode < Node
+ sig { returns(T.nilable(Location)) }
+ attr_reader :opening_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :value_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { returns(String) }
+ attr_reader :unescaped
+
+ sig { params(opening_loc: T.nilable(Location), value_loc: T.nilable(Location), closing_loc: T.nilable(Location), unescaped: String, location: Location).void }
+ def initialize(opening_loc, value_loc, closing_loc, unescaped, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(SymbolNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ sig { returns(T.nilable(String)) }
+ def value; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the literal `true` keyword.
+ #
+ # true
+ # ^^^^
+ class TrueNode < Node
+ sig { params(location: Location).void }
+ def initialize(location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(TrueNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `undef` keyword.
+ #
+ # undef :foo, :bar, :baz
+ # ^^^^^^^^^^^^^^^^^^^^^^
+ class UndefNode < Node
+ sig { returns(T::Array[Node]) }
+ attr_reader :names
+
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { params(names: T::Array[Node], keyword_loc: Location, location: Location).void }
+ def initialize(names, keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(UndefNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `unless` keyword, either in the block form or the modifier form.
+ #
+ # bar unless foo
+ # ^^^^^^^^^^^^^^
+ #
+ # unless foo then bar end
+ # ^^^^^^^^^^^^^^^^^^^^^^^
+ class UnlessNode < Node
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { returns(Node) }
+ attr_reader :predicate
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(T.nilable(ElseNode)) }
+ attr_reader :consequent
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :end_keyword_loc
+
+ sig { params(keyword_loc: Location, predicate: Node, statements: T.nilable(StatementsNode), consequent: T.nilable(ElseNode), end_keyword_loc: T.nilable(Location), location: Location).void }
+ def initialize(keyword_loc, predicate, statements, consequent, end_keyword_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ def set_newline_flag(newline_marked); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(UnlessNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def end_keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `until` keyword, either in the block form or the modifier form.
+ #
+ # bar until foo
+ # ^^^^^^^^^^^^^
+ #
+ # until foo do bar end
+ # ^^^^^^^^^^^^^^^^^^^^
+ class UntilNode < Node
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { returns(Node) }
+ attr_reader :predicate
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(Integer) }
+ attr_reader :flags
+
+ sig { params(keyword_loc: Location, closing_loc: T.nilable(Location), predicate: Node, statements: T.nilable(StatementsNode), flags: Integer, location: Location).void }
+ def initialize(keyword_loc, closing_loc, predicate, statements, flags, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ def set_newline_flag(newline_marked); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(UntilNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { returns(T::Boolean) }
+ def begin_modifier?; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `when` keyword within a case statement.
+ #
+ # case true
+ # when true
+ # ^^^^^^^^^
+ # end
+ class WhenNode < Node
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { returns(T::Array[Node]) }
+ attr_reader :conditions
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { params(keyword_loc: Location, conditions: T::Array[Node], statements: T.nilable(StatementsNode), location: Location).void }
+ def initialize(keyword_loc, conditions, statements, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(WhenNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `while` keyword, either in the block form or the modifier form.
+ #
+ # bar while foo
+ # ^^^^^^^^^^^^^
+ #
+ # while foo do bar end
+ # ^^^^^^^^^^^^^^^^^^^^
+ class WhileNode < Node
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :closing_loc
+
+ sig { returns(Node) }
+ attr_reader :predicate
+
+ sig { returns(T.nilable(StatementsNode)) }
+ attr_reader :statements
+
+ sig { returns(Integer) }
+ attr_reader :flags
+
+ sig { params(keyword_loc: Location, closing_loc: T.nilable(Location), predicate: Node, statements: T.nilable(StatementsNode), flags: Integer, location: Location).void }
+ def initialize(keyword_loc, closing_loc, predicate, statements, flags, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ def set_newline_flag(newline_marked); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(WhileNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ sig { returns(T::Boolean) }
+ def begin_modifier?; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents an xstring literal with no interpolation.
+ #
+ # `foo`
+ # ^^^^^
+ class XStringNode < Node
+ sig { returns(Location) }
+ attr_reader :opening_loc
+
+ sig { returns(Location) }
+ attr_reader :content_loc
+
+ sig { returns(Location) }
+ attr_reader :closing_loc
+
+ sig { returns(String) }
+ attr_reader :unescaped
+
+ sig { params(opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location).void }
+ def initialize(opening_loc, content_loc, closing_loc, unescaped, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(XStringNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def opening; end
+
+ sig { returns(String) }
+ def content; end
+
+ sig { returns(String) }
+ def closing; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ # Represents the use of the `yield` keyword.
+ #
+ # yield 1
+ # ^^^^^^^
+ class YieldNode < Node
+ sig { returns(Location) }
+ attr_reader :keyword_loc
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :lparen_loc
+
+ sig { returns(T.nilable(ArgumentsNode)) }
+ attr_reader :arguments
+
+ sig { returns(T.nilable(Location)) }
+ attr_reader :rparen_loc
+
+ sig { params(keyword_loc: Location, lparen_loc: T.nilable(Location), arguments: T.nilable(ArgumentsNode), rparen_loc: T.nilable(Location), location: Location).void }
+ def initialize(keyword_loc, lparen_loc, arguments, rparen_loc, location); end
+
+ sig { params(visitor: Visitor).void }
+ def accept(visitor); end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def child_nodes; end
+
+ sig { returns(T::Array[T.nilable(Node)]) }
+ def deconstruct; end
+
+ sig { params(params: T.untyped).returns(YieldNode) }
+ def copy(**params); end
+
+ sig { params(keys: T::Array[Symbol]).returns(T::Hash[Symbol, T.nilable(T.any(Node, T::Array[Node], String, Token, T::Array[Token], Location))]) }
+ def deconstruct_keys(keys); end
+
+ sig { returns(String) }
+ def keyword; end
+
+ sig { returns(T.nilable(String)) }
+ def lparen; end
+
+ sig { returns(T.nilable(String)) }
+ def rparen; end
+
+ sig { params(inspector: NodeInspector).returns(String) }
+ def inspect(inspector); end
+ end
+
+ module CallNodeFlags
+ # &. operator
+ SAFE_NAVIGATION = 1 << 0
+
+ # a call that could have been a local variable
+ VARIABLE_CALL = 1 << 1
+ end
+
+ module LoopFlags
+ # a loop after a begin statement, so the body is executed first before the condition
+ BEGIN_MODIFIER = 1 << 0
+ end
+
+ module RangeFlags
+ # ... operator
+ EXCLUDE_END = 1 << 0
+ end
+
+ module RegularExpressionFlags
+ # i - ignores the case of characters when matching
+ IGNORE_CASE = 1 << 0
+
+ # m - allows $ to match the end of lines within strings
+ MULTI_LINE = 1 << 1
+
+ # x - ignores whitespace and allows comments in regular expressions
+ EXTENDED = 1 << 2
+
+ # e - forces the EUC-JP encoding
+ EUC_JP = 1 << 3
+
+ # n - forces the ASCII-8BIT encoding
+ ASCII_8BIT = 1 << 4
+
+ # s - forces the Windows-31J encoding
+ WINDOWS_31J = 1 << 5
+
+ # u - forces the UTF-8 encoding
+ UTF_8 = 1 << 6
+
+ # o - only interpolates values into the regular expression once
+ ONCE = 1 << 7
+ end
+
+ class Visitor < BasicVisitor
+ # Visit a AliasNode node
+ sig { params(node: AliasNode).void }
+ def visit_alias_node(node); end
+
+ # Visit a AlternationPatternNode node
+ sig { params(node: AlternationPatternNode).void }
+ def visit_alternation_pattern_node(node); end
+
+ # Visit a AndNode node
+ sig { params(node: AndNode).void }
+ def visit_and_node(node); end
+
+ # Visit a ArgumentsNode node
+ sig { params(node: ArgumentsNode).void }
+ def visit_arguments_node(node); end
+
+ # Visit a ArrayNode node
+ sig { params(node: ArrayNode).void }
+ def visit_array_node(node); end
+
+ # Visit a ArrayPatternNode node
+ sig { params(node: ArrayPatternNode).void }
+ def visit_array_pattern_node(node); end
+
+ # Visit a AssocNode node
+ sig { params(node: AssocNode).void }
+ def visit_assoc_node(node); end
+
+ # Visit a AssocSplatNode node
+ sig { params(node: AssocSplatNode).void }
+ def visit_assoc_splat_node(node); end
+
+ # Visit a BackReferenceReadNode node
+ sig { params(node: BackReferenceReadNode).void }
+ def visit_back_reference_read_node(node); end
+
+ # Visit a BeginNode node
+ sig { params(node: BeginNode).void }
+ def visit_begin_node(node); end
+
+ # Visit a BlockArgumentNode node
+ sig { params(node: BlockArgumentNode).void }
+ def visit_block_argument_node(node); end
+
+ # Visit a BlockLocalVariableNode node
+ sig { params(node: BlockLocalVariableNode).void }
+ def visit_block_local_variable_node(node); end
+
+ # Visit a BlockNode node
+ sig { params(node: BlockNode).void }
+ def visit_block_node(node); end
+
+ # Visit a BlockParameterNode node
+ sig { params(node: BlockParameterNode).void }
+ def visit_block_parameter_node(node); end
+
+ # Visit a BlockParametersNode node
+ sig { params(node: BlockParametersNode).void }
+ def visit_block_parameters_node(node); end
+
+ # Visit a BreakNode node
+ sig { params(node: BreakNode).void }
+ def visit_break_node(node); end
+
+ # Visit a CallAndWriteNode node
+ sig { params(node: CallAndWriteNode).void }
+ def visit_call_and_write_node(node); end
+
+ # Visit a CallNode node
+ sig { params(node: CallNode).void }
+ def visit_call_node(node); end
+
+ # Visit a CallOperatorWriteNode node
+ sig { params(node: CallOperatorWriteNode).void }
+ def visit_call_operator_write_node(node); end
+
+ # Visit a CallOrWriteNode node
+ sig { params(node: CallOrWriteNode).void }
+ def visit_call_or_write_node(node); end
+
+ # Visit a CapturePatternNode node
+ sig { params(node: CapturePatternNode).void }
+ def visit_capture_pattern_node(node); end
+
+ # Visit a CaseNode node
+ sig { params(node: CaseNode).void }
+ def visit_case_node(node); end
+
+ # Visit a ClassNode node
+ sig { params(node: ClassNode).void }
+ def visit_class_node(node); end
+
+ # Visit a ClassVariableAndWriteNode node
+ sig { params(node: ClassVariableAndWriteNode).void }
+ def visit_class_variable_and_write_node(node); end
+
+ # Visit a ClassVariableOperatorWriteNode node
+ sig { params(node: ClassVariableOperatorWriteNode).void }
+ def visit_class_variable_operator_write_node(node); end
+
+ # Visit a ClassVariableOrWriteNode node
+ sig { params(node: ClassVariableOrWriteNode).void }
+ def visit_class_variable_or_write_node(node); end
+
+ # Visit a ClassVariableReadNode node
+ sig { params(node: ClassVariableReadNode).void }
+ def visit_class_variable_read_node(node); end
+
+ # Visit a ClassVariableTargetNode node
+ sig { params(node: ClassVariableTargetNode).void }
+ def visit_class_variable_target_node(node); end
+
+ # Visit a ClassVariableWriteNode node
+ sig { params(node: ClassVariableWriteNode).void }
+ def visit_class_variable_write_node(node); end
+
+ # Visit a ConstantAndWriteNode node
+ sig { params(node: ConstantAndWriteNode).void }
+ def visit_constant_and_write_node(node); end
+
+ # Visit a ConstantOperatorWriteNode node
+ sig { params(node: ConstantOperatorWriteNode).void }
+ def visit_constant_operator_write_node(node); end
+
+ # Visit a ConstantOrWriteNode node
+ sig { params(node: ConstantOrWriteNode).void }
+ def visit_constant_or_write_node(node); end
+
+ # Visit a ConstantPathAndWriteNode node
+ sig { params(node: ConstantPathAndWriteNode).void }
+ def visit_constant_path_and_write_node(node); end
+
+ # Visit a ConstantPathNode node
+ sig { params(node: ConstantPathNode).void }
+ def visit_constant_path_node(node); end
+
+ # Visit a ConstantPathOperatorWriteNode node
+ sig { params(node: ConstantPathOperatorWriteNode).void }
+ def visit_constant_path_operator_write_node(node); end
+
+ # Visit a ConstantPathOrWriteNode node
+ sig { params(node: ConstantPathOrWriteNode).void }
+ def visit_constant_path_or_write_node(node); end
+
+ # Visit a ConstantPathTargetNode node
+ sig { params(node: ConstantPathTargetNode).void }
+ def visit_constant_path_target_node(node); end
+
+ # Visit a ConstantPathWriteNode node
+ sig { params(node: ConstantPathWriteNode).void }
+ def visit_constant_path_write_node(node); end
+
+ # Visit a ConstantReadNode node
+ sig { params(node: ConstantReadNode).void }
+ def visit_constant_read_node(node); end
+
+ # Visit a ConstantTargetNode node
+ sig { params(node: ConstantTargetNode).void }
+ def visit_constant_target_node(node); end
+
+ # Visit a ConstantWriteNode node
+ sig { params(node: ConstantWriteNode).void }
+ def visit_constant_write_node(node); end
+
+ # Visit a DefNode node
+ sig { params(node: DefNode).void }
+ def visit_def_node(node); end
+
+ # Visit a DefinedNode node
+ sig { params(node: DefinedNode).void }
+ def visit_defined_node(node); end
+
+ # Visit a ElseNode node
+ sig { params(node: ElseNode).void }
+ def visit_else_node(node); end
+
+ # Visit a EmbeddedStatementsNode node
+ sig { params(node: EmbeddedStatementsNode).void }
+ def visit_embedded_statements_node(node); end
+
+ # Visit a EmbeddedVariableNode node
+ sig { params(node: EmbeddedVariableNode).void }
+ def visit_embedded_variable_node(node); end
+
+ # Visit a EnsureNode node
+ sig { params(node: EnsureNode).void }
+ def visit_ensure_node(node); end
+
+ # Visit a FalseNode node
+ sig { params(node: FalseNode).void }
+ def visit_false_node(node); end
+
+ # Visit a FindPatternNode node
+ sig { params(node: FindPatternNode).void }
+ def visit_find_pattern_node(node); end
+
+ # Visit a FlipFlopNode node
+ sig { params(node: FlipFlopNode).void }
+ def visit_flip_flop_node(node); end
+
+ # Visit a FloatNode node
+ sig { params(node: FloatNode).void }
+ def visit_float_node(node); end
+
+ # Visit a ForNode node
+ sig { params(node: ForNode).void }
+ def visit_for_node(node); end
+
+ # Visit a ForwardingArgumentsNode node
+ sig { params(node: ForwardingArgumentsNode).void }
+ def visit_forwarding_arguments_node(node); end
+
+ # Visit a ForwardingParameterNode node
+ sig { params(node: ForwardingParameterNode).void }
+ def visit_forwarding_parameter_node(node); end
+
+ # Visit a ForwardingSuperNode node
+ sig { params(node: ForwardingSuperNode).void }
+ def visit_forwarding_super_node(node); end
+
+ # Visit a GlobalVariableAndWriteNode node
+ sig { params(node: GlobalVariableAndWriteNode).void }
+ def visit_global_variable_and_write_node(node); end
+
+ # Visit a GlobalVariableOperatorWriteNode node
+ sig { params(node: GlobalVariableOperatorWriteNode).void }
+ def visit_global_variable_operator_write_node(node); end
+
+ # Visit a GlobalVariableOrWriteNode node
+ sig { params(node: GlobalVariableOrWriteNode).void }
+ def visit_global_variable_or_write_node(node); end
+
+ # Visit a GlobalVariableReadNode node
+ sig { params(node: GlobalVariableReadNode).void }
+ def visit_global_variable_read_node(node); end
+
+ # Visit a GlobalVariableTargetNode node
+ sig { params(node: GlobalVariableTargetNode).void }
+ def visit_global_variable_target_node(node); end
+
+ # Visit a GlobalVariableWriteNode node
+ sig { params(node: GlobalVariableWriteNode).void }
+ def visit_global_variable_write_node(node); end
+
+ # Visit a HashNode node
+ sig { params(node: HashNode).void }
+ def visit_hash_node(node); end
+
+ # Visit a HashPatternNode node
+ sig { params(node: HashPatternNode).void }
+ def visit_hash_pattern_node(node); end
+
+ # Visit a IfNode node
+ sig { params(node: IfNode).void }
+ def visit_if_node(node); end
+
+ # Visit a ImaginaryNode node
+ sig { params(node: ImaginaryNode).void }
+ def visit_imaginary_node(node); end
+
+ # Visit a InNode node
+ sig { params(node: InNode).void }
+ def visit_in_node(node); end
+
+ # Visit a InstanceVariableAndWriteNode node
+ sig { params(node: InstanceVariableAndWriteNode).void }
+ def visit_instance_variable_and_write_node(node); end
+
+ # Visit a InstanceVariableOperatorWriteNode node
+ sig { params(node: InstanceVariableOperatorWriteNode).void }
+ def visit_instance_variable_operator_write_node(node); end
+
+ # Visit a InstanceVariableOrWriteNode node
+ sig { params(node: InstanceVariableOrWriteNode).void }
+ def visit_instance_variable_or_write_node(node); end
+
+ # Visit a InstanceVariableReadNode node
+ sig { params(node: InstanceVariableReadNode).void }
+ def visit_instance_variable_read_node(node); end
+
+ # Visit a InstanceVariableTargetNode node
+ sig { params(node: InstanceVariableTargetNode).void }
+ def visit_instance_variable_target_node(node); end
+
+ # Visit a InstanceVariableWriteNode node
+ sig { params(node: InstanceVariableWriteNode).void }
+ def visit_instance_variable_write_node(node); end
+
+ # Visit a IntegerNode node
+ sig { params(node: IntegerNode).void }
+ def visit_integer_node(node); end
+
+ # Visit a InterpolatedRegularExpressionNode node
+ sig { params(node: InterpolatedRegularExpressionNode).void }
+ def visit_interpolated_regular_expression_node(node); end
+
+ # Visit a InterpolatedStringNode node
+ sig { params(node: InterpolatedStringNode).void }
+ def visit_interpolated_string_node(node); end
+
+ # Visit a InterpolatedSymbolNode node
+ sig { params(node: InterpolatedSymbolNode).void }
+ def visit_interpolated_symbol_node(node); end
+
+ # Visit a InterpolatedXStringNode node
+ sig { params(node: InterpolatedXStringNode).void }
+ def visit_interpolated_x_string_node(node); end
+
+ # Visit a KeywordHashNode node
+ sig { params(node: KeywordHashNode).void }
+ def visit_keyword_hash_node(node); end
+
+ # Visit a KeywordParameterNode node
+ sig { params(node: KeywordParameterNode).void }
+ def visit_keyword_parameter_node(node); end
+
+ # Visit a KeywordRestParameterNode node
+ sig { params(node: KeywordRestParameterNode).void }
+ def visit_keyword_rest_parameter_node(node); end
+
+ # Visit a LambdaNode node
+ sig { params(node: LambdaNode).void }
+ def visit_lambda_node(node); end
+
+ # Visit a LocalVariableAndWriteNode node
+ sig { params(node: LocalVariableAndWriteNode).void }
+ def visit_local_variable_and_write_node(node); end
+
+ # Visit a LocalVariableOperatorWriteNode node
+ sig { params(node: LocalVariableOperatorWriteNode).void }
+ def visit_local_variable_operator_write_node(node); end
+
+ # Visit a LocalVariableOrWriteNode node
+ sig { params(node: LocalVariableOrWriteNode).void }
+ def visit_local_variable_or_write_node(node); end
+
+ # Visit a LocalVariableReadNode node
+ sig { params(node: LocalVariableReadNode).void }
+ def visit_local_variable_read_node(node); end
+
+ # Visit a LocalVariableTargetNode node
+ sig { params(node: LocalVariableTargetNode).void }
+ def visit_local_variable_target_node(node); end
+
+ # Visit a LocalVariableWriteNode node
+ sig { params(node: LocalVariableWriteNode).void }
+ def visit_local_variable_write_node(node); end
+
+ # Visit a MatchPredicateNode node
+ sig { params(node: MatchPredicateNode).void }
+ def visit_match_predicate_node(node); end
+
+ # Visit a MatchRequiredNode node
+ sig { params(node: MatchRequiredNode).void }
+ def visit_match_required_node(node); end
+
+ # Visit a MissingNode node
+ sig { params(node: MissingNode).void }
+ def visit_missing_node(node); end
+
+ # Visit a ModuleNode node
+ sig { params(node: ModuleNode).void }
+ def visit_module_node(node); end
+
+ # Visit a MultiWriteNode node
+ sig { params(node: MultiWriteNode).void }
+ def visit_multi_write_node(node); end
+
+ # Visit a NextNode node
+ sig { params(node: NextNode).void }
+ def visit_next_node(node); end
+
+ # Visit a NilNode node
+ sig { params(node: NilNode).void }
+ def visit_nil_node(node); end
+
+ # Visit a NoKeywordsParameterNode node
+ sig { params(node: NoKeywordsParameterNode).void }
+ def visit_no_keywords_parameter_node(node); end
+
+ # Visit a NumberedReferenceReadNode node
+ sig { params(node: NumberedReferenceReadNode).void }
+ def visit_numbered_reference_read_node(node); end
+
+ # Visit a OptionalParameterNode node
+ sig { params(node: OptionalParameterNode).void }
+ def visit_optional_parameter_node(node); end
+
+ # Visit a OrNode node
+ sig { params(node: OrNode).void }
+ def visit_or_node(node); end
+
+ # Visit a ParametersNode node
+ sig { params(node: ParametersNode).void }
+ def visit_parameters_node(node); end
+
+ # Visit a ParenthesesNode node
+ sig { params(node: ParenthesesNode).void }
+ def visit_parentheses_node(node); end
+
+ # Visit a PinnedExpressionNode node
+ sig { params(node: PinnedExpressionNode).void }
+ def visit_pinned_expression_node(node); end
+
+ # Visit a PinnedVariableNode node
+ sig { params(node: PinnedVariableNode).void }
+ def visit_pinned_variable_node(node); end
+
+ # Visit a PostExecutionNode node
+ sig { params(node: PostExecutionNode).void }
+ def visit_post_execution_node(node); end
+
+ # Visit a PreExecutionNode node
+ sig { params(node: PreExecutionNode).void }
+ def visit_pre_execution_node(node); end
+
+ # Visit a ProgramNode node
+ sig { params(node: ProgramNode).void }
+ def visit_program_node(node); end
+
+ # Visit a RangeNode node
+ sig { params(node: RangeNode).void }
+ def visit_range_node(node); end
+
+ # Visit a RationalNode node
+ sig { params(node: RationalNode).void }
+ def visit_rational_node(node); end
+
+ # Visit a RedoNode node
+ sig { params(node: RedoNode).void }
+ def visit_redo_node(node); end
+
+ # Visit a RegularExpressionNode node
+ sig { params(node: RegularExpressionNode).void }
+ def visit_regular_expression_node(node); end
+
+ # Visit a RequiredDestructuredParameterNode node
+ sig { params(node: RequiredDestructuredParameterNode).void }
+ def visit_required_destructured_parameter_node(node); end
+
+ # Visit a RequiredParameterNode node
+ sig { params(node: RequiredParameterNode).void }
+ def visit_required_parameter_node(node); end
+
+ # Visit a RescueModifierNode node
+ sig { params(node: RescueModifierNode).void }
+ def visit_rescue_modifier_node(node); end
+
+ # Visit a RescueNode node
+ sig { params(node: RescueNode).void }
+ def visit_rescue_node(node); end
+
+ # Visit a RestParameterNode node
+ sig { params(node: RestParameterNode).void }
+ def visit_rest_parameter_node(node); end
+
+ # Visit a RetryNode node
+ sig { params(node: RetryNode).void }
+ def visit_retry_node(node); end
+
+ # Visit a ReturnNode node
+ sig { params(node: ReturnNode).void }
+ def visit_return_node(node); end
+
+ # Visit a SelfNode node
+ sig { params(node: SelfNode).void }
+ def visit_self_node(node); end
+
+ # Visit a SingletonClassNode node
+ sig { params(node: SingletonClassNode).void }
+ def visit_singleton_class_node(node); end
+
+ # Visit a SourceEncodingNode node
+ sig { params(node: SourceEncodingNode).void }
+ def visit_source_encoding_node(node); end
+
+ # Visit a SourceFileNode node
+ sig { params(node: SourceFileNode).void }
+ def visit_source_file_node(node); end
+
+ # Visit a SourceLineNode node
+ sig { params(node: SourceLineNode).void }
+ def visit_source_line_node(node); end
+
+ # Visit a SplatNode node
+ sig { params(node: SplatNode).void }
+ def visit_splat_node(node); end
+
+ # Visit a StatementsNode node
+ sig { params(node: StatementsNode).void }
+ def visit_statements_node(node); end
+
+ # Visit a StringConcatNode node
+ sig { params(node: StringConcatNode).void }
+ def visit_string_concat_node(node); end
+
+ # Visit a StringNode node
+ sig { params(node: StringNode).void }
+ def visit_string_node(node); end
+
+ # Visit a SuperNode node
+ sig { params(node: SuperNode).void }
+ def visit_super_node(node); end
+
+ # Visit a SymbolNode node
+ sig { params(node: SymbolNode).void }
+ def visit_symbol_node(node); end
+
+ # Visit a TrueNode node
+ sig { params(node: TrueNode).void }
+ def visit_true_node(node); end
+
+ # Visit a UndefNode node
+ sig { params(node: UndefNode).void }
+ def visit_undef_node(node); end
+
+ # Visit a UnlessNode node
+ sig { params(node: UnlessNode).void }
+ def visit_unless_node(node); end
+
+ # Visit a UntilNode node
+ sig { params(node: UntilNode).void }
+ def visit_until_node(node); end
+
+ # Visit a WhenNode node
+ sig { params(node: WhenNode).void }
+ def visit_when_node(node); end
+
+ # Visit a WhileNode node
+ sig { params(node: WhileNode).void }
+ def visit_while_node(node); end
+
+ # Visit a XStringNode node
+ sig { params(node: XStringNode).void }
+ def visit_x_string_node(node); end
+
+ # Visit a YieldNode node
+ sig { params(node: YieldNode).void }
+ def visit_yield_node(node); end
+ end
+
+ module DSL
+ private
+
+ # Create a new Location object
+ sig { params(source: T.nilable(Source), start_offset: Integer, length: Integer).returns(Location) }
+ def Location(source, start_offset, length); end
+
+ # Create a new AliasNode node
+ sig { params(new_name: Node, old_name: Node, keyword_loc: Location, location: Location).returns(AliasNode) }
+ def AliasNode(new_name, old_name, keyword_loc, location); end
+
+ # Create a new AlternationPatternNode node
+ sig { params(left: Node, right: Node, operator_loc: Location, location: Location).returns(AlternationPatternNode) }
+ def AlternationPatternNode(left, right, operator_loc, location); end
+
+ # Create a new AndNode node
+ sig { params(left: Node, right: Node, operator_loc: Location, location: Location).returns(AndNode) }
+ def AndNode(left, right, operator_loc, location); end
+
+ # Create a new ArgumentsNode node
+ sig { params(arguments: T::Array[Node], location: Location).returns(ArgumentsNode) }
+ def ArgumentsNode(arguments, location); end
+
+ # Create a new ArrayNode node
+ sig { params(elements: T::Array[Node], opening_loc: T.nilable(Location), closing_loc: T.nilable(Location), location: Location).returns(ArrayNode) }
+ def ArrayNode(elements, opening_loc, closing_loc, location); end
+
+ # Create a new ArrayPatternNode node
+ sig { params(constant: T.nilable(Node), requireds: T::Array[Node], rest: T.nilable(Node), posts: T::Array[Node], opening_loc: T.nilable(Location), closing_loc: T.nilable(Location), location: Location).returns(ArrayPatternNode) }
+ def ArrayPatternNode(constant, requireds, rest, posts, opening_loc, closing_loc, location); end
+
+ # Create a new AssocNode node
+ sig { params(key: Node, value: T.nilable(Node), operator_loc: T.nilable(Location), location: Location).returns(AssocNode) }
+ def AssocNode(key, value, operator_loc, location); end
+
+ # Create a new AssocSplatNode node
+ sig { params(value: T.nilable(Node), operator_loc: Location, location: Location).returns(AssocSplatNode) }
+ def AssocSplatNode(value, operator_loc, location); end
+
+ # Create a new BackReferenceReadNode node
+ sig { params(location: Location).returns(BackReferenceReadNode) }
+ def BackReferenceReadNode(location); end
+
+ # Create a new BeginNode node
+ sig { params(begin_keyword_loc: T.nilable(Location), statements: T.nilable(StatementsNode), rescue_clause: T.nilable(RescueNode), else_clause: T.nilable(ElseNode), ensure_clause: T.nilable(EnsureNode), end_keyword_loc: T.nilable(Location), location: Location).returns(BeginNode) }
+ def BeginNode(begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, location); end
+
+ # Create a new BlockArgumentNode node
+ sig { params(expression: T.nilable(Node), operator_loc: Location, location: Location).returns(BlockArgumentNode) }
+ def BlockArgumentNode(expression, operator_loc, location); end
+
+ # Create a new BlockLocalVariableNode node
+ sig { params(name: Symbol, location: Location).returns(BlockLocalVariableNode) }
+ def BlockLocalVariableNode(name, location); end
+
+ # Create a new BlockNode node
+ sig { params(locals: T::Array[Symbol], parameters: T.nilable(BlockParametersNode), body: T.nilable(Node), opening_loc: Location, closing_loc: Location, location: Location).returns(BlockNode) }
+ def BlockNode(locals, parameters, body, opening_loc, closing_loc, location); end
+
+ # Create a new BlockParameterNode node
+ sig { params(name_loc: T.nilable(Location), operator_loc: Location, location: Location).returns(BlockParameterNode) }
+ def BlockParameterNode(name_loc, operator_loc, location); end
+
+ # Create a new BlockParametersNode node
+ sig { params(parameters: T.nilable(ParametersNode), locals: T::Array[Node], opening_loc: T.nilable(Location), closing_loc: T.nilable(Location), location: Location).returns(BlockParametersNode) }
+ def BlockParametersNode(parameters, locals, opening_loc, closing_loc, location); end
+
+ # Create a new BreakNode node
+ sig { params(arguments: T.nilable(ArgumentsNode), keyword_loc: Location, location: Location).returns(BreakNode) }
+ def BreakNode(arguments, keyword_loc, location); end
+
+ # Create a new CallAndWriteNode node
+ sig { params(receiver: T.nilable(Node), call_operator_loc: T.nilable(Location), message_loc: T.nilable(Location), opening_loc: T.nilable(Location), arguments: T.nilable(ArgumentsNode), closing_loc: T.nilable(Location), flags: Integer, read_name: String, write_name: String, operator_loc: Location, value: Node, location: Location).returns(CallAndWriteNode) }
+ def CallAndWriteNode(receiver, call_operator_loc, message_loc, opening_loc, arguments, closing_loc, flags, read_name, write_name, operator_loc, value, location); end
+
+ # Create a new CallNode node
+ sig { params(receiver: T.nilable(Node), call_operator_loc: T.nilable(Location), message_loc: T.nilable(Location), opening_loc: T.nilable(Location), arguments: T.nilable(ArgumentsNode), closing_loc: T.nilable(Location), block: T.nilable(BlockNode), flags: Integer, name: String, location: Location).returns(CallNode) }
+ def CallNode(receiver, call_operator_loc, message_loc, opening_loc, arguments, closing_loc, block, flags, name, location); end
+
+ # Create a new CallOperatorWriteNode node
+ sig { params(target: T.nilable(Node), operator_loc: Location, value: Node, operator: Symbol, location: Location).returns(CallOperatorWriteNode) }
+ def CallOperatorWriteNode(target, operator_loc, value, operator, location); end
+
+ # Create a new CallOrWriteNode node
+ sig { params(receiver: T.nilable(Node), call_operator_loc: T.nilable(Location), message_loc: T.nilable(Location), opening_loc: T.nilable(Location), arguments: T.nilable(ArgumentsNode), closing_loc: T.nilable(Location), flags: Integer, read_name: String, write_name: String, operator_loc: Location, value: Node, location: Location).returns(CallOrWriteNode) }
+ def CallOrWriteNode(receiver, call_operator_loc, message_loc, opening_loc, arguments, closing_loc, flags, read_name, write_name, operator_loc, value, location); end
+
+ # Create a new CapturePatternNode node
+ sig { params(value: Node, target: Node, operator_loc: Location, location: Location).returns(CapturePatternNode) }
+ def CapturePatternNode(value, target, operator_loc, location); end
+
+ # Create a new CaseNode node
+ sig { params(predicate: T.nilable(Node), conditions: T::Array[Node], consequent: T.nilable(ElseNode), case_keyword_loc: Location, end_keyword_loc: Location, location: Location).returns(CaseNode) }
+ def CaseNode(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location); end
+
+ # Create a new ClassNode node
+ sig { params(locals: T::Array[Symbol], class_keyword_loc: Location, constant_path: Node, inheritance_operator_loc: T.nilable(Location), superclass: T.nilable(Node), body: T.nilable(Node), end_keyword_loc: Location, name: String, location: Location).returns(ClassNode) }
+ def ClassNode(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location); end
+
+ # Create a new ClassVariableAndWriteNode node
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location).returns(ClassVariableAndWriteNode) }
+ def ClassVariableAndWriteNode(name, name_loc, operator_loc, value, location); end
+
+ # Create a new ClassVariableOperatorWriteNode node
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location).returns(ClassVariableOperatorWriteNode) }
+ def ClassVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location); end
+
+ # Create a new ClassVariableOrWriteNode node
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location).returns(ClassVariableOrWriteNode) }
+ def ClassVariableOrWriteNode(name, name_loc, operator_loc, value, location); end
+
+ # Create a new ClassVariableReadNode node
+ sig { params(name: Symbol, location: Location).returns(ClassVariableReadNode) }
+ def ClassVariableReadNode(name, location); end
+
+ # Create a new ClassVariableTargetNode node
+ sig { params(name: Symbol, location: Location).returns(ClassVariableTargetNode) }
+ def ClassVariableTargetNode(name, location); end
+
+ # Create a new ClassVariableWriteNode node
+ sig { params(name: Symbol, name_loc: Location, value: Node, operator_loc: T.nilable(Location), location: Location).returns(ClassVariableWriteNode) }
+ def ClassVariableWriteNode(name, name_loc, value, operator_loc, location); end
+
+ # Create a new ConstantAndWriteNode node
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, location: Location).returns(ConstantAndWriteNode) }
+ def ConstantAndWriteNode(name_loc, operator_loc, value, location); end
+
+ # Create a new ConstantOperatorWriteNode node
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location).returns(ConstantOperatorWriteNode) }
+ def ConstantOperatorWriteNode(name_loc, operator_loc, value, operator, location); end
+
+ # Create a new ConstantOrWriteNode node
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, location: Location).returns(ConstantOrWriteNode) }
+ def ConstantOrWriteNode(name_loc, operator_loc, value, location); end
+
+ # Create a new ConstantPathAndWriteNode node
+ sig { params(target: ConstantPathNode, operator_loc: Location, value: Node, location: Location).returns(ConstantPathAndWriteNode) }
+ def ConstantPathAndWriteNode(target, operator_loc, value, location); end
+
+ # Create a new ConstantPathNode node
+ sig { params(parent: T.nilable(Node), child: Node, delimiter_loc: Location, location: Location).returns(ConstantPathNode) }
+ def ConstantPathNode(parent, child, delimiter_loc, location); end
+
+ # Create a new ConstantPathOperatorWriteNode node
+ sig { params(target: ConstantPathNode, operator_loc: Location, value: Node, operator: Symbol, location: Location).returns(ConstantPathOperatorWriteNode) }
+ def ConstantPathOperatorWriteNode(target, operator_loc, value, operator, location); end
+
+ # Create a new ConstantPathOrWriteNode node
+ sig { params(target: ConstantPathNode, operator_loc: Location, value: Node, location: Location).returns(ConstantPathOrWriteNode) }
+ def ConstantPathOrWriteNode(target, operator_loc, value, location); end
+
+ # Create a new ConstantPathTargetNode node
+ sig { params(parent: T.nilable(Node), child: Node, delimiter_loc: Location, location: Location).returns(ConstantPathTargetNode) }
+ def ConstantPathTargetNode(parent, child, delimiter_loc, location); end
+
+ # Create a new ConstantPathWriteNode node
+ sig { params(target: ConstantPathNode, operator_loc: Location, value: Node, location: Location).returns(ConstantPathWriteNode) }
+ def ConstantPathWriteNode(target, operator_loc, value, location); end
+
+ # Create a new ConstantReadNode node
+ sig { params(location: Location).returns(ConstantReadNode) }
+ def ConstantReadNode(location); end
+
+ # Create a new ConstantTargetNode node
+ sig { params(location: Location).returns(ConstantTargetNode) }
+ def ConstantTargetNode(location); end
+
+ # Create a new ConstantWriteNode node
+ sig { params(name_loc: Location, value: Node, operator_loc: Location, location: Location).returns(ConstantWriteNode) }
+ def ConstantWriteNode(name_loc, value, operator_loc, location); end
+
+ # Create a new DefNode node
+ sig { params(name_loc: Location, receiver: T.nilable(Node), parameters: T.nilable(ParametersNode), body: T.nilable(Node), locals: T::Array[Symbol], def_keyword_loc: Location, operator_loc: T.nilable(Location), lparen_loc: T.nilable(Location), rparen_loc: T.nilable(Location), equal_loc: T.nilable(Location), end_keyword_loc: T.nilable(Location), location: Location).returns(DefNode) }
+ def DefNode(name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location); end
+
+ # Create a new DefinedNode node
+ sig { params(lparen_loc: T.nilable(Location), value: Node, rparen_loc: T.nilable(Location), keyword_loc: Location, location: Location).returns(DefinedNode) }
+ def DefinedNode(lparen_loc, value, rparen_loc, keyword_loc, location); end
+
+ # Create a new ElseNode node
+ sig { params(else_keyword_loc: Location, statements: T.nilable(StatementsNode), end_keyword_loc: T.nilable(Location), location: Location).returns(ElseNode) }
+ def ElseNode(else_keyword_loc, statements, end_keyword_loc, location); end
+
+ # Create a new EmbeddedStatementsNode node
+ sig { params(opening_loc: Location, statements: T.nilable(StatementsNode), closing_loc: Location, location: Location).returns(EmbeddedStatementsNode) }
+ def EmbeddedStatementsNode(opening_loc, statements, closing_loc, location); end
+
+ # Create a new EmbeddedVariableNode node
+ sig { params(operator_loc: Location, variable: Node, location: Location).returns(EmbeddedVariableNode) }
+ def EmbeddedVariableNode(operator_loc, variable, location); end
+
+ # Create a new EnsureNode node
+ sig { params(ensure_keyword_loc: Location, statements: T.nilable(StatementsNode), end_keyword_loc: Location, location: Location).returns(EnsureNode) }
+ def EnsureNode(ensure_keyword_loc, statements, end_keyword_loc, location); end
+
+ # Create a new FalseNode node
+ sig { params(location: Location).returns(FalseNode) }
+ def FalseNode(location); end
+
+ # Create a new FindPatternNode node
+ sig { params(constant: T.nilable(Node), left: Node, requireds: T::Array[Node], right: Node, opening_loc: T.nilable(Location), closing_loc: T.nilable(Location), location: Location).returns(FindPatternNode) }
+ def FindPatternNode(constant, left, requireds, right, opening_loc, closing_loc, location); end
+
+ # Create a new FlipFlopNode node
+ sig { params(left: T.nilable(Node), right: T.nilable(Node), operator_loc: Location, flags: Integer, location: Location).returns(FlipFlopNode) }
+ def FlipFlopNode(left, right, operator_loc, flags, location); end
+
+ # Create a new FloatNode node
+ sig { params(location: Location).returns(FloatNode) }
+ def FloatNode(location); end
+
+ # Create a new ForNode node
+ sig { params(index: Node, collection: Node, statements: T.nilable(StatementsNode), for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: T.nilable(Location), end_keyword_loc: Location, location: Location).returns(ForNode) }
+ def ForNode(index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc, location); end
+
+ # Create a new ForwardingArgumentsNode node
+ sig { params(location: Location).returns(ForwardingArgumentsNode) }
+ def ForwardingArgumentsNode(location); end
+
+ # Create a new ForwardingParameterNode node
+ sig { params(location: Location).returns(ForwardingParameterNode) }
+ def ForwardingParameterNode(location); end
+
+ # Create a new ForwardingSuperNode node
+ sig { params(block: T.nilable(BlockNode), location: Location).returns(ForwardingSuperNode) }
+ def ForwardingSuperNode(block, location); end
+
+ # Create a new GlobalVariableAndWriteNode node
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, location: Location).returns(GlobalVariableAndWriteNode) }
+ def GlobalVariableAndWriteNode(name_loc, operator_loc, value, location); end
+
+ # Create a new GlobalVariableOperatorWriteNode node
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location).returns(GlobalVariableOperatorWriteNode) }
+ def GlobalVariableOperatorWriteNode(name_loc, operator_loc, value, operator, location); end
+
+ # Create a new GlobalVariableOrWriteNode node
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, location: Location).returns(GlobalVariableOrWriteNode) }
+ def GlobalVariableOrWriteNode(name_loc, operator_loc, value, location); end
+
+ # Create a new GlobalVariableReadNode node
+ sig { params(location: Location).returns(GlobalVariableReadNode) }
+ def GlobalVariableReadNode(location); end
+
+ # Create a new GlobalVariableTargetNode node
+ sig { params(location: Location).returns(GlobalVariableTargetNode) }
+ def GlobalVariableTargetNode(location); end
+
+ # Create a new GlobalVariableWriteNode node
+ sig { params(name_loc: Location, value: Node, operator_loc: Location, location: Location).returns(GlobalVariableWriteNode) }
+ def GlobalVariableWriteNode(name_loc, value, operator_loc, location); end
+
+ # Create a new HashNode node
+ sig { params(opening_loc: Location, elements: T::Array[Node], closing_loc: Location, location: Location).returns(HashNode) }
+ def HashNode(opening_loc, elements, closing_loc, location); end
+
+ # Create a new HashPatternNode node
+ sig { params(constant: T.nilable(Node), assocs: T::Array[Node], kwrest: T.nilable(Node), opening_loc: T.nilable(Location), closing_loc: T.nilable(Location), location: Location).returns(HashPatternNode) }
+ def HashPatternNode(constant, assocs, kwrest, opening_loc, closing_loc, location); end
+
+ # Create a new IfNode node
+ sig { params(if_keyword_loc: T.nilable(Location), predicate: Node, statements: T.nilable(StatementsNode), consequent: T.nilable(Node), end_keyword_loc: T.nilable(Location), location: Location).returns(IfNode) }
+ def IfNode(if_keyword_loc, predicate, statements, consequent, end_keyword_loc, location); end
+
+ # Create a new ImaginaryNode node
+ sig { params(numeric: Node, location: Location).returns(ImaginaryNode) }
+ def ImaginaryNode(numeric, location); end
+
+ # Create a new InNode node
+ sig { params(pattern: Node, statements: T.nilable(StatementsNode), in_loc: Location, then_loc: T.nilable(Location), location: Location).returns(InNode) }
+ def InNode(pattern, statements, in_loc, then_loc, location); end
+
+ # Create a new InstanceVariableAndWriteNode node
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location).returns(InstanceVariableAndWriteNode) }
+ def InstanceVariableAndWriteNode(name, name_loc, operator_loc, value, location); end
+
+ # Create a new InstanceVariableOperatorWriteNode node
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location).returns(InstanceVariableOperatorWriteNode) }
+ def InstanceVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location); end
+
+ # Create a new InstanceVariableOrWriteNode node
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location).returns(InstanceVariableOrWriteNode) }
+ def InstanceVariableOrWriteNode(name, name_loc, operator_loc, value, location); end
+
+ # Create a new InstanceVariableReadNode node
+ sig { params(name: Symbol, location: Location).returns(InstanceVariableReadNode) }
+ def InstanceVariableReadNode(name, location); end
+
+ # Create a new InstanceVariableTargetNode node
+ sig { params(name: Symbol, location: Location).returns(InstanceVariableTargetNode) }
+ def InstanceVariableTargetNode(name, location); end
+
+ # Create a new InstanceVariableWriteNode node
+ sig { params(name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location).returns(InstanceVariableWriteNode) }
+ def InstanceVariableWriteNode(name, name_loc, value, operator_loc, location); end
+
+ # Create a new IntegerNode node
+ sig { params(location: Location).returns(IntegerNode) }
+ def IntegerNode(location); end
+
+ # Create a new InterpolatedRegularExpressionNode node
+ sig { params(opening_loc: Location, parts: T::Array[Node], closing_loc: Location, flags: Integer, location: Location).returns(InterpolatedRegularExpressionNode) }
+ def InterpolatedRegularExpressionNode(opening_loc, parts, closing_loc, flags, location); end
+
+ # Create a new InterpolatedStringNode node
+ sig { params(opening_loc: T.nilable(Location), parts: T::Array[Node], closing_loc: T.nilable(Location), location: Location).returns(InterpolatedStringNode) }
+ def InterpolatedStringNode(opening_loc, parts, closing_loc, location); end
+
+ # Create a new InterpolatedSymbolNode node
+ sig { params(opening_loc: T.nilable(Location), parts: T::Array[Node], closing_loc: T.nilable(Location), location: Location).returns(InterpolatedSymbolNode) }
+ def InterpolatedSymbolNode(opening_loc, parts, closing_loc, location); end
+
+ # Create a new InterpolatedXStringNode node
+ sig { params(opening_loc: Location, parts: T::Array[Node], closing_loc: Location, location: Location).returns(InterpolatedXStringNode) }
+ def InterpolatedXStringNode(opening_loc, parts, closing_loc, location); end
+
+ # Create a new KeywordHashNode node
+ sig { params(elements: T::Array[Node], location: Location).returns(KeywordHashNode) }
+ def KeywordHashNode(elements, location); end
+
+ # Create a new KeywordParameterNode node
+ sig { params(name_loc: Location, value: T.nilable(Node), location: Location).returns(KeywordParameterNode) }
+ def KeywordParameterNode(name_loc, value, location); end
+
+ # Create a new KeywordRestParameterNode node
+ sig { params(operator_loc: Location, name_loc: T.nilable(Location), location: Location).returns(KeywordRestParameterNode) }
+ def KeywordRestParameterNode(operator_loc, name_loc, location); end
+
+ # Create a new LambdaNode node
+ sig { params(locals: T::Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: T.nilable(BlockParametersNode), body: T.nilable(Node), location: Location).returns(LambdaNode) }
+ def LambdaNode(locals, operator_loc, opening_loc, closing_loc, parameters, body, location); end
+
+ # Create a new LocalVariableAndWriteNode node
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location).returns(LocalVariableAndWriteNode) }
+ def LocalVariableAndWriteNode(name_loc, operator_loc, value, name, depth, location); end
+
+ # Create a new LocalVariableOperatorWriteNode node
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, name: Symbol, operator: Symbol, depth: Integer, location: Location).returns(LocalVariableOperatorWriteNode) }
+ def LocalVariableOperatorWriteNode(name_loc, operator_loc, value, name, operator, depth, location); end
+
+ # Create a new LocalVariableOrWriteNode node
+ sig { params(name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location).returns(LocalVariableOrWriteNode) }
+ def LocalVariableOrWriteNode(name_loc, operator_loc, value, name, depth, location); end
+
+ # Create a new LocalVariableReadNode node
+ sig { params(name: Symbol, depth: Integer, location: Location).returns(LocalVariableReadNode) }
+ def LocalVariableReadNode(name, depth, location); end
+
+ # Create a new LocalVariableTargetNode node
+ sig { params(name: Symbol, depth: Integer, location: Location).returns(LocalVariableTargetNode) }
+ def LocalVariableTargetNode(name, depth, location); end
+
+ # Create a new LocalVariableWriteNode node
+ sig { params(name: Symbol, depth: Integer, name_loc: Location, value: Node, operator_loc: Location, location: Location).returns(LocalVariableWriteNode) }
+ def LocalVariableWriteNode(name, depth, name_loc, value, operator_loc, location); end
+
+ # Create a new MatchPredicateNode node
+ sig { params(value: Node, pattern: Node, operator_loc: Location, location: Location).returns(MatchPredicateNode) }
+ def MatchPredicateNode(value, pattern, operator_loc, location); end
+
+ # Create a new MatchRequiredNode node
+ sig { params(value: Node, pattern: Node, operator_loc: Location, location: Location).returns(MatchRequiredNode) }
+ def MatchRequiredNode(value, pattern, operator_loc, location); end
+
+ # Create a new MissingNode node
+ sig { params(location: Location).returns(MissingNode) }
+ def MissingNode(location); end
+
+ # Create a new ModuleNode node
+ sig { params(locals: T::Array[Symbol], module_keyword_loc: Location, constant_path: Node, body: T.nilable(Node), end_keyword_loc: Location, name: String, location: Location).returns(ModuleNode) }
+ def ModuleNode(locals, module_keyword_loc, constant_path, body, end_keyword_loc, name, location); end
+
+ # Create a new MultiWriteNode node
+ sig { params(targets: T::Array[Node], operator_loc: T.nilable(Location), value: T.nilable(Node), lparen_loc: T.nilable(Location), rparen_loc: T.nilable(Location), location: Location).returns(MultiWriteNode) }
+ def MultiWriteNode(targets, operator_loc, value, lparen_loc, rparen_loc, location); end
+
+ # Create a new NextNode node
+ sig { params(arguments: T.nilable(ArgumentsNode), keyword_loc: Location, location: Location).returns(NextNode) }
+ def NextNode(arguments, keyword_loc, location); end
+
+ # Create a new NilNode node
+ sig { params(location: Location).returns(NilNode) }
+ def NilNode(location); end
+
+ # Create a new NoKeywordsParameterNode node
+ sig { params(operator_loc: Location, keyword_loc: Location, location: Location).returns(NoKeywordsParameterNode) }
+ def NoKeywordsParameterNode(operator_loc, keyword_loc, location); end
+
+ # Create a new NumberedReferenceReadNode node
+ sig { params(number: Integer, location: Location).returns(NumberedReferenceReadNode) }
+ def NumberedReferenceReadNode(number, location); end
+
+ # Create a new OptionalParameterNode node
+ sig { params(name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location).returns(OptionalParameterNode) }
+ def OptionalParameterNode(name, name_loc, operator_loc, value, location); end
+
+ # Create a new OrNode node
+ sig { params(left: Node, right: Node, operator_loc: Location, location: Location).returns(OrNode) }
+ def OrNode(left, right, operator_loc, location); end
+
+ # Create a new ParametersNode node
+ sig { params(requireds: T::Array[Node], optionals: T::Array[Node], posts: T::Array[Node], rest: T.nilable(RestParameterNode), keywords: T::Array[Node], keyword_rest: T.nilable(Node), block: T.nilable(BlockParameterNode), location: Location).returns(ParametersNode) }
+ def ParametersNode(requireds, optionals, posts, rest, keywords, keyword_rest, block, location); end
+
+ # Create a new ParenthesesNode node
+ sig { params(body: T.nilable(Node), opening_loc: Location, closing_loc: Location, location: Location).returns(ParenthesesNode) }
+ def ParenthesesNode(body, opening_loc, closing_loc, location); end
+
+ # Create a new PinnedExpressionNode node
+ sig { params(expression: Node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location, location: Location).returns(PinnedExpressionNode) }
+ def PinnedExpressionNode(expression, operator_loc, lparen_loc, rparen_loc, location); end
+
+ # Create a new PinnedVariableNode node
+ sig { params(variable: Node, operator_loc: Location, location: Location).returns(PinnedVariableNode) }
+ def PinnedVariableNode(variable, operator_loc, location); end
+
+ # Create a new PostExecutionNode node
+ sig { params(statements: T.nilable(StatementsNode), keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location).returns(PostExecutionNode) }
+ def PostExecutionNode(statements, keyword_loc, opening_loc, closing_loc, location); end
+
+ # Create a new PreExecutionNode node
+ sig { params(statements: T.nilable(StatementsNode), keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location).returns(PreExecutionNode) }
+ def PreExecutionNode(statements, keyword_loc, opening_loc, closing_loc, location); end
+
+ # Create a new ProgramNode node
+ sig { params(locals: T::Array[Symbol], statements: StatementsNode, location: Location).returns(ProgramNode) }
+ def ProgramNode(locals, statements, location); end
+
+ # Create a new RangeNode node
+ sig { params(left: T.nilable(Node), right: T.nilable(Node), operator_loc: Location, flags: Integer, location: Location).returns(RangeNode) }
+ def RangeNode(left, right, operator_loc, flags, location); end
+
+ # Create a new RationalNode node
+ sig { params(numeric: Node, location: Location).returns(RationalNode) }
+ def RationalNode(numeric, location); end
+
+ # Create a new RedoNode node
+ sig { params(location: Location).returns(RedoNode) }
+ def RedoNode(location); end
+
+ # Create a new RegularExpressionNode node
+ sig { params(opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, flags: Integer, location: Location).returns(RegularExpressionNode) }
+ def RegularExpressionNode(opening_loc, content_loc, closing_loc, unescaped, flags, location); end
+
+ # Create a new RequiredDestructuredParameterNode node
+ sig { params(parameters: T::Array[Node], opening_loc: Location, closing_loc: Location, location: Location).returns(RequiredDestructuredParameterNode) }
+ def RequiredDestructuredParameterNode(parameters, opening_loc, closing_loc, location); end
+
+ # Create a new RequiredParameterNode node
+ sig { params(name: Symbol, location: Location).returns(RequiredParameterNode) }
+ def RequiredParameterNode(name, location); end
+
+ # Create a new RescueModifierNode node
+ sig { params(expression: Node, keyword_loc: Location, rescue_expression: Node, location: Location).returns(RescueModifierNode) }
+ def RescueModifierNode(expression, keyword_loc, rescue_expression, location); end
+
+ # Create a new RescueNode node
+ sig { params(keyword_loc: Location, exceptions: T::Array[Node], operator_loc: T.nilable(Location), reference: T.nilable(Node), statements: T.nilable(StatementsNode), consequent: T.nilable(RescueNode), location: Location).returns(RescueNode) }
+ def RescueNode(keyword_loc, exceptions, operator_loc, reference, statements, consequent, location); end
+
+ # Create a new RestParameterNode node
+ sig { params(operator_loc: Location, name_loc: T.nilable(Location), location: Location).returns(RestParameterNode) }
+ def RestParameterNode(operator_loc, name_loc, location); end
+
+ # Create a new RetryNode node
+ sig { params(location: Location).returns(RetryNode) }
+ def RetryNode(location); end
+
+ # Create a new ReturnNode node
+ sig { params(keyword_loc: Location, arguments: T.nilable(ArgumentsNode), location: Location).returns(ReturnNode) }
+ def ReturnNode(keyword_loc, arguments, location); end
+
+ # Create a new SelfNode node
+ sig { params(location: Location).returns(SelfNode) }
+ def SelfNode(location); end
+
+ # Create a new SingletonClassNode node
+ sig { params(locals: T::Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Node, body: T.nilable(Node), end_keyword_loc: Location, location: Location).returns(SingletonClassNode) }
+ def SingletonClassNode(locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc, location); end
+
+ # Create a new SourceEncodingNode node
+ sig { params(location: Location).returns(SourceEncodingNode) }
+ def SourceEncodingNode(location); end
+
+ # Create a new SourceFileNode node
+ sig { params(filepath: String, location: Location).returns(SourceFileNode) }
+ def SourceFileNode(filepath, location); end
+
+ # Create a new SourceLineNode node
+ sig { params(location: Location).returns(SourceLineNode) }
+ def SourceLineNode(location); end
+
+ # Create a new SplatNode node
+ sig { params(operator_loc: Location, expression: T.nilable(Node), location: Location).returns(SplatNode) }
+ def SplatNode(operator_loc, expression, location); end
+
+ # Create a new StatementsNode node
+ sig { params(body: T::Array[Node], location: Location).returns(StatementsNode) }
+ def StatementsNode(body, location); end
+
+ # Create a new StringConcatNode node
+ sig { params(left: Node, right: Node, location: Location).returns(StringConcatNode) }
+ def StringConcatNode(left, right, location); end
+
+ # Create a new StringNode node
+ sig { params(opening_loc: T.nilable(Location), content_loc: Location, closing_loc: T.nilable(Location), unescaped: String, location: Location).returns(StringNode) }
+ def StringNode(opening_loc, content_loc, closing_loc, unescaped, location); end
+
+ # Create a new SuperNode node
+ sig { params(keyword_loc: Location, lparen_loc: T.nilable(Location), arguments: T.nilable(ArgumentsNode), rparen_loc: T.nilable(Location), block: T.nilable(BlockNode), location: Location).returns(SuperNode) }
+ def SuperNode(keyword_loc, lparen_loc, arguments, rparen_loc, block, location); end
+
+ # Create a new SymbolNode node
+ sig { params(opening_loc: T.nilable(Location), value_loc: T.nilable(Location), closing_loc: T.nilable(Location), unescaped: String, location: Location).returns(SymbolNode) }
+ def SymbolNode(opening_loc, value_loc, closing_loc, unescaped, location); end
+
+ # Create a new TrueNode node
+ sig { params(location: Location).returns(TrueNode) }
+ def TrueNode(location); end
+
+ # Create a new UndefNode node
+ sig { params(names: T::Array[Node], keyword_loc: Location, location: Location).returns(UndefNode) }
+ def UndefNode(names, keyword_loc, location); end
+
+ # Create a new UnlessNode node
+ sig { params(keyword_loc: Location, predicate: Node, statements: T.nilable(StatementsNode), consequent: T.nilable(ElseNode), end_keyword_loc: T.nilable(Location), location: Location).returns(UnlessNode) }
+ def UnlessNode(keyword_loc, predicate, statements, consequent, end_keyword_loc, location); end
+
+ # Create a new UntilNode node
+ sig { params(keyword_loc: Location, closing_loc: T.nilable(Location), predicate: Node, statements: T.nilable(StatementsNode), flags: Integer, location: Location).returns(UntilNode) }
+ def UntilNode(keyword_loc, closing_loc, predicate, statements, flags, location); end
+
+ # Create a new WhenNode node
+ sig { params(keyword_loc: Location, conditions: T::Array[Node], statements: T.nilable(StatementsNode), location: Location).returns(WhenNode) }
+ def WhenNode(keyword_loc, conditions, statements, location); end
+
+ # Create a new WhileNode node
+ sig { params(keyword_loc: Location, closing_loc: T.nilable(Location), predicate: Node, statements: T.nilable(StatementsNode), flags: Integer, location: Location).returns(WhileNode) }
+ def WhileNode(keyword_loc, closing_loc, predicate, statements, flags, location); end
+
+ # Create a new XStringNode node
+ sig { params(opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location).returns(XStringNode) }
+ def XStringNode(opening_loc, content_loc, closing_loc, unescaped, location); end
+
+ # Create a new YieldNode node
+ sig { params(keyword_loc: Location, lparen_loc: T.nilable(Location), arguments: T.nilable(ArgumentsNode), rparen_loc: T.nilable(Location), location: Location).returns(YieldNode) }
+ def YieldNode(keyword_loc, lparen_loc, arguments, rparen_loc, location); end
+ end
+end
diff --git a/sorbet/tapioca/require.rb b/sorbet/tapioca/require.rb
index 6eeced2a..0e93c7b3 100644
--- a/sorbet/tapioca/require.rb
+++ b/sorbet/tapioca/require.rb
@@ -2,4 +2,3 @@
# frozen_string_literal: true
require "ansi"
-require "unparser"
diff --git a/test/rbi/parser_test.rb b/test/rbi/parser_test.rb
index 60c0153b..d6ba65c7 100644
--- a/test/rbi/parser_test.rb
+++ b/test/rbi/parser_test.rb
@@ -800,7 +800,7 @@ def bar; end
assert_equal(rbi, out.string)
end
- def test_parse_trailing_comments_and_moves_them_in_header
+ def test_parse_collect_dangling_scope_comments
rbi = <<~RBI
# A comment 1
# A comment 2
@@ -814,25 +814,23 @@ class B; end
assert_equal(<<~RBI, out.string)
# A comment 1
# A comment 2
-
- # A comment 3
module A
# B comment
class B; end
+ # A comment 3
end
RBI
end
- def test_parse_comments_and_discard_orphans
+ def test_parse_collect_dangling_file_comments
rbi = <<~RBI
module A; end
# Orphan comment
RBI
out = Parser.parse_string(rbi)
assert_equal(<<~RBI, out.string)
- # Orphan comment
-
module A; end
+ # Orphan comment
RBI
end
@@ -871,15 +869,15 @@ def test_parse_errors
def bar
RBI
end
- assert_equal("unexpected token $end", e.message)
- assert_equal("-:2:0-2:0", e.location.to_s)
+ assert_equal("Expected to be able to parse an expression. Expected `end` to close `def` statement.", e.message)
+ assert_equal("-:2:0-1:8", e.location.to_s)
e = assert_raises(ParseError) do
Parser.parse_string(<<~RBI)
private include Foo
RBI
end
- assert_equal("Unexpected token `private` before `send`", e.message)
+ assert_equal("Unexpected token `private` before `include Foo`", e.message)
assert_equal("-:1:0-1:19", e.location.to_s)
e = assert_raises(ParseError) do
@@ -887,7 +885,7 @@ def bar
private class Foo; end
RBI
end
- assert_equal("Unexpected token `private` before `class`", e.message)
+ assert_equal("Unexpected token `private` before `class Foo; end`", e.message)
assert_equal("-:1:0-1:22", e.location.to_s)
e = assert_raises(ParseError) do
@@ -895,7 +893,7 @@ def bar
private CST = 42
RBI
end
- assert_equal("Unexpected token `private` before `casgn`", e.message)
+ assert_equal("Unexpected token `private` before `CST = 42`", e.message)
assert_equal("-:1:0-1:16", e.location.to_s)
end
@@ -944,8 +942,8 @@ class Foo
e = assert_raises(ParseError) do
Parser.parse_file(path)
end
- assert_equal("unexpected token $end", e.message)
- assert_equal("test_parse_real_file_with_error.rbi:2:0-2:0", e.location.to_s)
+ assert_equal("Expected to be able to parse an expression. Expected `end` to close `class` statement.", e.message)
+ assert_equal("test_parse_real_file_with_error.rbi:2:0-1:10", e.location.to_s)
FileUtils.rm_rf(path)
end