diff options
Diffstat (limited to 'tools/ruby-tools/sorbet/rbi/gems/prism@1.0.0.rbi')
-rw-r--r-- | tools/ruby-tools/sorbet/rbi/gems/prism@1.0.0.rbi | 34144 |
1 files changed, 0 insertions, 34144 deletions
diff --git a/tools/ruby-tools/sorbet/rbi/gems/prism@1.0.0.rbi b/tools/ruby-tools/sorbet/rbi/gems/prism@1.0.0.rbi deleted file mode 100644 index 2774c45..0000000 --- a/tools/ruby-tools/sorbet/rbi/gems/prism@1.0.0.rbi +++ /dev/null @@ -1,34144 +0,0 @@ -# typed: true - -# DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `prism` gem. -# Please instead update this file by running `bin/tapioca gem prism`. - - -# typed: strict - -# =begin -# This file is generated by the templates/template.rb script and should not be -# modified manually. See templates/rbi/prism/dsl.rbi.erb -# if you are looking to modify the template -# =end -# =begin -# This file is generated by the templates/template.rb script and should not be -# modified manually. See templates/rbi/prism/node.rbi.erb -# if you are looking to modify the template -# =end -# =begin -# This file is generated by the templates/template.rb script and should not be -# modified manually. See templates/rbi/prism/visitor.rbi.erb -# if you are looking to modify the template -# =end - -# We keep these shims in here because our client libraries might not have parser -# in their bundle. -module Parser; end - -class Parser::Base; end - -# The Prism Ruby parser. -# -# "Parsing Ruby is suddenly manageable!" -# - You, hopefully -# -# source://prism//lib/prism.rb#8 -module Prism - class << self - # Mirror the Prism.dump API by using the serialization API. - def dump(*_arg0); end - - # Mirror the Prism.dump_file API by using the serialization API. - def dump_file(*_arg0); end - - # Mirror the Prism.lex API by using the serialization API. - def lex(*_arg0); end - - # :call-seq: - # Prism::lex_compat(source, **options) -> LexCompat::Result - # - # Returns a parse result whose value is an array of tokens that closely - # resembles the return value of Ripper::lex. The main difference is that the - # `:on_sp` token is not emitted. - # - # For supported options, see Prism::parse. - # - # source://prism//lib/prism.rb#45 - sig { params(source: String, options: T::Hash[Symbol, T.untyped]).returns(Prism::LexCompat::Result) } - def lex_compat(source, **options); end - - # Mirror the Prism.lex_file API by using the serialization API. - def lex_file(*_arg0); end - - # :call-seq: - # Prism::lex_ripper(source) -> Array - # - # 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://prism//lib/prism.rb#55 - sig { params(source: String).returns(T::Array[T.untyped]) } - def lex_ripper(source); end - - # :call-seq: - # Prism::load(source, serialized) -> ParseResult - # - # Load the serialized AST using the source as a reference into a tree. - # - # source://prism//lib/prism.rb#63 - sig { params(source: String, serialized: String).returns(Prism::ParseResult) } - def load(source, serialized); end - - # Mirror the Prism.parse API by using the serialization API. - def parse(*_arg0); end - - # Mirror the Prism.parse_comments API by using the serialization API. - def parse_comments(*_arg0); end - - # Mirror the Prism.parse_failure? API by using the serialization API. - # - # @return [Boolean] - def parse_failure?(*_arg0); end - - # Mirror the Prism.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 Prism.parse_file_comments 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_comments(*_arg0); end - - # Mirror the Prism.parse_file_failure? API by using the serialization API. - # - # @return [Boolean] - def parse_file_failure?(*_arg0); end - - # Mirror the Prism.parse_file_success? API by using the serialization API. - # - # @return [Boolean] - def parse_file_success?(*_arg0); end - - # Mirror the Prism.parse_lex API by using the serialization API. - def parse_lex(*_arg0); end - - # Mirror the Prism.parse_lex_file API by using the serialization API. - def parse_lex_file(*_arg0); end - - # Mirror the Prism.parse_stream API by using the serialization API. - def parse_stream(*_arg0); end - - # Mirror the Prism.parse_success? API by using the serialization API. - # - # @return [Boolean] - def parse_success?(*_arg0); end - - # Mirror the Prism.profile API by using the serialization API. - def profile(*_arg0); end - - # Mirror the Prism.profile_file API by using the serialization API. - def profile_file(*_arg0); end - end -end - -# Specialized version of Prism::Source for source code that includes ASCII -# characters only. This class is used to apply performance optimizations that -# cannot be applied to sources that include multibyte characters. Sources that -# include multibyte characters are represented by the Prism::Source class. -# -# source://prism//lib/prism/parse_result.rb#135 -class Prism::ASCIISource < ::Prism::Source - # Return the column number in characters for the given byte offset. - # - # source://prism//lib/prism/parse_result.rb#142 - sig { params(byte_offset: Integer).returns(Integer) } - def character_column(byte_offset); end - - # Return the character offset for the given byte offset. - # - # source://prism//lib/prism/parse_result.rb#137 - sig { params(byte_offset: Integer).returns(Integer) } - def character_offset(byte_offset); end - - # Specialized version of `code_units_column` that does not depend on - # `code_units_offset`, which is a more expensive operation. This is - # essentialy the same as `Prism::Source#column`. - # - # source://prism//lib/prism/parse_result.rb#159 - sig { params(byte_offset: Integer, encoding: Encoding).returns(Integer) } - def code_units_column(byte_offset, encoding); end - - # Returns the offset from the start of the file for the given byte offset - # counting in code units for the given encoding. - # - # This method is tested with UTF-8, UTF-16, and UTF-32. If there is the - # concept of code units that differs from the number of characters in other - # encodings, it is not captured here. - # - # source://prism//lib/prism/parse_result.rb#152 - sig { params(byte_offset: Integer, encoding: Encoding).returns(Integer) } - def code_units_offset(byte_offset, encoding); end -end - -# Represents the use of the `alias` keyword to alias a global variable. -# -# alias $foo $bar -# ^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#227 -class Prism::AliasGlobalVariableNode < ::Prism::Node - # Initialize a new AliasGlobalVariableNode node. - # - # @return [AliasGlobalVariableNode] a new instance of AliasGlobalVariableNode - # - # source://prism//lib/prism/node.rb#229 - def initialize(source, node_id, location, flags, new_name, old_name, keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#316 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#240 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#245 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#255 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#250 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?new_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode, ?old_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | SymbolNode | MissingNode, ?keyword_loc: Location) -> AliasGlobalVariableNode - # - # source://prism//lib/prism/node.rb#260 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), new_name: T.unsafe(nil), old_name: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#245 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, new_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode, old_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | SymbolNode | MissingNode, keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#268 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#300 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#295 - def keyword; end - - # The location of the `alias` keyword. - # - # alias $foo $bar - # ^^^^^ - # - # source://prism//lib/prism/node.rb#288 - def keyword_loc; end - - # Represents the new name of the global variable that can be used after aliasing. - # - # alias $foo $bar - # ^^^^ - # - # source://prism//lib/prism/node.rb#276 - def new_name; end - - # Represents the old name of the global variable that can be used before aliasing. - # - # alias $foo $bar - # ^^^^ - # - # source://prism//lib/prism/node.rb#282 - def old_name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#305 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#310 - def type; end - end -end - -# Represents the use of the `alias` keyword to alias a method. -# -# alias foo bar -# ^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#328 -class Prism::AliasMethodNode < ::Prism::Node - # Initialize a new AliasMethodNode node. - # - # @return [AliasMethodNode] a new instance of AliasMethodNode - # - # source://prism//lib/prism/node.rb#330 - def initialize(source, node_id, location, flags, new_name, old_name, keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#408 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#341 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#346 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#356 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#351 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?new_name: SymbolNode | InterpolatedSymbolNode, ?old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode, ?keyword_loc: Location) -> AliasMethodNode - # - # source://prism//lib/prism/node.rb#361 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), new_name: T.unsafe(nil), old_name: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#346 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, new_name: SymbolNode | InterpolatedSymbolNode, old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode, keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#369 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#392 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#387 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#380 - def keyword_loc; end - - # attr_reader new_name: SymbolNode | InterpolatedSymbolNode - # - # source://prism//lib/prism/node.rb#374 - def new_name; end - - # attr_reader old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode - # - # source://prism//lib/prism/node.rb#377 - def old_name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#397 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#402 - def type; end - end -end - -# Represents an alternation pattern in pattern matching. -# -# foo => bar | baz -# ^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#420 -class Prism::AlternationPatternNode < ::Prism::Node - # Initialize a new AlternationPatternNode node. - # - # @return [AlternationPatternNode] a new instance of AlternationPatternNode - # - # source://prism//lib/prism/node.rb#422 - def initialize(source, node_id, location, flags, left, right, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#500 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#433 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#438 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#448 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#443 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> AlternationPatternNode - # - # source://prism//lib/prism/node.rb#453 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), left: T.unsafe(nil), right: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#438 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#461 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#484 - sig { override.returns(String) } - def inspect; end - - # attr_reader left: Prism::node - # - # source://prism//lib/prism/node.rb#466 - def left; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#479 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#472 - def operator_loc; end - - # attr_reader right: Prism::node - # - # source://prism//lib/prism/node.rb#469 - def right; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#489 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#494 - def type; end - end -end - -# Represents the use of the `&&` operator or the `and` keyword. -# -# left and right -# ^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#512 -class Prism::AndNode < ::Prism::Node - # Initialize a new AndNode node. - # - # @return [AndNode] a new instance of AndNode - # - # source://prism//lib/prism/node.rb#514 - def initialize(source, node_id, location, flags, left, right, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#607 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#525 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#530 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#540 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#535 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> AndNode - # - # source://prism//lib/prism/node.rb#545 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), left: T.unsafe(nil), right: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#530 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#553 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#591 - sig { override.returns(String) } - def inspect; end - - # Represents the left side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # left and right - # ^^^^ - # - # 1 && 2 - # ^ - # - # source://prism//lib/prism/node.rb#564 - def left; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#586 - def operator; end - - # The location of the `and` keyword or the `&&` operator. - # - # left and right - # ^^^ - # - # source://prism//lib/prism/node.rb#579 - def operator_loc; end - - # Represents the right side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # left && right - # ^^^^^ - # - # 1 and 2 - # ^ - # - # source://prism//lib/prism/node.rb#573 - def right; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#596 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#601 - def type; end - end -end - -# Represents a set of arguments to a method or a keyword. -# -# return foo, bar, baz -# ^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#619 -class Prism::ArgumentsNode < ::Prism::Node - # Initialize a new ArgumentsNode node. - # - # @return [ArgumentsNode] a new instance of ArgumentsNode - # - # source://prism//lib/prism/node.rb#621 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - arguments: T::Array[Prism::Node] - ).void - end - def initialize(source, node_id, location, flags, arguments); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#697 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#630 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # attr_reader arguments: Array[Prism::node] - # - # source://prism//lib/prism/node.rb#678 - sig { returns(T::Array[Prism::Node]) } - def arguments; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#635 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#645 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#640 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def contains_keyword_splat?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#668 - sig { returns(T::Boolean) } - def contains_keyword_splat?; end - - # def contains_keywords?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#663 - sig { returns(T::Boolean) } - def contains_keywords?; end - - # def contains_splat?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#673 - sig { returns(T::Boolean) } - def contains_splat?; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: Array[Prism::node]) -> ArgumentsNode - # - # source://prism//lib/prism/node.rb#650 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - arguments: T::Array[Prism::Node] - ).returns(Prism::ArgumentsNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), arguments: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#635 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: Array[Prism::node] } - # - # source://prism//lib/prism/node.rb#658 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#681 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#686 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#691 - def type; end - end -end - -# Flags for arguments nodes. -# -# source://prism//lib/prism/node.rb#16647 -module Prism::ArgumentsNodeFlags; end - -# if arguments contain keywords -# -# source://prism//lib/prism/node.rb#16649 -Prism::ArgumentsNodeFlags::CONTAINS_KEYWORDS = T.let(T.unsafe(nil), Integer) - -# if arguments contain keyword splat -# -# source://prism//lib/prism/node.rb#16652 -Prism::ArgumentsNodeFlags::CONTAINS_KEYWORD_SPLAT = T.let(T.unsafe(nil), Integer) - -# if arguments contain splat -# -# source://prism//lib/prism/node.rb#16655 -Prism::ArgumentsNodeFlags::CONTAINS_SPLAT = T.let(T.unsafe(nil), Integer) - -# 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://prism//lib/prism/node.rb#709 -class Prism::ArrayNode < ::Prism::Node - # Initialize a new ArrayNode node. - # - # @return [ArrayNode] a new instance of ArrayNode - # - # source://prism//lib/prism/node.rb#711 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - elements: T::Array[Prism::Node], - opening_loc: T.nilable(Prism::Location), - closing_loc: T.nilable(Prism::Location) - ).void - end - def initialize(source, node_id, location, flags, elements, opening_loc, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#825 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#722 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#727 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#804 - sig { returns(T.nilable(String)) } - def closing; end - - # Represents the optional source location for the closing token. - # - # [1,2,3] # "]" - # %w[foo bar baz] # "]" - # %I(apple orange banana) # ")" - # foo = 1, 2, 3 # nil - # - # source://prism//lib/prism/node.rb#786 - sig { returns(T.nilable(Prism::Location)) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#737 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#732 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def contains_splat?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#755 - sig { returns(T::Boolean) } - def contains_splat?; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?elements: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?) -> ArrayNode - # - # source://prism//lib/prism/node.rb#742 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - elements: T::Array[Prism::Node], - opening_loc: T.nilable(Prism::Location), - closing_loc: T.nilable(Prism::Location) - ).returns(Prism::ArrayNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), elements: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#727 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, elements: Array[Prism::node], opening_loc: Location?, closing_loc: Location? } - # - # source://prism//lib/prism/node.rb#750 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # Represent the list of zero or more [non-void expressions](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression) within the array. - # - # source://prism//lib/prism/node.rb#760 - sig { returns(T::Array[Prism::Node]) } - def elements; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#809 - sig { override.returns(String) } - def inspect; end - - # def opening: () -> String? - # - # source://prism//lib/prism/node.rb#799 - sig { returns(T.nilable(String)) } - def opening; end - - # Represents the optional source location for the opening token. - # - # [1,2,3] # "[" - # %w[foo bar baz] # "%w[" - # %I(apple orange banana) # "%I(" - # foo = 1, 2, 3 # nil - # - # source://prism//lib/prism/node.rb#768 - sig { returns(T.nilable(Prism::Location)) } - def opening_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#814 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#819 - def type; end - end -end - -# Flags for array nodes. -# -# source://prism//lib/prism/node.rb#16659 -module Prism::ArrayNodeFlags; end - -# if array contains splat nodes -# -# source://prism//lib/prism/node.rb#16661 -Prism::ArrayNodeFlags::CONTAINS_SPLAT = T.let(T.unsafe(nil), Integer) - -# 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://prism//lib/prism/node.rb#851 -class Prism::ArrayPatternNode < ::Prism::Node - # Initialize a new ArrayPatternNode node. - # - # @return [ArrayPatternNode] a new instance of ArrayPatternNode - # - # source://prism//lib/prism/node.rb#853 - def initialize(source, node_id, location, flags, constant, requireds, rest, posts, opening_loc, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#969 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#867 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#872 - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#948 - def closing; end - - # attr_reader closing_loc: Location? - # - # source://prism//lib/prism/node.rb#930 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#887 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#877 - def compact_child_nodes; end - - # attr_reader constant: Prism::node? - # - # source://prism//lib/prism/node.rb#905 - def constant; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: Prism::node?, ?requireds: Array[Prism::node], ?rest: Prism::node?, ?posts: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?) -> ArrayPatternNode - # - # source://prism//lib/prism/node.rb#892 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), constant: T.unsafe(nil), requireds: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#872 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: Prism::node?, requireds: Array[Prism::node], rest: Prism::node?, posts: Array[Prism::node], opening_loc: Location?, closing_loc: Location? } - # - # source://prism//lib/prism/node.rb#900 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#953 - sig { override.returns(String) } - def inspect; end - - # def opening: () -> String? - # - # source://prism//lib/prism/node.rb#943 - def opening; end - - # attr_reader opening_loc: Location? - # - # source://prism//lib/prism/node.rb#917 - def opening_loc; end - - # attr_reader posts: Array[Prism::node] - # - # source://prism//lib/prism/node.rb#914 - def posts; end - - # attr_reader requireds: Array[Prism::node] - # - # source://prism//lib/prism/node.rb#908 - def requireds; end - - # attr_reader rest: Prism::node? - # - # source://prism//lib/prism/node.rb#911 - def rest; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#958 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#963 - def type; end - end -end - -# Represents a hash key/value pair. -# -# { a => b } -# ^^^^^^ -# -# source://prism//lib/prism/node.rb#986 -class Prism::AssocNode < ::Prism::Node - # Initialize a new AssocNode node. - # - # @return [AssocNode] a new instance of AssocNode - # - # source://prism//lib/prism/node.rb#988 - def initialize(source, node_id, location, flags, key, value, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#1090 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#999 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1004 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#1014 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#1009 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?key: Prism::node, ?value: Prism::node, ?operator_loc: Location?) -> AssocNode - # - # source://prism//lib/prism/node.rb#1019 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), key: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1004 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, key: Prism::node, value: Prism::node, operator_loc: Location? } - # - # source://prism//lib/prism/node.rb#1027 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#1074 - sig { override.returns(String) } - def inspect; end - - # The key of the association. This can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # { a: b } - # ^ - # - # { foo => bar } - # ^^^ - # - # { def a; end => 1 } - # ^^^^^^^^^^ - # - # source://prism//lib/prism/node.rb#1041 - def key; end - - # def operator: () -> String? - # - # source://prism//lib/prism/node.rb#1069 - def operator; end - - # The location of the `=>` operator, if present. - # - # { foo => bar } - # ^^ - # - # source://prism//lib/prism/node.rb#1056 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#1079 - sig { override.returns(Symbol) } - def type; end - - # The value of the association, if present. This can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # { foo => bar } - # ^^^ - # - # { x: 1 } - # ^ - # - # source://prism//lib/prism/node.rb#1050 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#1084 - def type; end - end -end - -# Represents a splat in a hash literal. -# -# { **foo } -# ^^^^^ -# -# source://prism//lib/prism/node.rb#1102 -class Prism::AssocSplatNode < ::Prism::Node - # Initialize a new AssocSplatNode node. - # - # @return [AssocSplatNode] a new instance of AssocSplatNode - # - # source://prism//lib/prism/node.rb#1104 - def initialize(source, node_id, location, flags, value, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#1186 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#1114 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1119 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#1131 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#1124 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node?, ?operator_loc: Location) -> AssocSplatNode - # - # source://prism//lib/prism/node.rb#1136 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1119 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node?, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#1144 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#1170 - sig { override.returns(String) } - def inspect; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#1165 - def operator; end - - # The location of the `**` operator. - # - # { **x } - # ^^ - # - # source://prism//lib/prism/node.rb#1158 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#1175 - sig { override.returns(Symbol) } - def type; end - - # The value to be splatted, if present. Will be missing when keyword rest argument forwarding is used. - # - # { **foo } - # ^^^ - # - # source://prism//lib/prism/node.rb#1152 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#1180 - def type; end - end -end - -# The FFI backend is used on other Ruby implementations. -# -# source://prism//lib/prism.rb#81 -Prism::BACKEND = T.let(T.unsafe(nil), Symbol) - -# Represents reading a reference to a field in the previous match. -# -# $' -# ^^ -# -# source://prism//lib/prism/node.rb#1197 -class Prism::BackReferenceReadNode < ::Prism::Node - # Initialize a new BackReferenceReadNode node. - # - # @return [BackReferenceReadNode] a new instance of BackReferenceReadNode - # - # source://prism//lib/prism/node.rb#1199 - def initialize(source, node_id, location, flags, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#1264 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#1208 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1213 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#1223 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#1218 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> BackReferenceReadNode - # - # source://prism//lib/prism/node.rb#1228 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1213 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#1236 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#1248 - sig { override.returns(String) } - def inspect; end - - # The name of the back-reference variable, including the leading `$`. - # - # $& # name `:$&` - # - # $+ # name `:$+` - # - # source://prism//lib/prism/node.rb#1245 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#1253 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#1258 - def type; end - 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://prism//lib/prism/visitor.rb#14 -class Prism::BasicVisitor - # Calls `accept` on the given node if it is not `nil`, which in turn should - # call back into this visitor by calling the appropriate `visit_*` method. - # - # source://prism//lib/prism/visitor.rb#17 - sig { params(node: T.nilable(Prism::Node)).void } - def visit(node); end - - # Visits each node in `nodes` by calling `accept` on each one. - # - # source://prism//lib/prism/visitor.rb#23 - sig { params(nodes: T::Array[T.nilable(Prism::Node)]).void } - def visit_all(nodes); end - - # Visits the child nodes of `node` by calling `accept` on each one. - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::Node).void } - def visit_child_nodes(node); end -end - -# Represents a begin statement. -# -# begin -# foo -# end -# ^^^^^ -# -# source://prism//lib/prism/node.rb#1276 -class Prism::BeginNode < ::Prism::Node - # Initialize a new BeginNode node. - # - # @return [BeginNode] a new instance of BeginNode - # - # source://prism//lib/prism/node.rb#1278 - def initialize(source, node_id, location, flags, begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#1394 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#1292 - def accept(visitor); end - - # def begin_keyword: () -> String? - # - # source://prism//lib/prism/node.rb#1368 - def begin_keyword; end - - # attr_reader begin_keyword_loc: Location? - # - # source://prism//lib/prism/node.rb#1330 - def begin_keyword_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1297 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#1312 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#1302 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?begin_keyword_loc: Location?, ?statements: StatementsNode?, ?rescue_clause: RescueNode?, ?else_clause: ElseNode?, ?ensure_clause: EnsureNode?, ?end_keyword_loc: Location?) -> BeginNode - # - # source://prism//lib/prism/node.rb#1317 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), begin_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil), rescue_clause: T.unsafe(nil), else_clause: T.unsafe(nil), ensure_clause: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1297 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, begin_keyword_loc: Location?, statements: StatementsNode?, rescue_clause: RescueNode?, else_clause: ElseNode?, ensure_clause: EnsureNode?, end_keyword_loc: Location? } - # - # source://prism//lib/prism/node.rb#1325 - def deconstruct_keys(keys); end - - # attr_reader else_clause: ElseNode? - # - # source://prism//lib/prism/node.rb#1349 - def else_clause; end - - # def end_keyword: () -> String? - # - # source://prism//lib/prism/node.rb#1373 - def end_keyword; end - - # attr_reader end_keyword_loc: Location? - # - # source://prism//lib/prism/node.rb#1355 - def end_keyword_loc; end - - # attr_reader ensure_clause: EnsureNode? - # - # source://prism//lib/prism/node.rb#1352 - def ensure_clause; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#1378 - sig { override.returns(String) } - def inspect; end - - # source://prism//lib/prism/parse_result/newlines.rb#79 - def newline_flag!(lines); end - - # attr_reader rescue_clause: RescueNode? - # - # source://prism//lib/prism/node.rb#1346 - def rescue_clause; end - - # attr_reader statements: StatementsNode? - # - # source://prism//lib/prism/node.rb#1343 - def statements; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#1383 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#1388 - def type; end - end -end - -# Represents a block argument using `&`. -# -# bar(&args) -# ^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#1409 -class Prism::BlockArgumentNode < ::Prism::Node - # Initialize a new BlockArgumentNode node. - # - # @return [BlockArgumentNode] a new instance of BlockArgumentNode - # - # source://prism//lib/prism/node.rb#1411 - def initialize(source, node_id, location, flags, expression, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#1487 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#1421 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1426 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#1438 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#1431 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node?, ?operator_loc: Location) -> BlockArgumentNode - # - # source://prism//lib/prism/node.rb#1443 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), expression: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1426 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node?, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#1451 - def deconstruct_keys(keys); end - - # attr_reader expression: Prism::node? - # - # source://prism//lib/prism/node.rb#1456 - def expression; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#1471 - sig { override.returns(String) } - def inspect; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#1466 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#1459 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#1476 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#1481 - def type; end - end -end - -# Represents a block local variable. -# -# a { |; b| } -# ^ -# -# source://prism//lib/prism/node.rb#1498 -class Prism::BlockLocalVariableNode < ::Prism::Node - # Initialize a new BlockLocalVariableNode node. - # - # @return [BlockLocalVariableNode] a new instance of BlockLocalVariableNode - # - # source://prism//lib/prism/node.rb#1500 - sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer, name: Symbol).void } - def initialize(source, node_id, location, flags, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#1566 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#1509 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1514 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#1524 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#1519 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> BlockLocalVariableNode - # - # source://prism//lib/prism/node.rb#1529 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::BlockLocalVariableNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1514 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#1537 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#1550 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#1547 - sig { returns(Symbol) } - def name; end - - # def repeated_parameter?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#1542 - sig { returns(T::Boolean) } - def repeated_parameter?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#1555 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#1560 - def type; end - end -end - -# Represents a block of ruby code. -# -# [1, 2, 3].each { |i| puts x } -# ^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#1577 -class Prism::BlockNode < ::Prism::Node - # Initialize a new BlockNode node. - # - # @return [BlockNode] a new instance of BlockNode - # - # source://prism//lib/prism/node.rb#1579 - def initialize(source, node_id, location, flags, locals, parameters, body, opening_loc, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#1677 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#1592 - def accept(visitor); end - - # attr_reader body: StatementsNode | BeginNode | nil - # - # source://prism//lib/prism/node.rb#1634 - def body; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1597 - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#1656 - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#1644 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#1610 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#1602 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil, ?body: StatementsNode | BeginNode | nil, ?opening_loc: Location, ?closing_loc: Location) -> BlockNode - # - # source://prism//lib/prism/node.rb#1615 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), parameters: T.unsafe(nil), body: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1597 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil, body: StatementsNode | BeginNode | nil, opening_loc: Location, closing_loc: Location } - # - # source://prism//lib/prism/node.rb#1623 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#1661 - sig { override.returns(String) } - def inspect; end - - # attr_reader locals: Array[Symbol] - # - # source://prism//lib/prism/node.rb#1628 - def locals; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#1651 - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#1637 - def opening_loc; end - - # attr_reader parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil - # - # source://prism//lib/prism/node.rb#1631 - def parameters; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#1666 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#1671 - def type; end - end -end - -# Represents a block parameter of a method, block, or lambda definition. -# -# def a(&b) -# ^^ -# end -# -# source://prism//lib/prism/node.rb#1693 -class Prism::BlockParameterNode < ::Prism::Node - # Initialize a new BlockParameterNode node. - # - # @return [BlockParameterNode] a new instance of BlockParameterNode - # - # source://prism//lib/prism/node.rb#1695 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: T.nilable(Symbol), - name_loc: T.nilable(Prism::Location), - operator_loc: Prism::Location - ).void - end - def initialize(source, node_id, location, flags, name, name_loc, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#1788 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#1706 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1711 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#1721 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#1716 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> BlockParameterNode - # - # source://prism//lib/prism/node.rb#1726 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: T.nilable(Symbol), - name_loc: T.nilable(Prism::Location), - operator_loc: Prism::Location - ).returns(Prism::BlockParameterNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1711 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#1734 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#1772 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol? - # - # source://prism//lib/prism/node.rb#1744 - sig { returns(T.nilable(Symbol)) } - def name; end - - # attr_reader name_loc: Location? - # - # source://prism//lib/prism/node.rb#1747 - sig { returns(T.nilable(Prism::Location)) } - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#1767 - sig { returns(String) } - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#1760 - sig { returns(Prism::Location) } - def operator_loc; end - - # def repeated_parameter?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#1739 - sig { returns(T::Boolean) } - def repeated_parameter?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#1777 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#1782 - def type; end - end -end - -# Represents a block's parameters declaration. -# -# -> (a, b = 1; local) { } -# ^^^^^^^^^^^^^^^^^ -# -# foo do |a, b = 1; local| -# ^^^^^^^^^^^^^^^^^ -# end -# -# source://prism//lib/prism/node.rb#1805 -class Prism::BlockParametersNode < ::Prism::Node - # Initialize a new BlockParametersNode node. - # - # @return [BlockParametersNode] a new instance of BlockParametersNode - # - # source://prism//lib/prism/node.rb#1807 - def initialize(source, node_id, location, flags, parameters, locals, opening_loc, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#1913 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#1819 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1824 - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#1892 - def closing; end - - # attr_reader closing_loc: Location? - # - # source://prism//lib/prism/node.rb#1874 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#1837 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#1829 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parameters: ParametersNode?, ?locals: Array[BlockLocalVariableNode], ?opening_loc: Location?, ?closing_loc: Location?) -> BlockParametersNode - # - # source://prism//lib/prism/node.rb#1842 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), parameters: T.unsafe(nil), locals: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1824 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parameters: ParametersNode?, locals: Array[BlockLocalVariableNode], opening_loc: Location?, closing_loc: Location? } - # - # source://prism//lib/prism/node.rb#1850 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#1897 - sig { override.returns(String) } - def inspect; end - - # attr_reader locals: Array[BlockLocalVariableNode] - # - # source://prism//lib/prism/node.rb#1858 - def locals; end - - # def opening: () -> String? - # - # source://prism//lib/prism/node.rb#1887 - def opening; end - - # attr_reader opening_loc: Location? - # - # source://prism//lib/prism/node.rb#1861 - def opening_loc; end - - # attr_reader parameters: ParametersNode? - # - # source://prism//lib/prism/node.rb#1855 - def parameters; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#1902 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#1907 - def type; end - end -end - -# Represents the use of the `break` keyword. -# -# break foo -# ^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#1927 -class Prism::BreakNode < ::Prism::Node - # Initialize a new BreakNode node. - # - # @return [BreakNode] a new instance of BreakNode - # - # source://prism//lib/prism/node.rb#1929 - def initialize(source, node_id, location, flags, arguments, keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#2011 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#1939 - def accept(visitor); end - - # The arguments to the break statement, if present. These can be any [non-void expressions](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # break foo - # ^^^ - # - # source://prism//lib/prism/node.rb#1977 - def arguments; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1944 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#1956 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#1949 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: ArgumentsNode?, ?keyword_loc: Location) -> BreakNode - # - # source://prism//lib/prism/node.rb#1961 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), arguments: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#1944 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: ArgumentsNode?, keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#1969 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#1995 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#1990 - def keyword; end - - # The location of the `break` keyword. - # - # break foo - # ^^^^^ - # - # source://prism//lib/prism/node.rb#1983 - def keyword_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#2000 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#2005 - def type; end - end -end - -# Represents the use of the `&&=` operator on a call. -# -# foo.bar &&= value -# ^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#2022 -class Prism::CallAndWriteNode < ::Prism::Node - # Initialize a new CallAndWriteNode node. - # - # @return [CallAndWriteNode] a new instance of CallAndWriteNode - # - # source://prism//lib/prism/node.rb#2024 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - message_loc: T.nilable(Prism::Location), - read_name: Symbol, - write_name: Symbol, - operator_loc: Prism::Location, - value: Prism::Node - ).void - end - def initialize(source, node_id, location, flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#2171 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#2039 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def attribute_write?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2085 - sig { returns(T::Boolean) } - def attribute_write?; end - - # def call_operator: () -> String? - # - # source://prism//lib/prism/node.rb#2140 - sig { returns(T.nilable(String)) } - def call_operator; end - - # attr_reader call_operator_loc: Location? - # - # source://prism//lib/prism/node.rb#2098 - sig { returns(T.nilable(Prism::Location)) } - def call_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2044 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#2057 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#2049 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?operator_loc: Location, ?value: Prism::node) -> CallAndWriteNode - # - # source://prism//lib/prism/node.rb#2062 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - message_loc: T.nilable(Prism::Location), - read_name: Symbol, - write_name: Symbol, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::CallAndWriteNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), message_loc: T.unsafe(nil), read_name: T.unsafe(nil), write_name: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2044 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#2070 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def ignore_visibility?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2090 - sig { returns(T::Boolean) } - def ignore_visibility?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#2155 - sig { override.returns(String) } - def inspect; end - - # def message: () -> String? - # - # source://prism//lib/prism/node.rb#2145 - sig { returns(T.nilable(String)) } - def message; end - - # attr_reader message_loc: Location? - # - # source://prism//lib/prism/node.rb#2111 - sig { returns(T.nilable(Prism::Location)) } - def message_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#2150 - sig { returns(String) } - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#2130 - sig { returns(Prism::Location) } - def operator_loc; end - - # attr_reader read_name: Symbol - # - # source://prism//lib/prism/node.rb#2124 - sig { returns(Symbol) } - def read_name; end - - # attr_reader receiver: Prism::node? - # - # source://prism//lib/prism/node.rb#2095 - sig { returns(T.nilable(Prism::Node)) } - def receiver; end - - # def safe_navigation?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2075 - sig { returns(T::Boolean) } - def safe_navigation?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#2160 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#2137 - sig { returns(Prism::Node) } - def value; end - - # def variable_call?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2080 - sig { returns(T::Boolean) } - def variable_call?; end - - # attr_reader write_name: Symbol - # - # source://prism//lib/prism/node.rb#2127 - sig { returns(Symbol) } - def write_name; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#2165 - def type; end - 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://prism//lib/prism/node.rb#2203 -class Prism::CallNode < ::Prism::Node - # Initialize a new CallNode node. - # - # @return [CallNode] a new instance of CallNode - # - # source://prism//lib/prism/node.rb#2205 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - name: Symbol, - message_loc: T.nilable(Prism::Location), - opening_loc: T.nilable(Prism::Location), - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: T.nilable(Prism::Location), - block: T.nilable(Prism::Node) - ).void - end - def initialize(source, node_id, location, flags, receiver, call_operator_loc, name, message_loc, opening_loc, arguments, closing_loc, block); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#2387 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#2221 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # attr_reader arguments: ArgumentsNode? - # - # source://prism//lib/prism/node.rb#2332 - sig { returns(T.nilable(Prism::ArgumentsNode)) } - def arguments; end - - # def attribute_write?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2268 - sig { returns(T::Boolean) } - def attribute_write?; end - - # attr_reader block: Prism::node? - # - # source://prism//lib/prism/node.rb#2348 - sig { returns(T.nilable(Prism::Node)) } - def block; end - - # def call_operator: () -> String? - # - # source://prism//lib/prism/node.rb#2351 - sig { returns(T.nilable(String)) } - def call_operator; end - - # attr_reader call_operator_loc: Location? - # - # source://prism//lib/prism/node.rb#2290 - sig { returns(T.nilable(Prism::Location)) } - def call_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2226 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#2366 - sig { returns(T.nilable(String)) } - def closing; end - - # attr_reader closing_loc: Location? - # - # source://prism//lib/prism/node.rb#2335 - sig { returns(T.nilable(Prism::Location)) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#2240 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#2231 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?name: Symbol, ?message_loc: Location?, ?opening_loc: Location?, ?arguments: ArgumentsNode?, ?closing_loc: Location?, ?block: Prism::node?) -> CallNode - # - # source://prism//lib/prism/node.rb#2245 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - name: Symbol, - message_loc: T.nilable(Prism::Location), - opening_loc: T.nilable(Prism::Location), - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: T.nilable(Prism::Location), - block: T.nilable(Prism::Node) - ).returns(Prism::CallNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), name: T.unsafe(nil), message_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), arguments: T.unsafe(nil), closing_loc: T.unsafe(nil), block: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2226 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, name: Symbol, message_loc: Location?, opening_loc: Location?, arguments: ArgumentsNode?, closing_loc: Location?, block: Prism::node? } - # - # source://prism//lib/prism/node.rb#2253 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # When a call node has the attribute_write flag set, it means that the call - # is using the attribute write syntax. This is either a method call to []= - # or a method call to a method that ends with =. Either way, the = sign is - # present in the source. - # - # Prism returns the message_loc _without_ the = sign attached, because there - # can be any amount of space between the message and the = sign. However, - # sometimes you want the location of the full message including the inner - # space and the = sign. This method provides that. - # - # source://prism//lib/prism/node_ext.rb#331 - sig { returns(T.nilable(Prism::Location)) } - def full_message_loc; end - - # def ignore_visibility?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2273 - sig { returns(T::Boolean) } - def ignore_visibility?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#2371 - sig { override.returns(String) } - def inspect; end - - # def message: () -> String? - # - # source://prism//lib/prism/node.rb#2356 - sig { returns(T.nilable(String)) } - def message; end - - # attr_reader message_loc: Location? - # - # source://prism//lib/prism/node.rb#2306 - sig { returns(T.nilable(Prism::Location)) } - def message_loc; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#2303 - sig { returns(Symbol) } - def name; end - - # def opening: () -> String? - # - # source://prism//lib/prism/node.rb#2361 - sig { returns(T.nilable(String)) } - def opening; end - - # attr_reader opening_loc: Location? - # - # source://prism//lib/prism/node.rb#2319 - sig { returns(T.nilable(Prism::Location)) } - def opening_loc; end - - # The object that the method is being called on. This can be either `nil` or any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # foo.bar - # ^^^ - # - # +foo - # ^^^ - # - # foo + bar - # ^^^ - # - # source://prism//lib/prism/node.rb#2287 - sig { returns(T.nilable(Prism::Node)) } - def receiver; end - - # def safe_navigation?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2258 - sig { returns(T::Boolean) } - def safe_navigation?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#2376 - sig { override.returns(Symbol) } - def type; end - - # def variable_call?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2263 - sig { returns(T::Boolean) } - def variable_call?; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#2381 - def type; end - end -end - -# Flags for call nodes. -# -# source://prism//lib/prism/node.rb#16665 -module Prism::CallNodeFlags; end - -# a call that is an attribute write, so the value being written should be returned -# -# source://prism//lib/prism/node.rb#16673 -Prism::CallNodeFlags::ATTRIBUTE_WRITE = T.let(T.unsafe(nil), Integer) - -# a call that ignores method visibility -# -# source://prism//lib/prism/node.rb#16676 -Prism::CallNodeFlags::IGNORE_VISIBILITY = T.let(T.unsafe(nil), Integer) - -# &. operator -# -# source://prism//lib/prism/node.rb#16667 -Prism::CallNodeFlags::SAFE_NAVIGATION = T.let(T.unsafe(nil), Integer) - -# a call that could have been a local variable -# -# source://prism//lib/prism/node.rb#16670 -Prism::CallNodeFlags::VARIABLE_CALL = T.let(T.unsafe(nil), Integer) - -# Represents the use of an assignment operator on a call. -# -# foo.bar += baz -# ^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#2405 -class Prism::CallOperatorWriteNode < ::Prism::Node - # Initialize a new CallOperatorWriteNode node. - # - # @return [CallOperatorWriteNode] a new instance of CallOperatorWriteNode - # - # source://prism//lib/prism/node.rb#2407 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - message_loc: T.nilable(Prism::Location), - read_name: Symbol, - write_name: Symbol, - binary_operator: Symbol, - binary_operator_loc: Prism::Location, - value: Prism::Node - ).void - end - def initialize(source, node_id, location, flags, receiver, call_operator_loc, message_loc, read_name, write_name, binary_operator, binary_operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#2553 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#2423 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def attribute_write?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2469 - sig { returns(T::Boolean) } - def attribute_write?; end - - # attr_reader binary_operator: Symbol - # - # source://prism//lib/prism/node.rb#2514 - sig { returns(Symbol) } - def binary_operator; end - - # attr_reader binary_operator_loc: Location - # - # source://prism//lib/prism/node.rb#2517 - sig { returns(Prism::Location) } - def binary_operator_loc; end - - # def call_operator: () -> String? - # - # source://prism//lib/prism/node.rb#2527 - sig { returns(T.nilable(String)) } - def call_operator; end - - # attr_reader call_operator_loc: Location? - # - # source://prism//lib/prism/node.rb#2482 - sig { returns(T.nilable(Prism::Location)) } - def call_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2428 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#2441 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#2433 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?binary_operator: Symbol, ?binary_operator_loc: Location, ?value: Prism::node) -> CallOperatorWriteNode - # - # source://prism//lib/prism/node.rb#2446 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - message_loc: T.nilable(Prism::Location), - read_name: Symbol, - write_name: Symbol, - binary_operator: Symbol, - binary_operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::CallOperatorWriteNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), message_loc: T.unsafe(nil), read_name: T.unsafe(nil), write_name: T.unsafe(nil), binary_operator: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2428 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, binary_operator: Symbol, binary_operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#2454 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def ignore_visibility?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2474 - sig { returns(T::Boolean) } - def ignore_visibility?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#2537 - sig { override.returns(String) } - def inspect; end - - # def message: () -> String? - # - # source://prism//lib/prism/node.rb#2532 - sig { returns(T.nilable(String)) } - def message; end - - # attr_reader message_loc: Location? - # - # source://prism//lib/prism/node.rb#2495 - sig { returns(T.nilable(Prism::Location)) } - def message_loc; end - - # Returns the binary operator used to modify the receiver. This method is - # deprecated in favor of #binary_operator. - # - # source://prism//lib/prism/node_ext.rb#339 - def operator; end - - # Returns the location of the binary operator used to modify the receiver. - # This method is deprecated in favor of #binary_operator_loc. - # - # source://prism//lib/prism/node_ext.rb#346 - def operator_loc; end - - # attr_reader read_name: Symbol - # - # source://prism//lib/prism/node.rb#2508 - sig { returns(Symbol) } - def read_name; end - - # attr_reader receiver: Prism::node? - # - # source://prism//lib/prism/node.rb#2479 - sig { returns(T.nilable(Prism::Node)) } - def receiver; end - - # def safe_navigation?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2459 - sig { returns(T::Boolean) } - def safe_navigation?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#2542 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#2524 - sig { returns(Prism::Node) } - def value; end - - # def variable_call?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2464 - sig { returns(T::Boolean) } - def variable_call?; end - - # attr_reader write_name: Symbol - # - # source://prism//lib/prism/node.rb#2511 - sig { returns(Symbol) } - def write_name; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#2547 - def type; end - end -end - -# Represents the use of the `||=` operator on a call. -# -# foo.bar ||= value -# ^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#2571 -class Prism::CallOrWriteNode < ::Prism::Node - # Initialize a new CallOrWriteNode node. - # - # @return [CallOrWriteNode] a new instance of CallOrWriteNode - # - # source://prism//lib/prism/node.rb#2573 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - message_loc: T.nilable(Prism::Location), - read_name: Symbol, - write_name: Symbol, - operator_loc: Prism::Location, - value: Prism::Node - ).void - end - def initialize(source, node_id, location, flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#2720 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#2588 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def attribute_write?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2634 - sig { returns(T::Boolean) } - def attribute_write?; end - - # def call_operator: () -> String? - # - # source://prism//lib/prism/node.rb#2689 - sig { returns(T.nilable(String)) } - def call_operator; end - - # attr_reader call_operator_loc: Location? - # - # source://prism//lib/prism/node.rb#2647 - sig { returns(T.nilable(Prism::Location)) } - def call_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2593 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#2606 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#2598 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?operator_loc: Location, ?value: Prism::node) -> CallOrWriteNode - # - # source://prism//lib/prism/node.rb#2611 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - message_loc: T.nilable(Prism::Location), - read_name: Symbol, - write_name: Symbol, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::CallOrWriteNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), message_loc: T.unsafe(nil), read_name: T.unsafe(nil), write_name: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2593 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#2619 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def ignore_visibility?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2639 - sig { returns(T::Boolean) } - def ignore_visibility?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#2704 - sig { override.returns(String) } - def inspect; end - - # def message: () -> String? - # - # source://prism//lib/prism/node.rb#2694 - sig { returns(T.nilable(String)) } - def message; end - - # attr_reader message_loc: Location? - # - # source://prism//lib/prism/node.rb#2660 - sig { returns(T.nilable(Prism::Location)) } - def message_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#2699 - sig { returns(String) } - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#2679 - sig { returns(Prism::Location) } - def operator_loc; end - - # attr_reader read_name: Symbol - # - # source://prism//lib/prism/node.rb#2673 - sig { returns(Symbol) } - def read_name; end - - # attr_reader receiver: Prism::node? - # - # source://prism//lib/prism/node.rb#2644 - sig { returns(T.nilable(Prism::Node)) } - def receiver; end - - # def safe_navigation?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2624 - sig { returns(T::Boolean) } - def safe_navigation?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#2709 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#2686 - sig { returns(Prism::Node) } - def value; end - - # def variable_call?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2629 - sig { returns(T::Boolean) } - def variable_call?; end - - # attr_reader write_name: Symbol - # - # source://prism//lib/prism/node.rb#2676 - sig { returns(Symbol) } - def write_name; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#2714 - def type; end - end -end - -# Represents assigning to a method call. -# -# foo.bar, = 1 -# ^^^^^^^ -# -# begin -# rescue => foo.bar -# ^^^^^^^ -# end -# -# for foo.bar in baz do end -# ^^^^^^^ -# -# source://prism//lib/prism/node.rb#2745 -class Prism::CallTargetNode < ::Prism::Node - # Initialize a new CallTargetNode node. - # - # @return [CallTargetNode] a new instance of CallTargetNode - # - # source://prism//lib/prism/node.rb#2747 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: Prism::Node, - call_operator_loc: Prism::Location, - name: Symbol, - message_loc: Prism::Location - ).void - end - def initialize(source, node_id, location, flags, receiver, call_operator_loc, name, message_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#2858 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#2759 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def attribute_write?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2802 - sig { returns(T::Boolean) } - def attribute_write?; end - - # def call_operator: () -> String - # - # source://prism//lib/prism/node.rb#2832 - sig { returns(String) } - def call_operator; end - - # attr_reader call_operator_loc: Location - # - # source://prism//lib/prism/node.rb#2815 - sig { returns(Prism::Location) } - def call_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2764 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#2774 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#2769 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?call_operator_loc: Location, ?name: Symbol, ?message_loc: Location) -> CallTargetNode - # - # source://prism//lib/prism/node.rb#2779 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: Prism::Node, - call_operator_loc: Prism::Location, - name: Symbol, - message_loc: Prism::Location - ).returns(Prism::CallTargetNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), name: T.unsafe(nil), message_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2764 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node, call_operator_loc: Location, name: Symbol, message_loc: Location } - # - # source://prism//lib/prism/node.rb#2787 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def ignore_visibility?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2807 - sig { returns(T::Boolean) } - def ignore_visibility?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#2842 - sig { override.returns(String) } - def inspect; end - - # def message: () -> String - # - # source://prism//lib/prism/node.rb#2837 - sig { returns(String) } - def message; end - - # attr_reader message_loc: Location - # - # source://prism//lib/prism/node.rb#2825 - sig { returns(Prism::Location) } - def message_loc; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#2822 - sig { returns(Symbol) } - def name; end - - # attr_reader receiver: Prism::node - # - # source://prism//lib/prism/node.rb#2812 - sig { returns(Prism::Node) } - def receiver; end - - # def safe_navigation?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2792 - sig { returns(T::Boolean) } - def safe_navigation?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#2847 - sig { override.returns(Symbol) } - def type; end - - # def variable_call?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#2797 - sig { returns(T::Boolean) } - def variable_call?; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#2852 - def type; end - end -end - -# Represents assigning to a local variable in pattern matching. -# -# foo => [bar => baz] -# ^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#2872 -class Prism::CapturePatternNode < ::Prism::Node - # Initialize a new CapturePatternNode node. - # - # @return [CapturePatternNode] a new instance of CapturePatternNode - # - # source://prism//lib/prism/node.rb#2874 - def initialize(source, node_id, location, flags, value, target, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#2952 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#2885 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2890 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#2900 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#2895 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?target: Prism::node, ?operator_loc: Location) -> CapturePatternNode - # - # source://prism//lib/prism/node.rb#2905 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil), target: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2890 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, target: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#2913 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#2936 - sig { override.returns(String) } - def inspect; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#2931 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#2924 - def operator_loc; end - - # attr_reader target: Prism::node - # - # source://prism//lib/prism/node.rb#2921 - def target; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#2941 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#2918 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#2946 - def type; end - end -end - -# Represents the use of a case statement for pattern matching. -# -# case true -# in false -# end -# ^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#2966 -class Prism::CaseMatchNode < ::Prism::Node - # Initialize a new CaseMatchNode node. - # - # @return [CaseMatchNode] a new instance of CaseMatchNode - # - # source://prism//lib/prism/node.rb#2968 - def initialize(source, node_id, location, flags, predicate, conditions, else_clause, case_keyword_loc, end_keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#3067 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#2981 - def accept(visitor); end - - # def case_keyword: () -> String - # - # source://prism//lib/prism/node.rb#3041 - def case_keyword; end - - # attr_reader case_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#3027 - def case_keyword_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2986 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#3000 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#2991 - def compact_child_nodes; end - - # attr_reader conditions: Array[Prism::node] - # - # source://prism//lib/prism/node.rb#3021 - def conditions; end - - # Returns the else clause of the case match node. This method is deprecated - # in favor of #else_clause. - # - # source://prism//lib/prism/node_ext.rb#467 - def consequent; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?predicate: Prism::node?, ?conditions: Array[Prism::node], ?else_clause: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location) -> CaseMatchNode - # - # source://prism//lib/prism/node.rb#3005 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), predicate: T.unsafe(nil), conditions: T.unsafe(nil), else_clause: T.unsafe(nil), case_keyword_loc: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#2986 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, predicate: Prism::node?, conditions: Array[Prism::node], else_clause: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#3013 - def deconstruct_keys(keys); end - - # attr_reader else_clause: ElseNode? - # - # source://prism//lib/prism/node.rb#3024 - def else_clause; end - - # def end_keyword: () -> String - # - # source://prism//lib/prism/node.rb#3046 - def end_keyword; end - - # attr_reader end_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#3034 - def end_keyword_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#3051 - sig { override.returns(String) } - def inspect; end - - # attr_reader predicate: Prism::node? - # - # source://prism//lib/prism/node.rb#3018 - def predicate; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#3056 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#3061 - def type; end - end -end - -# Represents the use of a case statement. -# -# case true -# when false -# end -# ^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#3084 -class Prism::CaseNode < ::Prism::Node - # Initialize a new CaseNode node. - # - # @return [CaseNode] a new instance of CaseNode - # - # source://prism//lib/prism/node.rb#3086 - def initialize(source, node_id, location, flags, predicate, conditions, else_clause, case_keyword_loc, end_keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#3185 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#3099 - def accept(visitor); end - - # def case_keyword: () -> String - # - # source://prism//lib/prism/node.rb#3159 - def case_keyword; end - - # attr_reader case_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#3145 - def case_keyword_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3104 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#3118 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#3109 - def compact_child_nodes; end - - # attr_reader conditions: Array[Prism::node] - # - # source://prism//lib/prism/node.rb#3139 - def conditions; end - - # Returns the else clause of the case node. This method is deprecated in - # favor of #else_clause. - # - # source://prism//lib/prism/node_ext.rb#476 - def consequent; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?predicate: Prism::node?, ?conditions: Array[Prism::node], ?else_clause: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location) -> CaseNode - # - # source://prism//lib/prism/node.rb#3123 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), predicate: T.unsafe(nil), conditions: T.unsafe(nil), else_clause: T.unsafe(nil), case_keyword_loc: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3104 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, predicate: Prism::node?, conditions: Array[Prism::node], else_clause: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#3131 - def deconstruct_keys(keys); end - - # attr_reader else_clause: ElseNode? - # - # source://prism//lib/prism/node.rb#3142 - def else_clause; end - - # def end_keyword: () -> String - # - # source://prism//lib/prism/node.rb#3164 - def end_keyword; end - - # attr_reader end_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#3152 - def end_keyword_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#3169 - sig { override.returns(String) } - def inspect; end - - # attr_reader predicate: Prism::node? - # - # source://prism//lib/prism/node.rb#3136 - def predicate; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#3174 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#3179 - def type; end - end -end - -# Represents a class declaration involving the `class` keyword. -# -# class Foo end -# ^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#3200 -class Prism::ClassNode < ::Prism::Node - # Initialize a new ClassNode node. - # - # @return [ClassNode] a new instance of ClassNode - # - # source://prism//lib/prism/node.rb#3202 - def initialize(source, node_id, location, flags, locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#3328 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#3218 - def accept(visitor); end - - # attr_reader body: Prism::node? - # - # source://prism//lib/prism/node.rb#3284 - def body; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3223 - def child_nodes; end - - # def class_keyword: () -> String - # - # source://prism//lib/prism/node.rb#3297 - def class_keyword; end - - # attr_reader class_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#3258 - def class_keyword_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#3237 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#3228 - def compact_child_nodes; end - - # attr_reader constant_path: Prism::node - # - # source://prism//lib/prism/node.rb#3265 - def constant_path; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?class_keyword_loc: Location, ?constant_path: Prism::node, ?inheritance_operator_loc: Location?, ?superclass: Prism::node?, ?body: Prism::node?, ?end_keyword_loc: Location, ?name: Symbol) -> ClassNode - # - # source://prism//lib/prism/node.rb#3242 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), class_keyword_loc: T.unsafe(nil), constant_path: T.unsafe(nil), inheritance_operator_loc: T.unsafe(nil), superclass: T.unsafe(nil), body: T.unsafe(nil), end_keyword_loc: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3223 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], class_keyword_loc: Location, constant_path: Prism::node, inheritance_operator_loc: Location?, superclass: Prism::node?, body: Prism::node?, end_keyword_loc: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#3250 - def deconstruct_keys(keys); end - - # def end_keyword: () -> String - # - # source://prism//lib/prism/node.rb#3307 - def end_keyword; end - - # attr_reader end_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#3287 - def end_keyword_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inheritance_operator: () -> String? - # - # source://prism//lib/prism/node.rb#3302 - def inheritance_operator; end - - # attr_reader inheritance_operator_loc: Location? - # - # source://prism//lib/prism/node.rb#3268 - def inheritance_operator_loc; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#3312 - sig { override.returns(String) } - def inspect; end - - # attr_reader locals: Array[Symbol] - # - # source://prism//lib/prism/node.rb#3255 - def locals; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#3294 - def name; end - - # attr_reader superclass: Prism::node? - # - # source://prism//lib/prism/node.rb#3281 - def superclass; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#3317 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#3322 - def type; end - end -end - -# Represents the use of the `&&=` operator for assignment to a class variable. -# -# @@target &&= value -# ^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#3346 -class Prism::ClassVariableAndWriteNode < ::Prism::Node - # Initialize a new ClassVariableAndWriteNode node. - # - # @return [ClassVariableAndWriteNode] a new instance of ClassVariableAndWriteNode - # - # source://prism//lib/prism/node.rb#3348 - def initialize(source, node_id, location, flags, name, name_loc, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#3434 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#3360 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3365 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#3375 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#3370 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableAndWriteNode - # - # source://prism//lib/prism/node.rb#3380 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3365 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#3388 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#164 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#3418 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#3393 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#3396 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#3413 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#3403 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#3423 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#3410 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#3428 - def type; end - end -end - -# Represents assigning to a class variable using an operator that isn't `=`. -# -# @@target += value -# ^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#3447 -class Prism::ClassVariableOperatorWriteNode < ::Prism::Node - # Initialize a new ClassVariableOperatorWriteNode node. - # - # @return [ClassVariableOperatorWriteNode] a new instance of ClassVariableOperatorWriteNode - # - # source://prism//lib/prism/node.rb#3449 - def initialize(source, node_id, location, flags, name, name_loc, binary_operator_loc, value, binary_operator); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#3534 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#3462 - def accept(visitor); end - - # attr_reader binary_operator: Symbol - # - # source://prism//lib/prism/node.rb#3515 - def binary_operator; end - - # attr_reader binary_operator_loc: Location - # - # source://prism//lib/prism/node.rb#3505 - def binary_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3467 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#3477 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#3472 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ClassVariableOperatorWriteNode - # - # source://prism//lib/prism/node.rb#3482 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), binary_operator: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3467 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol } - # - # source://prism//lib/prism/node.rb#3490 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#176 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#3518 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#3495 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#3498 - def name_loc; end - - # Returns the binary operator used to modify the receiver. This method is - # deprecated in favor of #binary_operator. - # - # source://prism//lib/prism/node_ext.rb#355 - def operator; end - - # Returns the location of the binary operator used to modify the receiver. - # This method is deprecated in favor of #binary_operator_loc. - # - # source://prism//lib/prism/node_ext.rb#362 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#3523 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#3512 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#3528 - def type; end - end -end - -# Represents the use of the `||=` operator for assignment to a class variable. -# -# @@target ||= value -# ^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#3548 -class Prism::ClassVariableOrWriteNode < ::Prism::Node - # Initialize a new ClassVariableOrWriteNode node. - # - # @return [ClassVariableOrWriteNode] a new instance of ClassVariableOrWriteNode - # - # source://prism//lib/prism/node.rb#3550 - def initialize(source, node_id, location, flags, name, name_loc, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#3636 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#3562 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3567 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#3577 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#3572 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableOrWriteNode - # - # source://prism//lib/prism/node.rb#3582 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3567 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#3590 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#170 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#3620 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#3595 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#3598 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#3615 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#3605 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#3625 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#3612 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#3630 - def type; end - end -end - -# Represents referencing a class variable. -# -# @@foo -# ^^^^^ -# -# source://prism//lib/prism/node.rb#3649 -class Prism::ClassVariableReadNode < ::Prism::Node - # Initialize a new ClassVariableReadNode node. - # - # @return [ClassVariableReadNode] a new instance of ClassVariableReadNode - # - # source://prism//lib/prism/node.rb#3651 - def initialize(source, node_id, location, flags, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#3716 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#3660 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3665 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#3675 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#3670 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableReadNode - # - # source://prism//lib/prism/node.rb#3680 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3665 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#3688 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#3700 - sig { override.returns(String) } - def inspect; end - - # The name of the class variable, which is a `@@` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers). - # - # @@abc # name `:@@abc` - # - # @@_test # name `:@@_test` - # - # source://prism//lib/prism/node.rb#3697 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#3705 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#3710 - def type; end - end -end - -# Represents writing to a class variable in a context that doesn't have an explicit value. -# -# @@foo, @@bar = baz -# ^^^^^ ^^^^^ -# -# source://prism//lib/prism/node.rb#3726 -class Prism::ClassVariableTargetNode < ::Prism::Node - # Initialize a new ClassVariableTargetNode node. - # - # @return [ClassVariableTargetNode] a new instance of ClassVariableTargetNode - # - # source://prism//lib/prism/node.rb#3728 - def initialize(source, node_id, location, flags, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#3789 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#3737 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3742 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#3752 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#3747 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableTargetNode - # - # source://prism//lib/prism/node.rb#3757 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3742 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#3765 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#3773 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#3770 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#3778 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#3783 - def type; end - end -end - -# Represents writing to a class variable. -# -# @@foo = 1 -# ^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#3799 -class Prism::ClassVariableWriteNode < ::Prism::Node - # Initialize a new ClassVariableWriteNode node. - # - # @return [ClassVariableWriteNode] a new instance of ClassVariableWriteNode - # - # source://prism//lib/prism/node.rb#3801 - def initialize(source, node_id, location, flags, name, name_loc, value, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#3903 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#3813 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3818 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#3828 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#3823 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ClassVariableWriteNode - # - # source://prism//lib/prism/node.rb#3833 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3818 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#3841 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#3887 - sig { override.returns(String) } - def inspect; end - - # The name of the class variable, which is a `@@` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers). - # - # @@abc = 123 # name `@@abc` - # - # @@_test = :test # name `@@_test` - # - # source://prism//lib/prism/node.rb#3850 - def name; end - - # The location of the variable name. - # - # @@foo = :bar - # ^^^^^ - # - # source://prism//lib/prism/node.rb#3856 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#3882 - def operator; end - - # The location of the `=` operator. - # - # @@foo = :bar - # ^ - # - # source://prism//lib/prism/node.rb#3875 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#3892 - sig { override.returns(Symbol) } - def type; end - - # The value to write to the class variable. This can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # @@foo = :bar - # ^^^^ - # - # @@_xyz = 123 - # ^^^ - # - # source://prism//lib/prism/node.rb#3869 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#3897 - def type; end - end -end - -# This represents a comment that was encountered during parsing. It is the -# base class for all comment types. -# -# source://prism//lib/prism/parse_result.rb#375 -class Prism::Comment - abstract! - - # Create a new comment object with the given location. - # - # @return [Comment] a new instance of Comment - # - # source://prism//lib/prism/parse_result.rb#380 - sig { params(location: Prism::Location).void } - def initialize(location); end - - # Implement the hash pattern matching interface for Comment. - # - # source://prism//lib/prism/parse_result.rb#385 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # The location of this comment in the source. - # - # source://prism//lib/prism/parse_result.rb#377 - sig { returns(Prism::Location) } - def location; end - - # Returns the content of the comment by slicing it from the source code. - # - # source://prism//lib/prism/parse_result.rb#390 - sig { returns(String) } - def slice; end - - sig { abstract.returns(T::Boolean) } - def trailing?; end -end - -# A compiler is a visitor that returns the value of each node as it visits. -# This is as opposed to a visitor which will only walk the tree. This can be -# useful when you are trying to compile a tree into a different format. -# -# For example, to build a representation of the tree as s-expressions, you -# could write: -# -# class SExpressions < Prism::Compiler -# def visit_arguments_node(node) = [:arguments, super] -# def visit_call_node(node) = [:call, super] -# def visit_integer_node(node) = [:integer] -# def visit_program_node(node) = [:program, super] -# end -# -# Prism.parse("1 + 2").value.accept(SExpressions.new) -# # => [:program, [[[:call, [[:integer], [:arguments, [[:integer]]]]]]]] -# -# source://prism//lib/prism/compiler.rb#27 -class Prism::Compiler < ::Prism::Visitor - # Visit an individual node. - # - # source://prism//lib/prism/compiler.rb#29 - sig { params(node: T.nilable(Prism::Node)).returns(T.untyped) } - def visit(node); end - - # Visit the child nodes of the given node. - # Compile a AliasGlobalVariableNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_alias_global_variable_node(node); end - - # Visit the child nodes of the given node. - # Compile a AliasMethodNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_alias_method_node(node); end - - # Visit a list of nodes. - # - # source://prism//lib/prism/compiler.rb#34 - sig { params(nodes: T::Array[T.nilable(Prism::Node)]).returns(T::Array[T.untyped]) } - def visit_all(nodes); end - - # Visit the child nodes of the given node. - # Compile a AlternationPatternNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_alternation_pattern_node(node); end - - # Visit the child nodes of the given node. - # Compile a AndNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_and_node(node); end - - # Visit the child nodes of the given node. - # Compile a ArgumentsNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_arguments_node(node); end - - # Visit the child nodes of the given node. - # Compile a ArrayNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_array_node(node); end - - # Visit the child nodes of the given node. - # Compile a ArrayPatternNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_array_pattern_node(node); end - - # Visit the child nodes of the given node. - # Compile a AssocNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_assoc_node(node); end - - # Visit the child nodes of the given node. - # Compile a AssocSplatNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_assoc_splat_node(node); end - - # Visit the child nodes of the given node. - # Compile a BackReferenceReadNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_back_reference_read_node(node); end - - # Visit the child nodes of the given node. - # Compile a BeginNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_begin_node(node); end - - # Visit the child nodes of the given node. - # Compile a BlockArgumentNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_block_argument_node(node); end - - # Visit the child nodes of the given node. - # Compile a BlockLocalVariableNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_block_local_variable_node(node); end - - # Visit the child nodes of the given node. - # Compile a BlockNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_block_node(node); end - - # Visit the child nodes of the given node. - # Compile a BlockParameterNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_block_parameter_node(node); end - - # Visit the child nodes of the given node. - # Compile a BlockParametersNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_block_parameters_node(node); end - - # Visit the child nodes of the given node. - # Compile a BreakNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_break_node(node); end - - # Visit the child nodes of the given node. - # Compile a CallAndWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_call_and_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a CallNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_call_node(node); end - - # Visit the child nodes of the given node. - # Compile a CallOperatorWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_call_operator_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a CallOrWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_call_or_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a CallTargetNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_call_target_node(node); end - - # Visit the child nodes of the given node. - # Compile a CapturePatternNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_capture_pattern_node(node); end - - # Visit the child nodes of the given node. - # Compile a CaseMatchNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_case_match_node(node); end - - # Visit the child nodes of the given node. - # Compile a CaseNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_case_node(node); end - - # Visit the child nodes of the given node. - # - # source://prism//lib/prism/compiler.rb#39 - sig { params(node: Prism::Node).returns(T::Array[T.untyped]) } - def visit_child_nodes(node); end - - # Visit the child nodes of the given node. - # Compile a ClassNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_class_node(node); end - - # Visit the child nodes of the given node. - # Compile a ClassVariableAndWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_class_variable_and_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a ClassVariableOperatorWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_class_variable_operator_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a ClassVariableOrWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_class_variable_or_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a ClassVariableReadNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_class_variable_read_node(node); end - - # Visit the child nodes of the given node. - # Compile a ClassVariableTargetNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_class_variable_target_node(node); end - - # Visit the child nodes of the given node. - # Compile a ClassVariableWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_class_variable_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantAndWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_and_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantOperatorWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_operator_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantOrWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_or_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantPathAndWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_path_and_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantPathNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_path_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantPathOperatorWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_path_operator_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantPathOrWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_path_or_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantPathTargetNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_path_target_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantPathWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_path_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantReadNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_read_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantTargetNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_target_node(node); end - - # Visit the child nodes of the given node. - # Compile a ConstantWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_constant_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a DefNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_def_node(node); end - - # Visit the child nodes of the given node. - # Compile a DefinedNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_defined_node(node); end - - # Visit the child nodes of the given node. - # Compile a ElseNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_else_node(node); end - - # Visit the child nodes of the given node. - # Compile a EmbeddedStatementsNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_embedded_statements_node(node); end - - # Visit the child nodes of the given node. - # Compile a EmbeddedVariableNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_embedded_variable_node(node); end - - # Visit the child nodes of the given node. - # Compile a EnsureNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_ensure_node(node); end - - # Visit the child nodes of the given node. - # Compile a FalseNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_false_node(node); end - - # Visit the child nodes of the given node. - # Compile a FindPatternNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_find_pattern_node(node); end - - # Visit the child nodes of the given node. - # Compile a FlipFlopNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_flip_flop_node(node); end - - # Visit the child nodes of the given node. - # Compile a FloatNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_float_node(node); end - - # Visit the child nodes of the given node. - # Compile a ForNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_for_node(node); end - - # Visit the child nodes of the given node. - # Compile a ForwardingArgumentsNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_forwarding_arguments_node(node); end - - # Visit the child nodes of the given node. - # Compile a ForwardingParameterNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_forwarding_parameter_node(node); end - - # Visit the child nodes of the given node. - # Compile a ForwardingSuperNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_forwarding_super_node(node); end - - # Visit the child nodes of the given node. - # Compile a GlobalVariableAndWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_global_variable_and_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a GlobalVariableOperatorWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_global_variable_operator_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a GlobalVariableOrWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_global_variable_or_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a GlobalVariableReadNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_global_variable_read_node(node); end - - # Visit the child nodes of the given node. - # Compile a GlobalVariableTargetNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_global_variable_target_node(node); end - - # Visit the child nodes of the given node. - # Compile a GlobalVariableWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_global_variable_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a HashNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_hash_node(node); end - - # Visit the child nodes of the given node. - # Compile a HashPatternNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_hash_pattern_node(node); end - - # Visit the child nodes of the given node. - # Compile a IfNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_if_node(node); end - - # Visit the child nodes of the given node. - # Compile a ImaginaryNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_imaginary_node(node); end - - # Visit the child nodes of the given node. - # Compile a ImplicitNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_implicit_node(node); end - - # Visit the child nodes of the given node. - # Compile a ImplicitRestNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_implicit_rest_node(node); end - - # Visit the child nodes of the given node. - # Compile a InNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_in_node(node); end - - # Visit the child nodes of the given node. - # Compile a IndexAndWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_index_and_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a IndexOperatorWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_index_operator_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a IndexOrWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_index_or_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a IndexTargetNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_index_target_node(node); end - - # Visit the child nodes of the given node. - # Compile a InstanceVariableAndWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_instance_variable_and_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a InstanceVariableOperatorWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_instance_variable_operator_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a InstanceVariableOrWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_instance_variable_or_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a InstanceVariableReadNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_instance_variable_read_node(node); end - - # Visit the child nodes of the given node. - # Compile a InstanceVariableTargetNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_instance_variable_target_node(node); end - - # Visit the child nodes of the given node. - # Compile a InstanceVariableWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_instance_variable_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a IntegerNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_integer_node(node); end - - # Visit the child nodes of the given node. - # Compile a InterpolatedMatchLastLineNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_interpolated_match_last_line_node(node); end - - # Visit the child nodes of the given node. - # Compile a InterpolatedRegularExpressionNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_interpolated_regular_expression_node(node); end - - # Visit the child nodes of the given node. - # Compile a InterpolatedStringNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_interpolated_string_node(node); end - - # Visit the child nodes of the given node. - # Compile a InterpolatedSymbolNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_interpolated_symbol_node(node); end - - # Visit the child nodes of the given node. - # Compile a InterpolatedXStringNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_interpolated_x_string_node(node); end - - # Visit the child nodes of the given node. - # Compile a ItLocalVariableReadNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_it_local_variable_read_node(node); end - - # Visit the child nodes of the given node. - # Compile a ItParametersNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_it_parameters_node(node); end - - # Visit the child nodes of the given node. - # Compile a KeywordHashNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_keyword_hash_node(node); end - - # Visit the child nodes of the given node. - # Compile a KeywordRestParameterNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_keyword_rest_parameter_node(node); end - - # Visit the child nodes of the given node. - # Compile a LambdaNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_lambda_node(node); end - - # Visit the child nodes of the given node. - # Compile a LocalVariableAndWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_local_variable_and_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a LocalVariableOperatorWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_local_variable_operator_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a LocalVariableOrWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_local_variable_or_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a LocalVariableReadNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_local_variable_read_node(node); end - - # Visit the child nodes of the given node. - # Compile a LocalVariableTargetNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_local_variable_target_node(node); end - - # Visit the child nodes of the given node. - # Compile a LocalVariableWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_local_variable_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a MatchLastLineNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_match_last_line_node(node); end - - # Visit the child nodes of the given node. - # Compile a MatchPredicateNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_match_predicate_node(node); end - - # Visit the child nodes of the given node. - # Compile a MatchRequiredNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_match_required_node(node); end - - # Visit the child nodes of the given node. - # Compile a MatchWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_match_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a MissingNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_missing_node(node); end - - # Visit the child nodes of the given node. - # Compile a ModuleNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_module_node(node); end - - # Visit the child nodes of the given node. - # Compile a MultiTargetNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_multi_target_node(node); end - - # Visit the child nodes of the given node. - # Compile a MultiWriteNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_multi_write_node(node); end - - # Visit the child nodes of the given node. - # Compile a NextNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_next_node(node); end - - # Visit the child nodes of the given node. - # Compile a NilNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_nil_node(node); end - - # Visit the child nodes of the given node. - # Compile a NoKeywordsParameterNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_no_keywords_parameter_node(node); end - - # Visit the child nodes of the given node. - # Compile a NumberedParametersNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_numbered_parameters_node(node); end - - # Visit the child nodes of the given node. - # Compile a NumberedReferenceReadNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_numbered_reference_read_node(node); end - - # Visit the child nodes of the given node. - # Compile a OptionalKeywordParameterNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_optional_keyword_parameter_node(node); end - - # Visit the child nodes of the given node. - # Compile a OptionalParameterNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_optional_parameter_node(node); end - - # Visit the child nodes of the given node. - # Compile a OrNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_or_node(node); end - - # Visit the child nodes of the given node. - # Compile a ParametersNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_parameters_node(node); end - - # Visit the child nodes of the given node. - # Compile a ParenthesesNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_parentheses_node(node); end - - # Visit the child nodes of the given node. - # Compile a PinnedExpressionNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_pinned_expression_node(node); end - - # Visit the child nodes of the given node. - # Compile a PinnedVariableNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_pinned_variable_node(node); end - - # Visit the child nodes of the given node. - # Compile a PostExecutionNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_post_execution_node(node); end - - # Visit the child nodes of the given node. - # Compile a PreExecutionNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_pre_execution_node(node); end - - # Visit the child nodes of the given node. - # Compile a ProgramNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_program_node(node); end - - # Visit the child nodes of the given node. - # Compile a RangeNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_range_node(node); end - - # Visit the child nodes of the given node. - # Compile a RationalNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_rational_node(node); end - - # Visit the child nodes of the given node. - # Compile a RedoNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_redo_node(node); end - - # Visit the child nodes of the given node. - # Compile a RegularExpressionNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_regular_expression_node(node); end - - # Visit the child nodes of the given node. - # Compile a RequiredKeywordParameterNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_required_keyword_parameter_node(node); end - - # Visit the child nodes of the given node. - # Compile a RequiredParameterNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_required_parameter_node(node); end - - # Visit the child nodes of the given node. - # Compile a RescueModifierNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_rescue_modifier_node(node); end - - # Visit the child nodes of the given node. - # Compile a RescueNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_rescue_node(node); end - - # Visit the child nodes of the given node. - # Compile a RestParameterNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_rest_parameter_node(node); end - - # Visit the child nodes of the given node. - # Compile a RetryNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_retry_node(node); end - - # Visit the child nodes of the given node. - # Compile a ReturnNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_return_node(node); end - - # Visit the child nodes of the given node. - # Compile a SelfNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_self_node(node); end - - # Visit the child nodes of the given node. - # Compile a ShareableConstantNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_shareable_constant_node(node); end - - # Visit the child nodes of the given node. - # Compile a SingletonClassNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_singleton_class_node(node); end - - # Visit the child nodes of the given node. - # Compile a SourceEncodingNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_source_encoding_node(node); end - - # Visit the child nodes of the given node. - # Compile a SourceFileNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_source_file_node(node); end - - # Visit the child nodes of the given node. - # Compile a SourceLineNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_source_line_node(node); end - - # Visit the child nodes of the given node. - # Compile a SplatNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_splat_node(node); end - - # Visit the child nodes of the given node. - # Compile a StatementsNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_statements_node(node); end - - # Visit the child nodes of the given node. - # Compile a StringNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_string_node(node); end - - # Visit the child nodes of the given node. - # Compile a SuperNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_super_node(node); end - - # Visit the child nodes of the given node. - # Compile a SymbolNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_symbol_node(node); end - - # Visit the child nodes of the given node. - # Compile a TrueNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_true_node(node); end - - # Visit the child nodes of the given node. - # Compile a UndefNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_undef_node(node); end - - # Visit the child nodes of the given node. - # Compile a UnlessNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_unless_node(node); end - - # Visit the child nodes of the given node. - # Compile a UntilNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_until_node(node); end - - # Visit the child nodes of the given node. - # Compile a WhenNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_when_node(node); end - - # Visit the child nodes of the given node. - # Compile a WhileNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_while_node(node); end - - # Visit the child nodes of the given node. - # Compile a XStringNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_x_string_node(node); end - - # Visit the child nodes of the given node. - # Compile a YieldNode node - # - # source://prism//lib/prism/compiler.rb#39 - def visit_yield_node(node); end -end - -# Represents the use of the `&&=` operator for assignment to a constant. -# -# Target &&= value -# ^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#3916 -class Prism::ConstantAndWriteNode < ::Prism::Node - # Initialize a new ConstantAndWriteNode node. - # - # @return [ConstantAndWriteNode] a new instance of ConstantAndWriteNode - # - # source://prism//lib/prism/node.rb#3918 - def initialize(source, node_id, location, flags, name, name_loc, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#4004 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#3930 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3935 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#3945 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#3940 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantAndWriteNode - # - # source://prism//lib/prism/node.rb#3950 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#3935 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#3958 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#182 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#3988 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#3963 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#3966 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#3983 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#3973 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#3993 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#3980 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#3998 - def type; end - end -end - -# Represents assigning to a constant using an operator that isn't `=`. -# -# Target += value -# ^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#4017 -class Prism::ConstantOperatorWriteNode < ::Prism::Node - # Initialize a new ConstantOperatorWriteNode node. - # - # @return [ConstantOperatorWriteNode] a new instance of ConstantOperatorWriteNode - # - # source://prism//lib/prism/node.rb#4019 - def initialize(source, node_id, location, flags, name, name_loc, binary_operator_loc, value, binary_operator); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#4104 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#4032 - def accept(visitor); end - - # attr_reader binary_operator: Symbol - # - # source://prism//lib/prism/node.rb#4085 - def binary_operator; end - - # attr_reader binary_operator_loc: Location - # - # source://prism//lib/prism/node.rb#4075 - def binary_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4037 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#4047 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#4042 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ConstantOperatorWriteNode - # - # source://prism//lib/prism/node.rb#4052 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), binary_operator: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4037 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol } - # - # source://prism//lib/prism/node.rb#4060 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#194 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#4088 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#4065 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#4068 - def name_loc; end - - # Returns the binary operator used to modify the receiver. This method is - # deprecated in favor of #binary_operator. - # - # source://prism//lib/prism/node_ext.rb#371 - def operator; end - - # Returns the location of the binary operator used to modify the receiver. - # This method is deprecated in favor of #binary_operator_loc. - # - # source://prism//lib/prism/node_ext.rb#378 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#4093 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#4082 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#4098 - def type; end - end -end - -# Represents the use of the `||=` operator for assignment to a constant. -# -# Target ||= value -# ^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#4118 -class Prism::ConstantOrWriteNode < ::Prism::Node - # Initialize a new ConstantOrWriteNode node. - # - # @return [ConstantOrWriteNode] a new instance of ConstantOrWriteNode - # - # source://prism//lib/prism/node.rb#4120 - def initialize(source, node_id, location, flags, name, name_loc, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#4206 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#4132 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4137 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#4147 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#4142 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantOrWriteNode - # - # source://prism//lib/prism/node.rb#4152 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4137 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#4160 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#188 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#4190 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#4165 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#4168 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#4185 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#4175 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#4195 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#4182 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#4200 - def type; end - end -end - -# Represents the use of the `&&=` operator for assignment to a constant path. -# -# Parent::Child &&= value -# ^^^^^^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#4219 -class Prism::ConstantPathAndWriteNode < ::Prism::Node - # Initialize a new ConstantPathAndWriteNode node. - # - # @return [ConstantPathAndWriteNode] a new instance of ConstantPathAndWriteNode - # - # source://prism//lib/prism/node.rb#4221 - def initialize(source, node_id, location, flags, target, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#4299 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#4232 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4237 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#4247 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#4242 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathAndWriteNode - # - # source://prism//lib/prism/node.rb#4252 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), target: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4237 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#4260 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#4283 - sig { override.returns(String) } - def inspect; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#4278 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#4268 - def operator_loc; end - - # attr_reader target: ConstantPathNode - # - # source://prism//lib/prism/node.rb#4265 - def target; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#4288 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#4275 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#4293 - def type; end - end -end - -# Represents accessing a constant through a path of `::` operators. -# -# Foo::Bar -# ^^^^^^^^ -# -# source://prism//lib/prism/node.rb#4311 -class Prism::ConstantPathNode < ::Prism::Node - # Initialize a new ConstantPathNode node. - # - # @return [ConstantPathNode] a new instance of ConstantPathNode - # - # source://prism//lib/prism/node.rb#4313 - def initialize(source, node_id, location, flags, parent, name, delimiter_loc, name_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#4422 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#4325 - def accept(visitor); end - - # Previously, we had a child node on this class that contained either a - # constant read or a missing node. To not cause a breaking change, we - # continue to supply that API. - # - # source://prism//lib/prism/node_ext.rb#202 - def child; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4330 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#4342 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#4335 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathNode - # - # source://prism//lib/prism/node.rb#4347 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), parent: T.unsafe(nil), name: T.unsafe(nil), delimiter_loc: T.unsafe(nil), name_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4330 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location } - # - # source://prism//lib/prism/node.rb#4355 - def deconstruct_keys(keys); end - - # def delimiter: () -> String - # - # source://prism//lib/prism/node.rb#4401 - def delimiter; end - - # The location of the `::` delimiter. - # - # ::Foo - # ^^ - # - # One::Two - # ^^ - # - # source://prism//lib/prism/node.rb#4381 - def delimiter_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # Returns the full name of this constant path. For example: "Foo::Bar" - # - # source://prism//lib/prism/node_ext.rb#195 - sig { returns(String) } - def full_name; end - - # Returns the list of parts for the full name of this constant path. - # For example: [:Foo, :Bar] - # - # source://prism//lib/prism/node_ext.rb#173 - sig { returns(T::Array[Symbol]) } - def full_name_parts; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#4406 - sig { override.returns(String) } - def inspect; end - - # The name of the constant being accessed. This could be `nil` in the event of a syntax error. - # - # source://prism//lib/prism/node.rb#4372 - def name; end - - # The location of the name of the constant. - # - # ::Foo - # ^^^ - # - # One::Two - # ^^^ - # - # source://prism//lib/prism/node.rb#4394 - def name_loc; end - - # The left-hand node of the path, if present. It can be `nil` or any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). It will be `nil` when the constant lookup is at the root of the module tree. - # - # Foo::Bar - # ^^^ - # - # self::Test - # ^^^^ - # - # a.b::C - # ^^^ - # - # source://prism//lib/prism/node.rb#4369 - def parent; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#4411 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#4416 - def type; end - end -end - -# An error class raised when dynamic parts are found while computing a -# constant path's full name. For example: -# Foo::Bar::Baz -> does not raise because all parts of the constant path are -# simple constants -# var::Bar::Baz -> raises because the first part of the constant path is a -# local variable -# -# source://prism//lib/prism/node_ext.rb#164 -class Prism::ConstantPathNode::DynamicPartsInConstantPathError < ::StandardError; end - -# An error class raised when missing nodes are found while computing a -# constant path's full name. For example: -# Foo:: -> raises because the constant path is missing the last part -# -# source://prism//lib/prism/node_ext.rb#169 -class Prism::ConstantPathNode::MissingNodesInConstantPathError < ::StandardError; end - -# Represents assigning to a constant path using an operator that isn't `=`. -# -# Parent::Child += value -# ^^^^^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#4435 -class Prism::ConstantPathOperatorWriteNode < ::Prism::Node - # Initialize a new ConstantPathOperatorWriteNode node. - # - # @return [ConstantPathOperatorWriteNode] a new instance of ConstantPathOperatorWriteNode - # - # source://prism//lib/prism/node.rb#4437 - def initialize(source, node_id, location, flags, target, binary_operator_loc, value, binary_operator); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#4514 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#4449 - def accept(visitor); end - - # attr_reader binary_operator: Symbol - # - # source://prism//lib/prism/node.rb#4495 - def binary_operator; end - - # attr_reader binary_operator_loc: Location - # - # source://prism//lib/prism/node.rb#4485 - def binary_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4454 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#4464 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#4459 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ConstantPathOperatorWriteNode - # - # source://prism//lib/prism/node.rb#4469 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), target: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), binary_operator: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4454 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol } - # - # source://prism//lib/prism/node.rb#4477 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#4498 - sig { override.returns(String) } - def inspect; end - - # Returns the binary operator used to modify the receiver. This method is - # deprecated in favor of #binary_operator. - # - # source://prism//lib/prism/node_ext.rb#387 - def operator; end - - # Returns the location of the binary operator used to modify the receiver. - # This method is deprecated in favor of #binary_operator_loc. - # - # source://prism//lib/prism/node_ext.rb#394 - def operator_loc; end - - # attr_reader target: ConstantPathNode - # - # source://prism//lib/prism/node.rb#4482 - def target; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#4503 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#4492 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#4508 - def type; end - end -end - -# Represents the use of the `||=` operator for assignment to a constant path. -# -# Parent::Child ||= value -# ^^^^^^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#4527 -class Prism::ConstantPathOrWriteNode < ::Prism::Node - # Initialize a new ConstantPathOrWriteNode node. - # - # @return [ConstantPathOrWriteNode] a new instance of ConstantPathOrWriteNode - # - # source://prism//lib/prism/node.rb#4529 - def initialize(source, node_id, location, flags, target, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#4607 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#4540 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4545 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#4555 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#4550 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathOrWriteNode - # - # source://prism//lib/prism/node.rb#4560 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), target: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4545 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#4568 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#4591 - sig { override.returns(String) } - def inspect; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#4586 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#4576 - def operator_loc; end - - # attr_reader target: ConstantPathNode - # - # source://prism//lib/prism/node.rb#4573 - def target; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#4596 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#4583 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#4601 - def type; end - end -end - -# Represents writing to a constant path in a context that doesn't have an explicit value. -# -# Foo::Foo, Bar::Bar = baz -# ^^^^^^^^ ^^^^^^^^ -# -# source://prism//lib/prism/node.rb#4619 -class Prism::ConstantPathTargetNode < ::Prism::Node - # Initialize a new ConstantPathTargetNode node. - # - # @return [ConstantPathTargetNode] a new instance of ConstantPathTargetNode - # - # source://prism//lib/prism/node.rb#4621 - def initialize(source, node_id, location, flags, parent, name, delimiter_loc, name_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#4709 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#4633 - def accept(visitor); end - - # Previously, we had a child node on this class that contained either a - # constant read or a missing node. To not cause a breaking change, we - # continue to supply that API. - # - # source://prism//lib/prism/node_ext.rb#243 - def child; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4638 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#4650 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#4643 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathTargetNode - # - # source://prism//lib/prism/node.rb#4655 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), parent: T.unsafe(nil), name: T.unsafe(nil), delimiter_loc: T.unsafe(nil), name_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4638 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, parent: Prism::node?, name: Symbol?, delimiter_loc: Location, name_loc: Location } - # - # source://prism//lib/prism/node.rb#4663 - def deconstruct_keys(keys); end - - # def delimiter: () -> String - # - # source://prism//lib/prism/node.rb#4688 - def delimiter; end - - # attr_reader delimiter_loc: Location - # - # source://prism//lib/prism/node.rb#4674 - def delimiter_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # Returns the full name of this constant path. For example: "Foo::Bar" - # - # source://prism//lib/prism/node_ext.rb#236 - sig { returns(String) } - def full_name; end - - # Returns the list of parts for the full name of this constant path. - # For example: [:Foo, :Bar] - # - # source://prism//lib/prism/node_ext.rb#216 - sig { returns(T::Array[Symbol]) } - def full_name_parts; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#4693 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol? - # - # source://prism//lib/prism/node.rb#4671 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#4681 - def name_loc; end - - # attr_reader parent: Prism::node? - # - # source://prism//lib/prism/node.rb#4668 - def parent; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#4698 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#4703 - def type; end - end -end - -# Represents writing to a constant path. -# -# ::Foo = 1 -# ^^^^^^^^^ -# -# Foo::Bar = 1 -# ^^^^^^^^^^^^ -# -# ::Foo::Bar = 1 -# ^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#4728 -class Prism::ConstantPathWriteNode < ::Prism::Node - # Initialize a new ConstantPathWriteNode node. - # - # @return [ConstantPathWriteNode] a new instance of ConstantPathWriteNode - # - # source://prism//lib/prism/node.rb#4730 - def initialize(source, node_id, location, flags, target, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#4820 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#4741 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4746 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#4756 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#4751 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathWriteNode - # - # source://prism//lib/prism/node.rb#4761 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), target: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4746 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, target: ConstantPathNode, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#4769 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#4804 - sig { override.returns(String) } - def inspect; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#4799 - def operator; end - - # The location of the `=` operator. - # - # ::ABC = 123 - # ^ - # - # source://prism//lib/prism/node.rb#4786 - def operator_loc; end - - # A node representing the constant path being written to. - # - # Foo::Bar = 1 - # ^^^^^^^^ - # - # ::Foo = :abc - # ^^^^^ - # - # source://prism//lib/prism/node.rb#4780 - def target; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#4809 - sig { override.returns(Symbol) } - def type; end - - # The value to write to the constant path. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # FOO::BAR = :abc - # ^^^^ - # - # source://prism//lib/prism/node.rb#4796 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#4814 - def type; end - end -end - -# Represents referencing a constant. -# -# Foo -# ^^^ -# -# source://prism//lib/prism/node.rb#4832 -class Prism::ConstantReadNode < ::Prism::Node - # Initialize a new ConstantReadNode node. - # - # @return [ConstantReadNode] a new instance of ConstantReadNode - # - # source://prism//lib/prism/node.rb#4834 - def initialize(source, node_id, location, flags, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#4899 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#4843 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4848 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#4858 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#4853 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantReadNode - # - # source://prism//lib/prism/node.rb#4863 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4848 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#4871 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # Returns the full name of this constant. For example: "Foo" - # - # source://prism//lib/prism/node_ext.rb#139 - sig { returns(String) } - def full_name; end - - # Returns the list of parts for the full name of this constant. - # For example: [:Foo] - # - # source://prism//lib/prism/node_ext.rb#134 - sig { returns(T::Array[Symbol]) } - def full_name_parts; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#4883 - sig { override.returns(String) } - def inspect; end - - # The name of the [constant](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#constants). - # - # X # name `:X` - # - # SOME_CONSTANT # name `:SOME_CONSTANT` - # - # source://prism//lib/prism/node.rb#4880 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#4888 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#4893 - def type; end - end -end - -# Represents writing to a constant in a context that doesn't have an explicit value. -# -# Foo, Bar = baz -# ^^^ ^^^ -# -# source://prism//lib/prism/node.rb#4909 -class Prism::ConstantTargetNode < ::Prism::Node - # Initialize a new ConstantTargetNode node. - # - # @return [ConstantTargetNode] a new instance of ConstantTargetNode - # - # source://prism//lib/prism/node.rb#4911 - def initialize(source, node_id, location, flags, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#4972 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#4920 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4925 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#4935 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#4930 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantTargetNode - # - # source://prism//lib/prism/node.rb#4940 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#4925 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#4948 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # Returns the full name of this constant. For example: "Foo" - # - # source://prism//lib/prism/node_ext.rb#262 - sig { returns(String) } - def full_name; end - - # Returns the list of parts for the full name of this constant. - # For example: [:Foo] - # - # source://prism//lib/prism/node_ext.rb#257 - sig { returns(T::Array[Symbol]) } - def full_name_parts; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#4956 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#4953 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#4961 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#4966 - def type; end - end -end - -# Represents writing to a constant. -# -# Foo = 1 -# ^^^^^^^ -# -# source://prism//lib/prism/node.rb#4982 -class Prism::ConstantWriteNode < ::Prism::Node - # Initialize a new ConstantWriteNode node. - # - # @return [ConstantWriteNode] a new instance of ConstantWriteNode - # - # source://prism//lib/prism/node.rb#4984 - def initialize(source, node_id, location, flags, name, name_loc, value, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#5086 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#4996 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5001 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#5011 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#5006 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ConstantWriteNode - # - # source://prism//lib/prism/node.rb#5016 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5001 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#5024 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # Returns the full name of this constant. For example: "Foo" - # - # source://prism//lib/prism/node_ext.rb#152 - sig { returns(String) } - def full_name; end - - # Returns the list of parts for the full name of this constant. - # For example: [:Foo] - # - # source://prism//lib/prism/node_ext.rb#147 - sig { returns(T::Array[Symbol]) } - def full_name_parts; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#5070 - sig { override.returns(String) } - def inspect; end - - # The name of the [constant](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#constants). - # - # Foo = :bar # name `:Foo` - # - # XYZ = 1 # name `:XYZ` - # - # source://prism//lib/prism/node.rb#5033 - def name; end - - # The location of the constant name. - # - # FOO = 1 - # ^^^ - # - # source://prism//lib/prism/node.rb#5039 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#5065 - def operator; end - - # The location of the `=` operator. - # - # FOO = :bar - # ^ - # - # source://prism//lib/prism/node.rb#5058 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#5075 - sig { override.returns(Symbol) } - def type; end - - # The value to write to the constant. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # FOO = :bar - # ^^^^ - # - # MyClass = Class.new - # ^^^^^^^^^ - # - # source://prism//lib/prism/node.rb#5052 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#5080 - def type; end - end -end - -# The DSL module provides a set of methods that can be used to create prism -# nodes in a more concise manner. For example, instead of writing: -# -# source = Prism::Source.for("[1]") -# -# Prism::ArrayNode.new( -# source, -# 0, -# Prism::Location.new(source, 0, 3), -# 0, -# [ -# Prism::IntegerNode.new( -# source, -# 0, -# Prism::Location.new(source, 1, 1), -# Prism::IntegerBaseFlags::DECIMAL, -# 1 -# ) -# ], -# Prism::Location.new(source, 0, 1), -# Prism::Location.new(source, 2, 1) -# ) -# -# you could instead write: -# -# class Builder -# include Prism::DSL -# -# attr_reader :default_source -# -# def initialize -# @default_source = source("[1]") -# end -# -# def build -# array_node( -# location: location(start_offset: 0, length: 3), -# elements: [ -# integer_node( -# location: location(start_offset: 1, length: 1), -# flags: integer_base_flag(:decimal), -# value: 1 -# ) -# ], -# opening_loc: location(start_offset: 0, length: 1), -# closing_loc: location(start_offset: 2, length: 1) -# ) -# end -# end -# -# This is mostly helpful in the context of generating trees programmatically. -# -# source://prism//lib/prism/dsl.rb#61 -module Prism::DSL - extend ::Prism::DSL - - # Create a new AliasGlobalVariableNode node. - # - # source://prism//lib/prism/dsl.rb#77 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - new_name: T.any(Prism::GlobalVariableReadNode, Prism::BackReferenceReadNode, Prism::NumberedReferenceReadNode), - old_name: T.any(Prism::GlobalVariableReadNode, Prism::BackReferenceReadNode, Prism::NumberedReferenceReadNode, Prism::SymbolNode, Prism::MissingNode), - keyword_loc: Prism::Location - ).returns(Prism::AliasGlobalVariableNode) - end - def alias_global_variable_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), new_name: T.unsafe(nil), old_name: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # Create a new AliasMethodNode node. - # - # source://prism//lib/prism/dsl.rb#82 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - new_name: T.any(Prism::SymbolNode, Prism::InterpolatedSymbolNode), - old_name: T.any(Prism::SymbolNode, Prism::InterpolatedSymbolNode, Prism::GlobalVariableReadNode, Prism::MissingNode), - keyword_loc: Prism::Location - ).returns(Prism::AliasMethodNode) - end - def alias_method_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), new_name: T.unsafe(nil), old_name: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # Create a new AlternationPatternNode node. - # - # source://prism//lib/prism/dsl.rb#87 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - left: Prism::Node, - right: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::AlternationPatternNode) - end - def alternation_pattern_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), left: T.unsafe(nil), right: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new AndNode node. - # - # source://prism//lib/prism/dsl.rb#92 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - left: Prism::Node, - right: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::AndNode) - end - def and_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), left: T.unsafe(nil), right: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new ArgumentsNode node. - # - # source://prism//lib/prism/dsl.rb#97 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - arguments: T::Array[Prism::Node] - ).returns(Prism::ArgumentsNode) - end - def arguments_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), arguments: T.unsafe(nil)); end - - # Retrieve the value of one of the ArgumentsNodeFlags flags. - # - # source://prism//lib/prism/dsl.rb#832 - sig { params(name: Symbol).returns(Integer) } - def arguments_node_flag(name); end - - # Create a new ArrayNode node. - # - # source://prism//lib/prism/dsl.rb#102 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - elements: T::Array[Prism::Node], - opening_loc: T.nilable(Prism::Location), - closing_loc: T.nilable(Prism::Location) - ).returns(Prism::ArrayNode) - end - def array_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), elements: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Retrieve the value of one of the ArrayNodeFlags flags. - # - # source://prism//lib/prism/dsl.rb#842 - sig { params(name: Symbol).returns(Integer) } - def array_node_flag(name); end - - # Create a new ArrayPatternNode node. - # - # source://prism//lib/prism/dsl.rb#107 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - constant: T.nilable(Prism::Node), - requireds: T::Array[Prism::Node], - rest: T.nilable(Prism::Node), - posts: T::Array[Prism::Node], - opening_loc: T.nilable(Prism::Location), - closing_loc: T.nilable(Prism::Location) - ).returns(Prism::ArrayPatternNode) - end - def array_pattern_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), constant: T.unsafe(nil), requireds: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new AssocNode node. - # - # source://prism//lib/prism/dsl.rb#112 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - key: Prism::Node, - value: Prism::Node, - operator_loc: T.nilable(Prism::Location) - ).returns(Prism::AssocNode) - end - def assoc_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), key: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new AssocSplatNode node. - # - # source://prism//lib/prism/dsl.rb#117 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - value: T.nilable(Prism::Node), - operator_loc: Prism::Location - ).returns(Prism::AssocSplatNode) - end - def assoc_splat_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new BackReferenceReadNode node. - # - # source://prism//lib/prism/dsl.rb#122 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::BackReferenceReadNode) - end - def back_reference_read_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new BeginNode node. - # - # source://prism//lib/prism/dsl.rb#127 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - begin_keyword_loc: T.nilable(Prism::Location), - statements: T.nilable(Prism::StatementsNode), - rescue_clause: T.nilable(Prism::RescueNode), - else_clause: T.nilable(Prism::ElseNode), - ensure_clause: T.nilable(Prism::EnsureNode), - end_keyword_loc: T.nilable(Prism::Location) - ).returns(Prism::BeginNode) - end - def begin_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), begin_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil), rescue_clause: T.unsafe(nil), else_clause: T.unsafe(nil), ensure_clause: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # Create a new BlockArgumentNode node. - # - # source://prism//lib/prism/dsl.rb#132 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - expression: T.nilable(Prism::Node), - operator_loc: Prism::Location - ).returns(Prism::BlockArgumentNode) - end - def block_argument_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), expression: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new BlockLocalVariableNode node. - # - # source://prism//lib/prism/dsl.rb#137 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::BlockLocalVariableNode) - end - def block_local_variable_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new BlockNode node. - # - # source://prism//lib/prism/dsl.rb#142 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - locals: T::Array[Symbol], - parameters: T.nilable(T.any(Prism::BlockParametersNode, Prism::NumberedParametersNode, Prism::ItParametersNode)), - body: T.nilable(T.any(Prism::StatementsNode, Prism::BeginNode)), - opening_loc: Prism::Location, - closing_loc: Prism::Location - ).returns(Prism::BlockNode) - end - def block_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), parameters: T.unsafe(nil), body: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new BlockParameterNode node. - # - # source://prism//lib/prism/dsl.rb#147 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: T.nilable(Symbol), - name_loc: T.nilable(Prism::Location), - operator_loc: Prism::Location - ).returns(Prism::BlockParameterNode) - end - def block_parameter_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new BlockParametersNode node. - # - # source://prism//lib/prism/dsl.rb#152 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - parameters: T.nilable(Prism::ParametersNode), - locals: T::Array[Prism::BlockLocalVariableNode], - opening_loc: T.nilable(Prism::Location), - closing_loc: T.nilable(Prism::Location) - ).returns(Prism::BlockParametersNode) - end - def block_parameters_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), parameters: T.unsafe(nil), locals: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new BreakNode node. - # - # source://prism//lib/prism/dsl.rb#157 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - arguments: T.nilable(Prism::ArgumentsNode), - keyword_loc: Prism::Location - ).returns(Prism::BreakNode) - end - def break_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), arguments: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # Create a new CallAndWriteNode node. - # - # source://prism//lib/prism/dsl.rb#162 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - message_loc: T.nilable(Prism::Location), - read_name: Symbol, - write_name: Symbol, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::CallAndWriteNode) - end - def call_and_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), message_loc: T.unsafe(nil), read_name: T.unsafe(nil), write_name: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new CallNode node. - # - # source://prism//lib/prism/dsl.rb#167 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - name: Symbol, - message_loc: T.nilable(Prism::Location), - opening_loc: T.nilable(Prism::Location), - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: T.nilable(Prism::Location), - block: T.nilable(Prism::Node) - ).returns(Prism::CallNode) - end - def call_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), name: T.unsafe(nil), message_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), arguments: T.unsafe(nil), closing_loc: T.unsafe(nil), block: T.unsafe(nil)); end - - # Retrieve the value of one of the CallNodeFlags flags. - # - # source://prism//lib/prism/dsl.rb#850 - sig { params(name: Symbol).returns(Integer) } - def call_node_flag(name); end - - # Create a new CallOperatorWriteNode node. - # - # source://prism//lib/prism/dsl.rb#172 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - message_loc: T.nilable(Prism::Location), - read_name: Symbol, - write_name: Symbol, - binary_operator: Symbol, - binary_operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::CallOperatorWriteNode) - end - def call_operator_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), message_loc: T.unsafe(nil), read_name: T.unsafe(nil), write_name: T.unsafe(nil), binary_operator: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new CallOrWriteNode node. - # - # source://prism//lib/prism/dsl.rb#177 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - message_loc: T.nilable(Prism::Location), - read_name: Symbol, - write_name: Symbol, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::CallOrWriteNode) - end - def call_or_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), message_loc: T.unsafe(nil), read_name: T.unsafe(nil), write_name: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new CallTargetNode node. - # - # source://prism//lib/prism/dsl.rb#182 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: Prism::Node, - call_operator_loc: Prism::Location, - name: Symbol, - message_loc: Prism::Location - ).returns(Prism::CallTargetNode) - end - def call_target_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), name: T.unsafe(nil), message_loc: T.unsafe(nil)); end - - # Create a new CapturePatternNode node. - # - # source://prism//lib/prism/dsl.rb#187 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - value: Prism::Node, - target: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::CapturePatternNode) - end - def capture_pattern_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil), target: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new CaseMatchNode node. - # - # source://prism//lib/prism/dsl.rb#192 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - predicate: T.nilable(Prism::Node), - conditions: T::Array[Prism::Node], - else_clause: T.nilable(Prism::ElseNode), - case_keyword_loc: Prism::Location, - end_keyword_loc: Prism::Location - ).returns(Prism::CaseMatchNode) - end - def case_match_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), predicate: T.unsafe(nil), conditions: T.unsafe(nil), else_clause: T.unsafe(nil), case_keyword_loc: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # Create a new CaseNode node. - # - # source://prism//lib/prism/dsl.rb#197 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - predicate: T.nilable(Prism::Node), - conditions: T::Array[Prism::Node], - else_clause: T.nilable(Prism::ElseNode), - case_keyword_loc: Prism::Location, - end_keyword_loc: Prism::Location - ).returns(Prism::CaseNode) - end - def case_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), predicate: T.unsafe(nil), conditions: T.unsafe(nil), else_clause: T.unsafe(nil), case_keyword_loc: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # Create a new ClassNode node. - # - # source://prism//lib/prism/dsl.rb#202 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - locals: T::Array[Symbol], - class_keyword_loc: Prism::Location, - constant_path: Prism::Node, - inheritance_operator_loc: T.nilable(Prism::Location), - superclass: T.nilable(Prism::Node), - body: T.nilable(Prism::Node), - end_keyword_loc: Prism::Location, - name: Symbol - ).returns(Prism::ClassNode) - end - def class_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), class_keyword_loc: T.unsafe(nil), constant_path: T.unsafe(nil), inheritance_operator_loc: T.unsafe(nil), superclass: T.unsafe(nil), body: T.unsafe(nil), end_keyword_loc: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new ClassVariableAndWriteNode node. - # - # source://prism//lib/prism/dsl.rb#207 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::ClassVariableAndWriteNode) - end - def class_variable_and_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new ClassVariableOperatorWriteNode node. - # - # source://prism//lib/prism/dsl.rb#212 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - binary_operator_loc: Prism::Location, - value: Prism::Node, - binary_operator: Symbol - ).returns(Prism::ClassVariableOperatorWriteNode) - end - def class_variable_operator_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), binary_operator: T.unsafe(nil)); end - - # Create a new ClassVariableOrWriteNode node. - # - # source://prism//lib/prism/dsl.rb#217 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::ClassVariableOrWriteNode) - end - def class_variable_or_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new ClassVariableReadNode node. - # - # source://prism//lib/prism/dsl.rb#222 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::ClassVariableReadNode) - end - def class_variable_read_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new ClassVariableTargetNode node. - # - # source://prism//lib/prism/dsl.rb#227 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::ClassVariableTargetNode) - end - def class_variable_target_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new ClassVariableWriteNode node. - # - # source://prism//lib/prism/dsl.rb#232 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - value: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::ClassVariableWriteNode) - end - def class_variable_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new ConstantAndWriteNode node. - # - # source://prism//lib/prism/dsl.rb#237 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::ConstantAndWriteNode) - end - def constant_and_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new ConstantOperatorWriteNode node. - # - # source://prism//lib/prism/dsl.rb#242 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - binary_operator_loc: Prism::Location, - value: Prism::Node, - binary_operator: Symbol - ).returns(Prism::ConstantOperatorWriteNode) - end - def constant_operator_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), binary_operator: T.unsafe(nil)); end - - # Create a new ConstantOrWriteNode node. - # - # source://prism//lib/prism/dsl.rb#247 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::ConstantOrWriteNode) - end - def constant_or_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new ConstantPathAndWriteNode node. - # - # source://prism//lib/prism/dsl.rb#252 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - target: Prism::ConstantPathNode, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::ConstantPathAndWriteNode) - end - def constant_path_and_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), target: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new ConstantPathNode node. - # - # source://prism//lib/prism/dsl.rb#257 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - parent: T.nilable(Prism::Node), - name: T.nilable(Symbol), - delimiter_loc: Prism::Location, - name_loc: Prism::Location - ).returns(Prism::ConstantPathNode) - end - def constant_path_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), parent: T.unsafe(nil), name: T.unsafe(nil), delimiter_loc: T.unsafe(nil), name_loc: T.unsafe(nil)); end - - # Create a new ConstantPathOperatorWriteNode node. - # - # source://prism//lib/prism/dsl.rb#262 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - target: Prism::ConstantPathNode, - binary_operator_loc: Prism::Location, - value: Prism::Node, - binary_operator: Symbol - ).returns(Prism::ConstantPathOperatorWriteNode) - end - def constant_path_operator_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), target: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), binary_operator: T.unsafe(nil)); end - - # Create a new ConstantPathOrWriteNode node. - # - # source://prism//lib/prism/dsl.rb#267 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - target: Prism::ConstantPathNode, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::ConstantPathOrWriteNode) - end - def constant_path_or_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), target: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new ConstantPathTargetNode node. - # - # source://prism//lib/prism/dsl.rb#272 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - parent: T.nilable(Prism::Node), - name: T.nilable(Symbol), - delimiter_loc: Prism::Location, - name_loc: Prism::Location - ).returns(Prism::ConstantPathTargetNode) - end - def constant_path_target_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), parent: T.unsafe(nil), name: T.unsafe(nil), delimiter_loc: T.unsafe(nil), name_loc: T.unsafe(nil)); end - - # Create a new ConstantPathWriteNode node. - # - # source://prism//lib/prism/dsl.rb#277 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - target: Prism::ConstantPathNode, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::ConstantPathWriteNode) - end - def constant_path_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), target: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new ConstantReadNode node. - # - # source://prism//lib/prism/dsl.rb#282 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::ConstantReadNode) - end - def constant_read_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new ConstantTargetNode node. - # - # source://prism//lib/prism/dsl.rb#287 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::ConstantTargetNode) - end - def constant_target_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new ConstantWriteNode node. - # - # source://prism//lib/prism/dsl.rb#292 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - value: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::ConstantWriteNode) - end - def constant_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new DefNode node. - # - # source://prism//lib/prism/dsl.rb#297 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - receiver: T.nilable(Prism::Node), - parameters: T.nilable(Prism::ParametersNode), - body: T.nilable(Prism::Node), - locals: T::Array[Symbol], - def_keyword_loc: Prism::Location, - operator_loc: T.nilable(Prism::Location), - lparen_loc: T.nilable(Prism::Location), - rparen_loc: T.nilable(Prism::Location), - equal_loc: T.nilable(Prism::Location), - end_keyword_loc: T.nilable(Prism::Location) - ).returns(Prism::DefNode) - end - def def_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), receiver: T.unsafe(nil), parameters: T.unsafe(nil), body: T.unsafe(nil), locals: T.unsafe(nil), def_keyword_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), lparen_loc: T.unsafe(nil), rparen_loc: T.unsafe(nil), equal_loc: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # Create a new DefinedNode node. - # - # source://prism//lib/prism/dsl.rb#302 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - lparen_loc: T.nilable(Prism::Location), - value: Prism::Node, - rparen_loc: T.nilable(Prism::Location), - keyword_loc: Prism::Location - ).returns(Prism::DefinedNode) - end - def defined_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), lparen_loc: T.unsafe(nil), value: T.unsafe(nil), rparen_loc: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # Create a new ElseNode node. - # - # source://prism//lib/prism/dsl.rb#307 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - else_keyword_loc: Prism::Location, - statements: T.nilable(Prism::StatementsNode), - end_keyword_loc: T.nilable(Prism::Location) - ).returns(Prism::ElseNode) - end - def else_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), else_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # Create a new EmbeddedStatementsNode node. - # - # source://prism//lib/prism/dsl.rb#312 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - statements: T.nilable(Prism::StatementsNode), - closing_loc: Prism::Location - ).returns(Prism::EmbeddedStatementsNode) - end - def embedded_statements_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), statements: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new EmbeddedVariableNode node. - # - # source://prism//lib/prism/dsl.rb#317 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - operator_loc: Prism::Location, - variable: Prism::Node - ).returns(Prism::EmbeddedVariableNode) - end - def embedded_variable_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), operator_loc: T.unsafe(nil), variable: T.unsafe(nil)); end - - # Retrieve the value of one of the EncodingFlags flags. - # - # source://prism//lib/prism/dsl.rb#861 - sig { params(name: Symbol).returns(Integer) } - def encoding_flag(name); end - - # Create a new EnsureNode node. - # - # source://prism//lib/prism/dsl.rb#322 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - ensure_keyword_loc: Prism::Location, - statements: T.nilable(Prism::StatementsNode), - end_keyword_loc: Prism::Location - ).returns(Prism::EnsureNode) - end - def ensure_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), ensure_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # Create a new FalseNode node. - # - # source://prism//lib/prism/dsl.rb#327 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::FalseNode) - end - def false_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new FindPatternNode node. - # - # source://prism//lib/prism/dsl.rb#332 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - constant: T.nilable(Prism::Node), - left: Prism::Node, - requireds: T::Array[Prism::Node], - right: Prism::Node, - opening_loc: T.nilable(Prism::Location), - closing_loc: T.nilable(Prism::Location) - ).returns(Prism::FindPatternNode) - end - def find_pattern_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), constant: T.unsafe(nil), left: T.unsafe(nil), requireds: T.unsafe(nil), right: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new FlipFlopNode node. - # - # source://prism//lib/prism/dsl.rb#337 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - left: T.nilable(Prism::Node), - right: T.nilable(Prism::Node), - operator_loc: Prism::Location - ).returns(Prism::FlipFlopNode) - end - def flip_flop_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), left: T.unsafe(nil), right: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new FloatNode node. - # - # source://prism//lib/prism/dsl.rb#342 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - value: Float - ).returns(Prism::FloatNode) - end - def float_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new ForNode node. - # - # source://prism//lib/prism/dsl.rb#347 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - index: Prism::Node, - collection: Prism::Node, - statements: T.nilable(Prism::StatementsNode), - for_keyword_loc: Prism::Location, - in_keyword_loc: Prism::Location, - do_keyword_loc: T.nilable(Prism::Location), - end_keyword_loc: Prism::Location - ).returns(Prism::ForNode) - end - def for_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), index: T.unsafe(nil), collection: T.unsafe(nil), statements: T.unsafe(nil), for_keyword_loc: T.unsafe(nil), in_keyword_loc: T.unsafe(nil), do_keyword_loc: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # Create a new ForwardingArgumentsNode node. - # - # source://prism//lib/prism/dsl.rb#352 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::ForwardingArgumentsNode) - end - def forwarding_arguments_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new ForwardingParameterNode node. - # - # source://prism//lib/prism/dsl.rb#357 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::ForwardingParameterNode) - end - def forwarding_parameter_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new ForwardingSuperNode node. - # - # source://prism//lib/prism/dsl.rb#362 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - block: T.nilable(Prism::BlockNode) - ).returns(Prism::ForwardingSuperNode) - end - def forwarding_super_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), block: T.unsafe(nil)); end - - # Create a new GlobalVariableAndWriteNode node. - # - # source://prism//lib/prism/dsl.rb#367 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::GlobalVariableAndWriteNode) - end - def global_variable_and_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new GlobalVariableOperatorWriteNode node. - # - # source://prism//lib/prism/dsl.rb#372 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - binary_operator_loc: Prism::Location, - value: Prism::Node, - binary_operator: Symbol - ).returns(Prism::GlobalVariableOperatorWriteNode) - end - def global_variable_operator_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), binary_operator: T.unsafe(nil)); end - - # Create a new GlobalVariableOrWriteNode node. - # - # source://prism//lib/prism/dsl.rb#377 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::GlobalVariableOrWriteNode) - end - def global_variable_or_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new GlobalVariableReadNode node. - # - # source://prism//lib/prism/dsl.rb#382 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::GlobalVariableReadNode) - end - def global_variable_read_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new GlobalVariableTargetNode node. - # - # source://prism//lib/prism/dsl.rb#387 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::GlobalVariableTargetNode) - end - def global_variable_target_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new GlobalVariableWriteNode node. - # - # source://prism//lib/prism/dsl.rb#392 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - value: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::GlobalVariableWriteNode) - end - def global_variable_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new HashNode node. - # - # source://prism//lib/prism/dsl.rb#397 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - elements: T::Array[T.any(Prism::AssocNode, Prism::AssocSplatNode)], - closing_loc: Prism::Location - ).returns(Prism::HashNode) - end - def hash_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), elements: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new HashPatternNode node. - # - # source://prism//lib/prism/dsl.rb#402 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - constant: T.nilable(Prism::Node), - elements: T::Array[Prism::AssocNode], - rest: T.nilable(T.any(Prism::AssocSplatNode, Prism::NoKeywordsParameterNode)), - opening_loc: T.nilable(Prism::Location), - closing_loc: T.nilable(Prism::Location) - ).returns(Prism::HashPatternNode) - end - def hash_pattern_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), constant: T.unsafe(nil), elements: T.unsafe(nil), rest: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new IfNode node. - # - # source://prism//lib/prism/dsl.rb#407 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - if_keyword_loc: T.nilable(Prism::Location), - predicate: Prism::Node, - then_keyword_loc: T.nilable(Prism::Location), - statements: T.nilable(Prism::StatementsNode), - subsequent: T.nilable(T.any(Prism::ElseNode, Prism::IfNode)), - end_keyword_loc: T.nilable(Prism::Location) - ).returns(Prism::IfNode) - end - def if_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), if_keyword_loc: T.unsafe(nil), predicate: T.unsafe(nil), then_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil), subsequent: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # Create a new ImaginaryNode node. - # - # source://prism//lib/prism/dsl.rb#412 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - numeric: T.any(Prism::FloatNode, Prism::IntegerNode, Prism::RationalNode) - ).returns(Prism::ImaginaryNode) - end - def imaginary_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), numeric: T.unsafe(nil)); end - - # Create a new ImplicitNode node. - # - # source://prism//lib/prism/dsl.rb#417 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - value: Prism::Node - ).returns(Prism::ImplicitNode) - end - def implicit_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new ImplicitRestNode node. - # - # source://prism//lib/prism/dsl.rb#422 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::ImplicitRestNode) - end - def implicit_rest_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new InNode node. - # - # source://prism//lib/prism/dsl.rb#427 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - pattern: Prism::Node, - statements: T.nilable(Prism::StatementsNode), - in_loc: Prism::Location, - then_loc: T.nilable(Prism::Location) - ).returns(Prism::InNode) - end - def in_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), pattern: T.unsafe(nil), statements: T.unsafe(nil), in_loc: T.unsafe(nil), then_loc: T.unsafe(nil)); end - - # Create a new IndexAndWriteNode node. - # - # source://prism//lib/prism/dsl.rb#432 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node), - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::IndexAndWriteNode) - end - def index_and_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), arguments: T.unsafe(nil), closing_loc: T.unsafe(nil), block: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new IndexOperatorWriteNode node. - # - # source://prism//lib/prism/dsl.rb#437 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node), - binary_operator: Symbol, - binary_operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::IndexOperatorWriteNode) - end - def index_operator_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), arguments: T.unsafe(nil), closing_loc: T.unsafe(nil), block: T.unsafe(nil), binary_operator: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new IndexOrWriteNode node. - # - # source://prism//lib/prism/dsl.rb#442 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node), - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::IndexOrWriteNode) - end - def index_or_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), arguments: T.unsafe(nil), closing_loc: T.unsafe(nil), block: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new IndexTargetNode node. - # - # source://prism//lib/prism/dsl.rb#447 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: Prism::Node, - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node) - ).returns(Prism::IndexTargetNode) - end - def index_target_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), opening_loc: T.unsafe(nil), arguments: T.unsafe(nil), closing_loc: T.unsafe(nil), block: T.unsafe(nil)); end - - # Create a new InstanceVariableAndWriteNode node. - # - # source://prism//lib/prism/dsl.rb#452 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::InstanceVariableAndWriteNode) - end - def instance_variable_and_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new InstanceVariableOperatorWriteNode node. - # - # source://prism//lib/prism/dsl.rb#457 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - binary_operator_loc: Prism::Location, - value: Prism::Node, - binary_operator: Symbol - ).returns(Prism::InstanceVariableOperatorWriteNode) - end - def instance_variable_operator_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), binary_operator: T.unsafe(nil)); end - - # Create a new InstanceVariableOrWriteNode node. - # - # source://prism//lib/prism/dsl.rb#462 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::InstanceVariableOrWriteNode) - end - def instance_variable_or_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new InstanceVariableReadNode node. - # - # source://prism//lib/prism/dsl.rb#467 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::InstanceVariableReadNode) - end - def instance_variable_read_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new InstanceVariableTargetNode node. - # - # source://prism//lib/prism/dsl.rb#472 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::InstanceVariableTargetNode) - end - def instance_variable_target_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new InstanceVariableWriteNode node. - # - # source://prism//lib/prism/dsl.rb#477 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - value: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::InstanceVariableWriteNode) - end - def instance_variable_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Retrieve the value of one of the IntegerBaseFlags flags. - # - # source://prism//lib/prism/dsl.rb#870 - sig { params(name: Symbol).returns(Integer) } - def integer_base_flag(name); end - - # Create a new IntegerNode node. - # - # source://prism//lib/prism/dsl.rb#482 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - value: Integer - ).returns(Prism::IntegerNode) - end - def integer_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new InterpolatedMatchLastLineNode node. - # - # source://prism//lib/prism/dsl.rb#487 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)], - closing_loc: Prism::Location - ).returns(Prism::InterpolatedMatchLastLineNode) - end - def interpolated_match_last_line_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), parts: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new InterpolatedRegularExpressionNode node. - # - # source://prism//lib/prism/dsl.rb#492 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)], - closing_loc: Prism::Location - ).returns(Prism::InterpolatedRegularExpressionNode) - end - def interpolated_regular_expression_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), parts: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new InterpolatedStringNode node. - # - # source://prism//lib/prism/dsl.rb#497 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: T.nilable(Prism::Location), - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode, Prism::InterpolatedStringNode)], - closing_loc: T.nilable(Prism::Location) - ).returns(Prism::InterpolatedStringNode) - end - def interpolated_string_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), parts: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Retrieve the value of one of the InterpolatedStringNodeFlags flags. - # - # source://prism//lib/prism/dsl.rb#881 - sig { params(name: Symbol).returns(Integer) } - def interpolated_string_node_flag(name); end - - # Create a new InterpolatedSymbolNode node. - # - # source://prism//lib/prism/dsl.rb#502 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: T.nilable(Prism::Location), - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)], - closing_loc: T.nilable(Prism::Location) - ).returns(Prism::InterpolatedSymbolNode) - end - def interpolated_symbol_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), parts: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new InterpolatedXStringNode node. - # - # source://prism//lib/prism/dsl.rb#507 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)], - closing_loc: Prism::Location - ).returns(Prism::InterpolatedXStringNode) - end - def interpolated_x_string_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), parts: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new ItLocalVariableReadNode node. - # - # source://prism//lib/prism/dsl.rb#512 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::ItLocalVariableReadNode) - end - def it_local_variable_read_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new ItParametersNode node. - # - # source://prism//lib/prism/dsl.rb#517 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::ItParametersNode) - end - def it_parameters_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new KeywordHashNode node. - # - # source://prism//lib/prism/dsl.rb#522 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - elements: T::Array[T.any(Prism::AssocNode, Prism::AssocSplatNode)] - ).returns(Prism::KeywordHashNode) - end - def keyword_hash_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), elements: T.unsafe(nil)); end - - # Retrieve the value of one of the KeywordHashNodeFlags flags. - # - # source://prism//lib/prism/dsl.rb#890 - sig { params(name: Symbol).returns(Integer) } - def keyword_hash_node_flag(name); end - - # Create a new KeywordRestParameterNode node. - # - # source://prism//lib/prism/dsl.rb#527 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: T.nilable(Symbol), - name_loc: T.nilable(Prism::Location), - operator_loc: Prism::Location - ).returns(Prism::KeywordRestParameterNode) - end - def keyword_rest_parameter_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new LambdaNode node. - # - # source://prism//lib/prism/dsl.rb#532 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - locals: T::Array[Symbol], - operator_loc: Prism::Location, - opening_loc: Prism::Location, - closing_loc: Prism::Location, - parameters: T.nilable(Prism::Node), - body: T.nilable(Prism::Node) - ).returns(Prism::LambdaNode) - end - def lambda_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), operator_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), parameters: T.unsafe(nil), body: T.unsafe(nil)); end - - # Create a new LocalVariableAndWriteNode node. - # - # source://prism//lib/prism/dsl.rb#537 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node, - name: Symbol, - depth: Integer - ).returns(Prism::LocalVariableAndWriteNode) - end - def local_variable_and_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil), name: T.unsafe(nil), depth: T.unsafe(nil)); end - - # Create a new LocalVariableOperatorWriteNode node. - # - # source://prism//lib/prism/dsl.rb#542 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name_loc: Prism::Location, - binary_operator_loc: Prism::Location, - value: Prism::Node, - name: Symbol, - binary_operator: Symbol, - depth: Integer - ).returns(Prism::LocalVariableOperatorWriteNode) - end - def local_variable_operator_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name_loc: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), name: T.unsafe(nil), binary_operator: T.unsafe(nil), depth: T.unsafe(nil)); end - - # Create a new LocalVariableOrWriteNode node. - # - # source://prism//lib/prism/dsl.rb#547 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node, - name: Symbol, - depth: Integer - ).returns(Prism::LocalVariableOrWriteNode) - end - def local_variable_or_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil), name: T.unsafe(nil), depth: T.unsafe(nil)); end - - # Create a new LocalVariableReadNode node. - # - # source://prism//lib/prism/dsl.rb#552 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - depth: Integer - ).returns(Prism::LocalVariableReadNode) - end - def local_variable_read_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), depth: T.unsafe(nil)); end - - # Create a new LocalVariableTargetNode node. - # - # source://prism//lib/prism/dsl.rb#557 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - depth: Integer - ).returns(Prism::LocalVariableTargetNode) - end - def local_variable_target_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), depth: T.unsafe(nil)); end - - # Create a new LocalVariableWriteNode node. - # - # source://prism//lib/prism/dsl.rb#562 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - depth: Integer, - name_loc: Prism::Location, - value: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::LocalVariableWriteNode) - end - def local_variable_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), depth: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new Location object. - # - # source://prism//lib/prism/dsl.rb#72 - sig { params(source: Prism::Source, start_offset: Integer, length: Integer).returns(Prism::Location) } - def location(source: T.unsafe(nil), start_offset: T.unsafe(nil), length: T.unsafe(nil)); end - - # Retrieve the value of one of the LoopFlags flags. - # - # source://prism//lib/prism/dsl.rb#898 - sig { params(name: Symbol).returns(Integer) } - def loop_flag(name); end - - # Create a new MatchLastLineNode node. - # - # source://prism//lib/prism/dsl.rb#567 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - content_loc: Prism::Location, - closing_loc: Prism::Location, - unescaped: String - ).returns(Prism::MatchLastLineNode) - end - def match_last_line_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), content_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), unescaped: T.unsafe(nil)); end - - # Create a new MatchPredicateNode node. - # - # source://prism//lib/prism/dsl.rb#572 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - value: Prism::Node, - pattern: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::MatchPredicateNode) - end - def match_predicate_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil), pattern: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new MatchRequiredNode node. - # - # source://prism//lib/prism/dsl.rb#577 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - value: Prism::Node, - pattern: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::MatchRequiredNode) - end - def match_required_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil), pattern: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new MatchWriteNode node. - # - # source://prism//lib/prism/dsl.rb#582 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - call: Prism::CallNode, - targets: T::Array[Prism::LocalVariableTargetNode] - ).returns(Prism::MatchWriteNode) - end - def match_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), call: T.unsafe(nil), targets: T.unsafe(nil)); end - - # Create a new MissingNode node. - # - # source://prism//lib/prism/dsl.rb#587 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::MissingNode) - end - def missing_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new ModuleNode node. - # - # source://prism//lib/prism/dsl.rb#592 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - locals: T::Array[Symbol], - module_keyword_loc: Prism::Location, - constant_path: Prism::Node, - body: T.nilable(Prism::Node), - end_keyword_loc: Prism::Location, - name: Symbol - ).returns(Prism::ModuleNode) - end - def module_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), module_keyword_loc: T.unsafe(nil), constant_path: T.unsafe(nil), body: T.unsafe(nil), end_keyword_loc: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new MultiTargetNode node. - # - # source://prism//lib/prism/dsl.rb#597 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - lefts: T::Array[T.any(Prism::LocalVariableTargetNode, Prism::InstanceVariableTargetNode, Prism::ClassVariableTargetNode, Prism::GlobalVariableTargetNode, Prism::ConstantTargetNode, Prism::ConstantPathTargetNode, Prism::CallTargetNode, Prism::IndexTargetNode, Prism::MultiTargetNode, Prism::RequiredParameterNode, Prism::BackReferenceReadNode, Prism::NumberedReferenceReadNode)], - rest: T.nilable(T.any(Prism::ImplicitRestNode, Prism::SplatNode)), - rights: T::Array[T.any(Prism::LocalVariableTargetNode, Prism::InstanceVariableTargetNode, Prism::ClassVariableTargetNode, Prism::GlobalVariableTargetNode, Prism::ConstantTargetNode, Prism::ConstantPathTargetNode, Prism::CallTargetNode, Prism::IndexTargetNode, Prism::MultiTargetNode, Prism::RequiredParameterNode, Prism::BackReferenceReadNode)], - lparen_loc: T.nilable(Prism::Location), - rparen_loc: T.nilable(Prism::Location) - ).returns(Prism::MultiTargetNode) - end - def multi_target_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), lefts: T.unsafe(nil), rest: T.unsafe(nil), rights: T.unsafe(nil), lparen_loc: T.unsafe(nil), rparen_loc: T.unsafe(nil)); end - - # Create a new MultiWriteNode node. - # - # source://prism//lib/prism/dsl.rb#602 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - lefts: T::Array[T.any(Prism::LocalVariableTargetNode, Prism::InstanceVariableTargetNode, Prism::ClassVariableTargetNode, Prism::GlobalVariableTargetNode, Prism::ConstantTargetNode, Prism::ConstantPathTargetNode, Prism::CallTargetNode, Prism::IndexTargetNode, Prism::MultiTargetNode)], - rest: T.nilable(T.any(Prism::ImplicitRestNode, Prism::SplatNode)), - rights: T::Array[T.any(Prism::LocalVariableTargetNode, Prism::InstanceVariableTargetNode, Prism::ClassVariableTargetNode, Prism::GlobalVariableTargetNode, Prism::ConstantTargetNode, Prism::ConstantPathTargetNode, Prism::CallTargetNode, Prism::IndexTargetNode, Prism::MultiTargetNode)], - lparen_loc: T.nilable(Prism::Location), - rparen_loc: T.nilable(Prism::Location), - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::MultiWriteNode) - end - def multi_write_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), lefts: T.unsafe(nil), rest: T.unsafe(nil), rights: T.unsafe(nil), lparen_loc: T.unsafe(nil), rparen_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new NextNode node. - # - # source://prism//lib/prism/dsl.rb#607 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - arguments: T.nilable(Prism::ArgumentsNode), - keyword_loc: Prism::Location - ).returns(Prism::NextNode) - end - def next_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), arguments: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # Create a new NilNode node. - # - # source://prism//lib/prism/dsl.rb#612 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::NilNode) - end - def nil_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new NoKeywordsParameterNode node. - # - # source://prism//lib/prism/dsl.rb#617 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - operator_loc: Prism::Location, - keyword_loc: Prism::Location - ).returns(Prism::NoKeywordsParameterNode) - end - def no_keywords_parameter_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), operator_loc: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # Create a new NumberedParametersNode node. - # - # source://prism//lib/prism/dsl.rb#622 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - maximum: Integer - ).returns(Prism::NumberedParametersNode) - end - def numbered_parameters_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), maximum: T.unsafe(nil)); end - - # Create a new NumberedReferenceReadNode node. - # - # source://prism//lib/prism/dsl.rb#627 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - number: Integer - ).returns(Prism::NumberedReferenceReadNode) - end - def numbered_reference_read_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), number: T.unsafe(nil)); end - - # Create a new OptionalKeywordParameterNode node. - # - # source://prism//lib/prism/dsl.rb#632 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::OptionalKeywordParameterNode) - end - def optional_keyword_parameter_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new OptionalParameterNode node. - # - # source://prism//lib/prism/dsl.rb#637 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::OptionalParameterNode) - end - def optional_parameter_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # Create a new OrNode node. - # - # source://prism//lib/prism/dsl.rb#642 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - left: Prism::Node, - right: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::OrNode) - end - def or_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), left: T.unsafe(nil), right: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Retrieve the value of one of the ParameterFlags flags. - # - # source://prism//lib/prism/dsl.rb#906 - sig { params(name: Symbol).returns(Integer) } - def parameter_flag(name); end - - # Create a new ParametersNode node. - # - # source://prism//lib/prism/dsl.rb#647 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - requireds: T::Array[T.any(Prism::RequiredParameterNode, Prism::MultiTargetNode)], - optionals: T::Array[Prism::OptionalParameterNode], - rest: T.nilable(T.any(Prism::RestParameterNode, Prism::ImplicitRestNode)), - posts: T::Array[T.any(Prism::RequiredParameterNode, Prism::MultiTargetNode, Prism::KeywordRestParameterNode, Prism::NoKeywordsParameterNode, Prism::ForwardingParameterNode)], - keywords: T::Array[T.any(Prism::RequiredKeywordParameterNode, Prism::OptionalKeywordParameterNode)], - keyword_rest: T.nilable(T.any(Prism::KeywordRestParameterNode, Prism::ForwardingParameterNode, Prism::NoKeywordsParameterNode)), - block: T.nilable(Prism::BlockParameterNode) - ).returns(Prism::ParametersNode) - end - def parameters_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), requireds: T.unsafe(nil), optionals: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), keywords: T.unsafe(nil), keyword_rest: T.unsafe(nil), block: T.unsafe(nil)); end - - # Create a new ParenthesesNode node. - # - # source://prism//lib/prism/dsl.rb#652 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - body: T.nilable(Prism::Node), - opening_loc: Prism::Location, - closing_loc: Prism::Location - ).returns(Prism::ParenthesesNode) - end - def parentheses_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), body: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new PinnedExpressionNode node. - # - # source://prism//lib/prism/dsl.rb#657 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - expression: Prism::Node, - operator_loc: Prism::Location, - lparen_loc: Prism::Location, - rparen_loc: Prism::Location - ).returns(Prism::PinnedExpressionNode) - end - def pinned_expression_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), expression: T.unsafe(nil), operator_loc: T.unsafe(nil), lparen_loc: T.unsafe(nil), rparen_loc: T.unsafe(nil)); end - - # Create a new PinnedVariableNode node. - # - # source://prism//lib/prism/dsl.rb#662 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - variable: Prism::Node, - operator_loc: Prism::Location - ).returns(Prism::PinnedVariableNode) - end - def pinned_variable_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), variable: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new PostExecutionNode node. - # - # source://prism//lib/prism/dsl.rb#667 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - statements: T.nilable(Prism::StatementsNode), - keyword_loc: Prism::Location, - opening_loc: Prism::Location, - closing_loc: Prism::Location - ).returns(Prism::PostExecutionNode) - end - def post_execution_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), statements: T.unsafe(nil), keyword_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new PreExecutionNode node. - # - # source://prism//lib/prism/dsl.rb#672 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - statements: T.nilable(Prism::StatementsNode), - keyword_loc: Prism::Location, - opening_loc: Prism::Location, - closing_loc: Prism::Location - ).returns(Prism::PreExecutionNode) - end - def pre_execution_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), statements: T.unsafe(nil), keyword_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # Create a new ProgramNode node. - # - # source://prism//lib/prism/dsl.rb#677 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - locals: T::Array[Symbol], - statements: Prism::StatementsNode - ).returns(Prism::ProgramNode) - end - def program_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), statements: T.unsafe(nil)); end - - # Retrieve the value of one of the RangeFlags flags. - # - # source://prism//lib/prism/dsl.rb#914 - sig { params(name: Symbol).returns(Integer) } - def range_flag(name); end - - # Create a new RangeNode node. - # - # source://prism//lib/prism/dsl.rb#682 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - left: T.nilable(Prism::Node), - right: T.nilable(Prism::Node), - operator_loc: Prism::Location - ).returns(Prism::RangeNode) - end - def range_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), left: T.unsafe(nil), right: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new RationalNode node. - # - # source://prism//lib/prism/dsl.rb#687 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - numerator: Integer, - denominator: Integer - ).returns(Prism::RationalNode) - end - def rational_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), numerator: T.unsafe(nil), denominator: T.unsafe(nil)); end - - # Create a new RedoNode node. - # - # source://prism//lib/prism/dsl.rb#692 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::RedoNode) - end - def redo_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Retrieve the value of one of the RegularExpressionFlags flags. - # - # source://prism//lib/prism/dsl.rb#922 - sig { params(name: Symbol).returns(Integer) } - def regular_expression_flag(name); end - - # Create a new RegularExpressionNode node. - # - # source://prism//lib/prism/dsl.rb#697 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - content_loc: Prism::Location, - closing_loc: Prism::Location, - unescaped: String - ).returns(Prism::RegularExpressionNode) - end - def regular_expression_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), content_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), unescaped: T.unsafe(nil)); end - - # Create a new RequiredKeywordParameterNode node. - # - # source://prism//lib/prism/dsl.rb#702 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location - ).returns(Prism::RequiredKeywordParameterNode) - end - def required_keyword_parameter_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil)); end - - # Create a new RequiredParameterNode node. - # - # source://prism//lib/prism/dsl.rb#707 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::RequiredParameterNode) - end - def required_parameter_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # Create a new RescueModifierNode node. - # - # source://prism//lib/prism/dsl.rb#712 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - expression: Prism::Node, - keyword_loc: Prism::Location, - rescue_expression: Prism::Node - ).returns(Prism::RescueModifierNode) - end - def rescue_modifier_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), expression: T.unsafe(nil), keyword_loc: T.unsafe(nil), rescue_expression: T.unsafe(nil)); end - - # Create a new RescueNode node. - # - # source://prism//lib/prism/dsl.rb#717 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - exceptions: T::Array[Prism::Node], - operator_loc: T.nilable(Prism::Location), - reference: T.nilable(Prism::Node), - statements: T.nilable(Prism::StatementsNode), - subsequent: T.nilable(Prism::RescueNode) - ).returns(Prism::RescueNode) - end - def rescue_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), exceptions: T.unsafe(nil), operator_loc: T.unsafe(nil), reference: T.unsafe(nil), statements: T.unsafe(nil), subsequent: T.unsafe(nil)); end - - # Create a new RestParameterNode node. - # - # source://prism//lib/prism/dsl.rb#722 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: T.nilable(Symbol), - name_loc: T.nilable(Prism::Location), - operator_loc: Prism::Location - ).returns(Prism::RestParameterNode) - end - def rest_parameter_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # Create a new RetryNode node. - # - # source://prism//lib/prism/dsl.rb#727 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::RetryNode) - end - def retry_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new ReturnNode node. - # - # source://prism//lib/prism/dsl.rb#732 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode) - ).returns(Prism::ReturnNode) - end - def return_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), arguments: T.unsafe(nil)); end - - # Create a new SelfNode node. - # - # source://prism//lib/prism/dsl.rb#737 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::SelfNode) - end - def self_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new ShareableConstantNode node. - # - # source://prism//lib/prism/dsl.rb#742 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - write: T.any(Prism::ConstantWriteNode, Prism::ConstantAndWriteNode, Prism::ConstantOrWriteNode, Prism::ConstantOperatorWriteNode, Prism::ConstantPathWriteNode, Prism::ConstantPathAndWriteNode, Prism::ConstantPathOrWriteNode, Prism::ConstantPathOperatorWriteNode) - ).returns(Prism::ShareableConstantNode) - end - def shareable_constant_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), write: T.unsafe(nil)); end - - # Retrieve the value of one of the ShareableConstantNodeFlags flags. - # - # source://prism//lib/prism/dsl.rb#940 - sig { params(name: Symbol).returns(Integer) } - def shareable_constant_node_flag(name); end - - # Create a new SingletonClassNode node. - # - # source://prism//lib/prism/dsl.rb#747 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - locals: T::Array[Symbol], - class_keyword_loc: Prism::Location, - operator_loc: Prism::Location, - expression: Prism::Node, - body: T.nilable(Prism::Node), - end_keyword_loc: Prism::Location - ).returns(Prism::SingletonClassNode) - end - def singleton_class_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), class_keyword_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), expression: T.unsafe(nil), body: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # Create a new Source object. - # - # source://prism//lib/prism/dsl.rb#67 - sig { params(string: String).returns(Prism::Source) } - def source(string); end - - # Create a new SourceEncodingNode node. - # - # source://prism//lib/prism/dsl.rb#752 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::SourceEncodingNode) - end - def source_encoding_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new SourceFileNode node. - # - # source://prism//lib/prism/dsl.rb#757 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - filepath: String - ).returns(Prism::SourceFileNode) - end - def source_file_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), filepath: T.unsafe(nil)); end - - # Create a new SourceLineNode node. - # - # source://prism//lib/prism/dsl.rb#762 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::SourceLineNode) - end - def source_line_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new SplatNode node. - # - # source://prism//lib/prism/dsl.rb#767 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - operator_loc: Prism::Location, - expression: T.nilable(Prism::Node) - ).returns(Prism::SplatNode) - end - def splat_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), operator_loc: T.unsafe(nil), expression: T.unsafe(nil)); end - - # Create a new StatementsNode node. - # - # source://prism//lib/prism/dsl.rb#772 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - body: T::Array[Prism::Node] - ).returns(Prism::StatementsNode) - end - def statements_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), body: T.unsafe(nil)); end - - # Retrieve the value of one of the StringFlags flags. - # - # source://prism//lib/prism/dsl.rb#950 - sig { params(name: Symbol).returns(Integer) } - def string_flag(name); end - - # Create a new StringNode node. - # - # source://prism//lib/prism/dsl.rb#777 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: T.nilable(Prism::Location), - content_loc: Prism::Location, - closing_loc: T.nilable(Prism::Location), - unescaped: String - ).returns(Prism::StringNode) - end - def string_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), content_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), unescaped: T.unsafe(nil)); end - - # Create a new SuperNode node. - # - # source://prism//lib/prism/dsl.rb#782 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - lparen_loc: T.nilable(Prism::Location), - arguments: T.nilable(Prism::ArgumentsNode), - rparen_loc: T.nilable(Prism::Location), - block: T.nilable(Prism::Node) - ).returns(Prism::SuperNode) - end - def super_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), lparen_loc: T.unsafe(nil), arguments: T.unsafe(nil), rparen_loc: T.unsafe(nil), block: T.unsafe(nil)); end - - # Retrieve the value of one of the SymbolFlags flags. - # - # source://prism//lib/prism/dsl.rb#961 - sig { params(name: Symbol).returns(Integer) } - def symbol_flag(name); end - - # Create a new SymbolNode node. - # - # source://prism//lib/prism/dsl.rb#787 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: T.nilable(Prism::Location), - value_loc: T.nilable(Prism::Location), - closing_loc: T.nilable(Prism::Location), - unescaped: String - ).returns(Prism::SymbolNode) - end - def symbol_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), value_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), unescaped: T.unsafe(nil)); end - - # Create a new TrueNode node. - # - # source://prism//lib/prism/dsl.rb#792 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer - ).returns(Prism::TrueNode) - end - def true_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # Create a new UndefNode node. - # - # source://prism//lib/prism/dsl.rb#797 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - names: T::Array[T.any(Prism::SymbolNode, Prism::InterpolatedSymbolNode)], - keyword_loc: Prism::Location - ).returns(Prism::UndefNode) - end - def undef_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), names: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # Create a new UnlessNode node. - # - # source://prism//lib/prism/dsl.rb#802 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - predicate: Prism::Node, - then_keyword_loc: T.nilable(Prism::Location), - statements: T.nilable(Prism::StatementsNode), - else_clause: T.nilable(Prism::ElseNode), - end_keyword_loc: T.nilable(Prism::Location) - ).returns(Prism::UnlessNode) - end - def unless_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), predicate: T.unsafe(nil), then_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil), else_clause: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # Create a new UntilNode node. - # - # source://prism//lib/prism/dsl.rb#807 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - closing_loc: T.nilable(Prism::Location), - predicate: Prism::Node, - statements: T.nilable(Prism::StatementsNode) - ).returns(Prism::UntilNode) - end - def until_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), predicate: T.unsafe(nil), statements: T.unsafe(nil)); end - - # Create a new WhenNode node. - # - # source://prism//lib/prism/dsl.rb#812 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - conditions: T::Array[Prism::Node], - then_keyword_loc: T.nilable(Prism::Location), - statements: T.nilable(Prism::StatementsNode) - ).returns(Prism::WhenNode) - end - def when_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), conditions: T.unsafe(nil), then_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil)); end - - # Create a new WhileNode node. - # - # source://prism//lib/prism/dsl.rb#817 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - closing_loc: T.nilable(Prism::Location), - predicate: Prism::Node, - statements: T.nilable(Prism::StatementsNode) - ).returns(Prism::WhileNode) - end - def while_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), predicate: T.unsafe(nil), statements: T.unsafe(nil)); end - - # Create a new XStringNode node. - # - # source://prism//lib/prism/dsl.rb#822 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - content_loc: Prism::Location, - closing_loc: Prism::Location, - unescaped: String - ).returns(Prism::XStringNode) - end - def x_string_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), content_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), unescaped: T.unsafe(nil)); end - - # Create a new YieldNode node. - # - # source://prism//lib/prism/dsl.rb#827 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - lparen_loc: T.nilable(Prism::Location), - arguments: T.nilable(Prism::ArgumentsNode), - rparen_loc: T.nilable(Prism::Location) - ).returns(Prism::YieldNode) - end - def yield_node(source: T.unsafe(nil), node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), lparen_loc: T.unsafe(nil), arguments: T.unsafe(nil), rparen_loc: T.unsafe(nil)); end - - private - - # The default location object that gets attached to nodes if no location is - # specified, which uses the given source. - # - # source://prism//lib/prism/dsl.rb#980 - sig { returns(Prism::Location) } - def default_location; end - - # The default node that gets attached to nodes if no node is specified for a - # required node field. - # - # source://prism//lib/prism/dsl.rb#986 - sig { params(source: Prism::Source, location: Prism::Location).returns(Prism::Node) } - def default_node(source, location); end - - # The default source object that gets attached to nodes and locations if no - # source is specified. - # - # source://prism//lib/prism/dsl.rb#974 - sig { returns(Prism::Source) } - def default_source; end -end - -# Represents a method definition. -# -# def method -# end -# ^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#5100 -class Prism::DefNode < ::Prism::Node - # Initialize a new DefNode node. - # - # @return [DefNode] a new instance of DefNode - # - # source://prism//lib/prism/node.rb#5102 - def initialize(source, node_id, location, flags, name, name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#5299 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#5122 - def accept(visitor); end - - # attr_reader body: Prism::node? - # - # source://prism//lib/prism/node.rb#5175 - def body; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5127 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#5141 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#5132 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?receiver: Prism::node?, ?parameters: ParametersNode?, ?body: Prism::node?, ?locals: Array[Symbol], ?def_keyword_loc: Location, ?operator_loc: Location?, ?lparen_loc: Location?, ?rparen_loc: Location?, ?equal_loc: Location?, ?end_keyword_loc: Location?) -> DefNode - # - # source://prism//lib/prism/node.rb#5146 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), receiver: T.unsafe(nil), parameters: T.unsafe(nil), body: T.unsafe(nil), locals: T.unsafe(nil), def_keyword_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), lparen_loc: T.unsafe(nil), rparen_loc: T.unsafe(nil), equal_loc: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5127 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, receiver: Prism::node?, parameters: ParametersNode?, body: Prism::node?, locals: Array[Symbol], def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location? } - # - # source://prism//lib/prism/node.rb#5154 - def deconstruct_keys(keys); end - - # def def_keyword: () -> String - # - # source://prism//lib/prism/node.rb#5253 - def def_keyword; end - - # attr_reader def_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#5181 - def def_keyword_loc; end - - # def end_keyword: () -> String? - # - # source://prism//lib/prism/node.rb#5278 - def end_keyword; end - - # attr_reader end_keyword_loc: Location? - # - # source://prism//lib/prism/node.rb#5240 - def end_keyword_loc; end - - # def equal: () -> String? - # - # source://prism//lib/prism/node.rb#5273 - def equal; end - - # attr_reader equal_loc: Location? - # - # source://prism//lib/prism/node.rb#5227 - def equal_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#5283 - sig { override.returns(String) } - def inspect; end - - # attr_reader locals: Array[Symbol] - # - # source://prism//lib/prism/node.rb#5178 - def locals; end - - # def lparen: () -> String? - # - # source://prism//lib/prism/node.rb#5263 - def lparen; end - - # attr_reader lparen_loc: Location? - # - # source://prism//lib/prism/node.rb#5201 - def lparen_loc; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#5159 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#5162 - def name_loc; end - - # def operator: () -> String? - # - # source://prism//lib/prism/node.rb#5258 - def operator; end - - # attr_reader operator_loc: Location? - # - # source://prism//lib/prism/node.rb#5188 - def operator_loc; end - - # attr_reader parameters: ParametersNode? - # - # source://prism//lib/prism/node.rb#5172 - def parameters; end - - # attr_reader receiver: Prism::node? - # - # source://prism//lib/prism/node.rb#5169 - def receiver; end - - # def rparen: () -> String? - # - # source://prism//lib/prism/node.rb#5268 - def rparen; end - - # attr_reader rparen_loc: Location? - # - # source://prism//lib/prism/node.rb#5214 - def rparen_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#5288 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#5293 - def type; end - end -end - -# Represents the use of the `defined?` keyword. -# -# defined?(a) -# ^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#5321 -class Prism::DefinedNode < ::Prism::Node - # Initialize a new DefinedNode node. - # - # @return [DefinedNode] a new instance of DefinedNode - # - # source://prism//lib/prism/node.rb#5323 - def initialize(source, node_id, location, flags, lparen_loc, value, rparen_loc, keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#5435 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#5335 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5340 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#5350 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#5345 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?lparen_loc: Location?, ?value: Prism::node, ?rparen_loc: Location?, ?keyword_loc: Location) -> DefinedNode - # - # source://prism//lib/prism/node.rb#5355 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), lparen_loc: T.unsafe(nil), value: T.unsafe(nil), rparen_loc: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5340 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, lparen_loc: Location?, value: Prism::node, rparen_loc: Location?, keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#5363 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#5419 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#5414 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#5397 - def keyword_loc; end - - # def lparen: () -> String? - # - # source://prism//lib/prism/node.rb#5404 - def lparen; end - - # attr_reader lparen_loc: Location? - # - # source://prism//lib/prism/node.rb#5368 - def lparen_loc; end - - # def rparen: () -> String? - # - # source://prism//lib/prism/node.rb#5409 - def rparen; end - - # attr_reader rparen_loc: Location? - # - # source://prism//lib/prism/node.rb#5384 - def rparen_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#5424 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#5381 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#5429 - def type; end - end -end - -# source://prism//lib/prism/desugar_compiler.rb#4 -class Prism::DesugarAndWriteNode - include ::Prism::DSL - - # @return [DesugarAndWriteNode] a new instance of DesugarAndWriteNode - # - # source://prism//lib/prism/desugar_compiler.rb#9 - def initialize(node, default_source, read_class, write_class, **arguments); end - - # Returns the value of attribute arguments. - # - # source://prism//lib/prism/desugar_compiler.rb#7 - def arguments; end - - # Desugar `x &&= y` to `x && x = y` - # - # source://prism//lib/prism/desugar_compiler.rb#18 - def compile; end - - # Returns the value of attribute default_source. - # - # source://prism//lib/prism/desugar_compiler.rb#7 - def default_source; end - - # Returns the value of attribute node. - # - # source://prism//lib/prism/desugar_compiler.rb#7 - def node; end - - # Returns the value of attribute read_class. - # - # source://prism//lib/prism/desugar_compiler.rb#7 - def read_class; end - - # Returns the value of attribute write_class. - # - # source://prism//lib/prism/desugar_compiler.rb#7 - def write_class; end -end - -# DesugarCompiler is a compiler that desugars Ruby code into a more primitive -# form. This is useful for consumers that want to deal with fewer node types. -# -# source://prism//lib/prism/desugar_compiler.rb#255 -class Prism::DesugarCompiler < ::Prism::MutationCompiler - # @@foo &&= bar - # - # becomes - # - # @@foo && @@foo = bar - # - # source://prism//lib/prism/desugar_compiler.rb#261 - def visit_class_variable_and_write_node(node); end - - # @@foo += bar - # - # becomes - # - # @@foo = @@foo + bar - # - # source://prism//lib/prism/desugar_compiler.rb#279 - def visit_class_variable_operator_write_node(node); end - - # @@foo ||= bar - # - # becomes - # - # defined?(@@foo) ? @@foo : @@foo = bar - # - # source://prism//lib/prism/desugar_compiler.rb#270 - def visit_class_variable_or_write_node(node); end - - # Foo &&= bar - # - # becomes - # - # Foo && Foo = bar - # - # source://prism//lib/prism/desugar_compiler.rb#288 - def visit_constant_and_write_node(node); end - - # Foo += bar - # - # becomes - # - # Foo = Foo + bar - # - # source://prism//lib/prism/desugar_compiler.rb#306 - def visit_constant_operator_write_node(node); end - - # Foo ||= bar - # - # becomes - # - # defined?(Foo) ? Foo : Foo = bar - # - # source://prism//lib/prism/desugar_compiler.rb#297 - def visit_constant_or_write_node(node); end - - # $foo &&= bar - # - # becomes - # - # $foo && $foo = bar - # - # source://prism//lib/prism/desugar_compiler.rb#315 - def visit_global_variable_and_write_node(node); end - - # $foo += bar - # - # becomes - # - # $foo = $foo + bar - # - # source://prism//lib/prism/desugar_compiler.rb#333 - def visit_global_variable_operator_write_node(node); end - - # $foo ||= bar - # - # becomes - # - # defined?($foo) ? $foo : $foo = bar - # - # source://prism//lib/prism/desugar_compiler.rb#324 - def visit_global_variable_or_write_node(node); end - - # becomes - # - # source://prism//lib/prism/desugar_compiler.rb#342 - def visit_instance_variable_and_write_node(node); end - - # becomes - # - # source://prism//lib/prism/desugar_compiler.rb#360 - def visit_instance_variable_operator_write_node(node); end - - # becomes - # - # source://prism//lib/prism/desugar_compiler.rb#351 - def visit_instance_variable_or_write_node(node); end - - # foo &&= bar - # - # becomes - # - # foo && foo = bar - # - # source://prism//lib/prism/desugar_compiler.rb#369 - def visit_local_variable_and_write_node(node); end - - # foo += bar - # - # becomes - # - # foo = foo + bar - # - # source://prism//lib/prism/desugar_compiler.rb#387 - def visit_local_variable_operator_write_node(node); end - - # foo ||= bar - # - # becomes - # - # foo || foo = bar - # - # source://prism//lib/prism/desugar_compiler.rb#378 - def visit_local_variable_or_write_node(node); end -end - -# source://prism//lib/prism/desugar_compiler.rb#86 -class Prism::DesugarOperatorWriteNode - include ::Prism::DSL - - # @return [DesugarOperatorWriteNode] a new instance of DesugarOperatorWriteNode - # - # source://prism//lib/prism/desugar_compiler.rb#91 - def initialize(node, default_source, read_class, write_class, **arguments); end - - # Returns the value of attribute arguments. - # - # source://prism//lib/prism/desugar_compiler.rb#89 - def arguments; end - - # Desugar `x += y` to `x = x + y` - # - # source://prism//lib/prism/desugar_compiler.rb#100 - def compile; end - - # Returns the value of attribute default_source. - # - # source://prism//lib/prism/desugar_compiler.rb#89 - def default_source; end - - # Returns the value of attribute node. - # - # source://prism//lib/prism/desugar_compiler.rb#89 - def node; end - - # Returns the value of attribute read_class. - # - # source://prism//lib/prism/desugar_compiler.rb#89 - def read_class; end - - # Returns the value of attribute write_class. - # - # source://prism//lib/prism/desugar_compiler.rb#89 - def write_class; end -end - -# source://prism//lib/prism/desugar_compiler.rb#35 -class Prism::DesugarOrWriteDefinedNode - include ::Prism::DSL - - # @return [DesugarOrWriteDefinedNode] a new instance of DesugarOrWriteDefinedNode - # - # source://prism//lib/prism/desugar_compiler.rb#40 - def initialize(node, default_source, read_class, write_class, **arguments); end - - # Returns the value of attribute arguments. - # - # source://prism//lib/prism/desugar_compiler.rb#38 - def arguments; end - - # Desugar `x ||= y` to `defined?(x) ? x : x = y` - # - # source://prism//lib/prism/desugar_compiler.rb#49 - def compile; end - - # Returns the value of attribute default_source. - # - # source://prism//lib/prism/desugar_compiler.rb#38 - def default_source; end - - # Returns the value of attribute node. - # - # source://prism//lib/prism/desugar_compiler.rb#38 - def node; end - - # Returns the value of attribute read_class. - # - # source://prism//lib/prism/desugar_compiler.rb#38 - def read_class; end - - # Returns the value of attribute write_class. - # - # source://prism//lib/prism/desugar_compiler.rb#38 - def write_class; end -end - -# source://prism//lib/prism/desugar_compiler.rb#130 -class Prism::DesugarOrWriteNode - include ::Prism::DSL - - # @return [DesugarOrWriteNode] a new instance of DesugarOrWriteNode - # - # source://prism//lib/prism/desugar_compiler.rb#135 - def initialize(node, default_source, read_class, write_class, **arguments); end - - # Returns the value of attribute arguments. - # - # source://prism//lib/prism/desugar_compiler.rb#133 - def arguments; end - - # Desugar `x ||= y` to `x || x = y` - # - # source://prism//lib/prism/desugar_compiler.rb#144 - def compile; end - - # Returns the value of attribute default_source. - # - # source://prism//lib/prism/desugar_compiler.rb#133 - def default_source; end - - # Returns the value of attribute node. - # - # source://prism//lib/prism/desugar_compiler.rb#133 - def node; end - - # Returns the value of attribute read_class. - # - # source://prism//lib/prism/desugar_compiler.rb#133 - def read_class; end - - # Returns the value of attribute write_class. - # - # source://prism//lib/prism/desugar_compiler.rb#133 - def write_class; end -end - -# The dispatcher class fires events for nodes that are found while walking an -# AST to all registered listeners. It's useful for performing different types -# of analysis on the AST while only having to walk the tree once. -# -# To use the dispatcher, you would first instantiate it and register listeners -# for the events you're interested in: -# -# class OctalListener -# def on_integer_node_enter(node) -# if node.octal? && !node.slice.start_with?("0o") -# warn("Octal integers should be written with the 0o prefix") -# end -# end -# end -# -# listener = OctalListener.new -# dispatcher = Prism::Dispatcher.new -# dispatcher.register(listener, :on_integer_node_enter) -# -# Then, you can walk any number of trees and dispatch events to the listeners: -# -# result = Prism.parse("001 + 002 + 003") -# dispatcher.dispatch(result.value) -# -# Optionally, you can also use `#dispatch_once` to dispatch enter and leave -# events for a single node without recursing further down the tree. This can -# be useful in circumstances where you want to reuse the listeners you already -# have registers but want to stop walking the tree at a certain point. -# -# integer = result.value.statements.body.first.receiver.receiver -# dispatcher.dispatch_once(integer) -# -# source://prism//lib/prism/dispatcher.rb#42 -class Prism::Dispatcher < ::Prism::Visitor - # Initialize a new dispatcher. - # - # @return [Dispatcher] a new instance of Dispatcher - # - # source://prism//lib/prism/dispatcher.rb#47 - def initialize; end - - # Walks `root` dispatching events to all registered listeners. - # - # def dispatch: (Node) -> void - # - # source://prism//lib/prism/visitor.rb#17 - def dispatch(node); end - - # Dispatches a single event for `node` to all registered listeners. - # - # def dispatch_once: (Node) -> void - # - # source://prism//lib/prism/dispatcher.rb#66 - def dispatch_once(node); end - - # attr_reader listeners: Hash[Symbol, Array[Listener]] - # - # source://prism//lib/prism/dispatcher.rb#44 - def listeners; end - - # Register a listener for one or more events. - # - # def register: (Listener, *Symbol) -> void - # - # source://prism//lib/prism/dispatcher.rb#54 - def register(listener, *events); end - - # Dispatch enter and leave events for AliasGlobalVariableNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#72 - def visit_alias_global_variable_node(node); end - - # Dispatch enter and leave events for AliasMethodNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#80 - def visit_alias_method_node(node); end - - # Dispatch enter and leave events for AlternationPatternNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#88 - def visit_alternation_pattern_node(node); end - - # Dispatch enter and leave events for AndNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#96 - def visit_and_node(node); end - - # Dispatch enter and leave events for ArgumentsNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#104 - def visit_arguments_node(node); end - - # Dispatch enter and leave events for ArrayNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#112 - def visit_array_node(node); end - - # Dispatch enter and leave events for ArrayPatternNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#120 - def visit_array_pattern_node(node); end - - # Dispatch enter and leave events for AssocNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#128 - def visit_assoc_node(node); end - - # Dispatch enter and leave events for AssocSplatNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#136 - def visit_assoc_splat_node(node); end - - # Dispatch enter and leave events for BackReferenceReadNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#144 - def visit_back_reference_read_node(node); end - - # Dispatch enter and leave events for BeginNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#152 - def visit_begin_node(node); end - - # Dispatch enter and leave events for BlockArgumentNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#160 - def visit_block_argument_node(node); end - - # Dispatch enter and leave events for BlockLocalVariableNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#168 - def visit_block_local_variable_node(node); end - - # Dispatch enter and leave events for BlockNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#176 - def visit_block_node(node); end - - # Dispatch enter and leave events for BlockParameterNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#184 - def visit_block_parameter_node(node); end - - # Dispatch enter and leave events for BlockParametersNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#192 - def visit_block_parameters_node(node); end - - # Dispatch enter and leave events for BreakNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#200 - def visit_break_node(node); end - - # Dispatch enter and leave events for CallAndWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#208 - def visit_call_and_write_node(node); end - - # Dispatch enter and leave events for CallNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#216 - def visit_call_node(node); end - - # Dispatch enter and leave events for CallOperatorWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#224 - def visit_call_operator_write_node(node); end - - # Dispatch enter and leave events for CallOrWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#232 - def visit_call_or_write_node(node); end - - # Dispatch enter and leave events for CallTargetNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#240 - def visit_call_target_node(node); end - - # Dispatch enter and leave events for CapturePatternNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#248 - def visit_capture_pattern_node(node); end - - # Dispatch enter and leave events for CaseMatchNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#256 - def visit_case_match_node(node); end - - # Dispatch enter and leave events for CaseNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#264 - def visit_case_node(node); end - - # Dispatch enter and leave events for ClassNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#272 - def visit_class_node(node); end - - # Dispatch enter and leave events for ClassVariableAndWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#280 - def visit_class_variable_and_write_node(node); end - - # Dispatch enter and leave events for ClassVariableOperatorWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#288 - def visit_class_variable_operator_write_node(node); end - - # Dispatch enter and leave events for ClassVariableOrWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#296 - def visit_class_variable_or_write_node(node); end - - # Dispatch enter and leave events for ClassVariableReadNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#304 - def visit_class_variable_read_node(node); end - - # Dispatch enter and leave events for ClassVariableTargetNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#312 - def visit_class_variable_target_node(node); end - - # Dispatch enter and leave events for ClassVariableWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#320 - def visit_class_variable_write_node(node); end - - # Dispatch enter and leave events for ConstantAndWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#328 - def visit_constant_and_write_node(node); end - - # Dispatch enter and leave events for ConstantOperatorWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#336 - def visit_constant_operator_write_node(node); end - - # Dispatch enter and leave events for ConstantOrWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#344 - def visit_constant_or_write_node(node); end - - # Dispatch enter and leave events for ConstantPathAndWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#352 - def visit_constant_path_and_write_node(node); end - - # Dispatch enter and leave events for ConstantPathNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#360 - def visit_constant_path_node(node); end - - # Dispatch enter and leave events for ConstantPathOperatorWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#368 - def visit_constant_path_operator_write_node(node); end - - # Dispatch enter and leave events for ConstantPathOrWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#376 - def visit_constant_path_or_write_node(node); end - - # Dispatch enter and leave events for ConstantPathTargetNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#384 - def visit_constant_path_target_node(node); end - - # Dispatch enter and leave events for ConstantPathWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#392 - def visit_constant_path_write_node(node); end - - # Dispatch enter and leave events for ConstantReadNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#400 - def visit_constant_read_node(node); end - - # Dispatch enter and leave events for ConstantTargetNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#408 - def visit_constant_target_node(node); end - - # Dispatch enter and leave events for ConstantWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#416 - def visit_constant_write_node(node); end - - # Dispatch enter and leave events for DefNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#424 - def visit_def_node(node); end - - # Dispatch enter and leave events for DefinedNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#432 - def visit_defined_node(node); end - - # Dispatch enter and leave events for ElseNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#440 - def visit_else_node(node); end - - # Dispatch enter and leave events for EmbeddedStatementsNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#448 - def visit_embedded_statements_node(node); end - - # Dispatch enter and leave events for EmbeddedVariableNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#456 - def visit_embedded_variable_node(node); end - - # Dispatch enter and leave events for EnsureNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#464 - def visit_ensure_node(node); end - - # Dispatch enter and leave events for FalseNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#472 - def visit_false_node(node); end - - # Dispatch enter and leave events for FindPatternNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#480 - def visit_find_pattern_node(node); end - - # Dispatch enter and leave events for FlipFlopNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#488 - def visit_flip_flop_node(node); end - - # Dispatch enter and leave events for FloatNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#496 - def visit_float_node(node); end - - # Dispatch enter and leave events for ForNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#504 - def visit_for_node(node); end - - # Dispatch enter and leave events for ForwardingArgumentsNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#512 - def visit_forwarding_arguments_node(node); end - - # Dispatch enter and leave events for ForwardingParameterNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#520 - def visit_forwarding_parameter_node(node); end - - # Dispatch enter and leave events for ForwardingSuperNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#528 - def visit_forwarding_super_node(node); end - - # Dispatch enter and leave events for GlobalVariableAndWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#536 - def visit_global_variable_and_write_node(node); end - - # Dispatch enter and leave events for GlobalVariableOperatorWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#544 - def visit_global_variable_operator_write_node(node); end - - # Dispatch enter and leave events for GlobalVariableOrWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#552 - def visit_global_variable_or_write_node(node); end - - # Dispatch enter and leave events for GlobalVariableReadNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#560 - def visit_global_variable_read_node(node); end - - # Dispatch enter and leave events for GlobalVariableTargetNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#568 - def visit_global_variable_target_node(node); end - - # Dispatch enter and leave events for GlobalVariableWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#576 - def visit_global_variable_write_node(node); end - - # Dispatch enter and leave events for HashNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#584 - def visit_hash_node(node); end - - # Dispatch enter and leave events for HashPatternNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#592 - def visit_hash_pattern_node(node); end - - # Dispatch enter and leave events for IfNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#600 - def visit_if_node(node); end - - # Dispatch enter and leave events for ImaginaryNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#608 - def visit_imaginary_node(node); end - - # Dispatch enter and leave events for ImplicitNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#616 - def visit_implicit_node(node); end - - # Dispatch enter and leave events for ImplicitRestNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#624 - def visit_implicit_rest_node(node); end - - # Dispatch enter and leave events for InNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#632 - def visit_in_node(node); end - - # Dispatch enter and leave events for IndexAndWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#640 - def visit_index_and_write_node(node); end - - # Dispatch enter and leave events for IndexOperatorWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#648 - def visit_index_operator_write_node(node); end - - # Dispatch enter and leave events for IndexOrWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#656 - def visit_index_or_write_node(node); end - - # Dispatch enter and leave events for IndexTargetNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#664 - def visit_index_target_node(node); end - - # Dispatch enter and leave events for InstanceVariableAndWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#672 - def visit_instance_variable_and_write_node(node); end - - # Dispatch enter and leave events for InstanceVariableOperatorWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#680 - def visit_instance_variable_operator_write_node(node); end - - # Dispatch enter and leave events for InstanceVariableOrWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#688 - def visit_instance_variable_or_write_node(node); end - - # Dispatch enter and leave events for InstanceVariableReadNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#696 - def visit_instance_variable_read_node(node); end - - # Dispatch enter and leave events for InstanceVariableTargetNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#704 - def visit_instance_variable_target_node(node); end - - # Dispatch enter and leave events for InstanceVariableWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#712 - def visit_instance_variable_write_node(node); end - - # Dispatch enter and leave events for IntegerNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#720 - def visit_integer_node(node); end - - # Dispatch enter and leave events for InterpolatedMatchLastLineNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#728 - def visit_interpolated_match_last_line_node(node); end - - # Dispatch enter and leave events for InterpolatedRegularExpressionNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#736 - def visit_interpolated_regular_expression_node(node); end - - # Dispatch enter and leave events for InterpolatedStringNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#744 - def visit_interpolated_string_node(node); end - - # Dispatch enter and leave events for InterpolatedSymbolNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#752 - def visit_interpolated_symbol_node(node); end - - # Dispatch enter and leave events for InterpolatedXStringNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#760 - def visit_interpolated_x_string_node(node); end - - # Dispatch enter and leave events for ItLocalVariableReadNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#768 - def visit_it_local_variable_read_node(node); end - - # Dispatch enter and leave events for ItParametersNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#776 - def visit_it_parameters_node(node); end - - # Dispatch enter and leave events for KeywordHashNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#784 - def visit_keyword_hash_node(node); end - - # Dispatch enter and leave events for KeywordRestParameterNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#792 - def visit_keyword_rest_parameter_node(node); end - - # Dispatch enter and leave events for LambdaNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#800 - def visit_lambda_node(node); end - - # Dispatch enter and leave events for LocalVariableAndWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#808 - def visit_local_variable_and_write_node(node); end - - # Dispatch enter and leave events for LocalVariableOperatorWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#816 - def visit_local_variable_operator_write_node(node); end - - # Dispatch enter and leave events for LocalVariableOrWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#824 - def visit_local_variable_or_write_node(node); end - - # Dispatch enter and leave events for LocalVariableReadNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#832 - def visit_local_variable_read_node(node); end - - # Dispatch enter and leave events for LocalVariableTargetNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#840 - def visit_local_variable_target_node(node); end - - # Dispatch enter and leave events for LocalVariableWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#848 - def visit_local_variable_write_node(node); end - - # Dispatch enter and leave events for MatchLastLineNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#856 - def visit_match_last_line_node(node); end - - # Dispatch enter and leave events for MatchPredicateNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#864 - def visit_match_predicate_node(node); end - - # Dispatch enter and leave events for MatchRequiredNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#872 - def visit_match_required_node(node); end - - # Dispatch enter and leave events for MatchWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#880 - def visit_match_write_node(node); end - - # Dispatch enter and leave events for MissingNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#888 - def visit_missing_node(node); end - - # Dispatch enter and leave events for ModuleNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#896 - def visit_module_node(node); end - - # Dispatch enter and leave events for MultiTargetNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#904 - def visit_multi_target_node(node); end - - # Dispatch enter and leave events for MultiWriteNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#912 - def visit_multi_write_node(node); end - - # Dispatch enter and leave events for NextNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#920 - def visit_next_node(node); end - - # Dispatch enter and leave events for NilNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#928 - def visit_nil_node(node); end - - # Dispatch enter and leave events for NoKeywordsParameterNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#936 - def visit_no_keywords_parameter_node(node); end - - # Dispatch enter and leave events for NumberedParametersNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#944 - def visit_numbered_parameters_node(node); end - - # Dispatch enter and leave events for NumberedReferenceReadNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#952 - def visit_numbered_reference_read_node(node); end - - # Dispatch enter and leave events for OptionalKeywordParameterNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#960 - def visit_optional_keyword_parameter_node(node); end - - # Dispatch enter and leave events for OptionalParameterNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#968 - def visit_optional_parameter_node(node); end - - # Dispatch enter and leave events for OrNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#976 - def visit_or_node(node); end - - # Dispatch enter and leave events for ParametersNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#984 - def visit_parameters_node(node); end - - # Dispatch enter and leave events for ParenthesesNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#992 - def visit_parentheses_node(node); end - - # Dispatch enter and leave events for PinnedExpressionNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1000 - def visit_pinned_expression_node(node); end - - # Dispatch enter and leave events for PinnedVariableNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1008 - def visit_pinned_variable_node(node); end - - # Dispatch enter and leave events for PostExecutionNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1016 - def visit_post_execution_node(node); end - - # Dispatch enter and leave events for PreExecutionNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1024 - def visit_pre_execution_node(node); end - - # Dispatch enter and leave events for ProgramNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1032 - def visit_program_node(node); end - - # Dispatch enter and leave events for RangeNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1040 - def visit_range_node(node); end - - # Dispatch enter and leave events for RationalNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1048 - def visit_rational_node(node); end - - # Dispatch enter and leave events for RedoNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1056 - def visit_redo_node(node); end - - # Dispatch enter and leave events for RegularExpressionNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1064 - def visit_regular_expression_node(node); end - - # Dispatch enter and leave events for RequiredKeywordParameterNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1072 - def visit_required_keyword_parameter_node(node); end - - # Dispatch enter and leave events for RequiredParameterNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1080 - def visit_required_parameter_node(node); end - - # Dispatch enter and leave events for RescueModifierNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1088 - def visit_rescue_modifier_node(node); end - - # Dispatch enter and leave events for RescueNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1096 - def visit_rescue_node(node); end - - # Dispatch enter and leave events for RestParameterNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1104 - def visit_rest_parameter_node(node); end - - # Dispatch enter and leave events for RetryNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1112 - def visit_retry_node(node); end - - # Dispatch enter and leave events for ReturnNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1120 - def visit_return_node(node); end - - # Dispatch enter and leave events for SelfNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1128 - def visit_self_node(node); end - - # Dispatch enter and leave events for ShareableConstantNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1136 - def visit_shareable_constant_node(node); end - - # Dispatch enter and leave events for SingletonClassNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1144 - def visit_singleton_class_node(node); end - - # Dispatch enter and leave events for SourceEncodingNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1152 - def visit_source_encoding_node(node); end - - # Dispatch enter and leave events for SourceFileNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1160 - def visit_source_file_node(node); end - - # Dispatch enter and leave events for SourceLineNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1168 - def visit_source_line_node(node); end - - # Dispatch enter and leave events for SplatNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1176 - def visit_splat_node(node); end - - # Dispatch enter and leave events for StatementsNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1184 - def visit_statements_node(node); end - - # Dispatch enter and leave events for StringNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1192 - def visit_string_node(node); end - - # Dispatch enter and leave events for SuperNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1200 - def visit_super_node(node); end - - # Dispatch enter and leave events for SymbolNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1208 - def visit_symbol_node(node); end - - # Dispatch enter and leave events for TrueNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1216 - def visit_true_node(node); end - - # Dispatch enter and leave events for UndefNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1224 - def visit_undef_node(node); end - - # Dispatch enter and leave events for UnlessNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1232 - def visit_unless_node(node); end - - # Dispatch enter and leave events for UntilNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1240 - def visit_until_node(node); end - - # Dispatch enter and leave events for WhenNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1248 - def visit_when_node(node); end - - # Dispatch enter and leave events for WhileNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1256 - def visit_while_node(node); end - - # Dispatch enter and leave events for XStringNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1264 - def visit_x_string_node(node); end - - # Dispatch enter and leave events for YieldNode nodes and continue - # walking the tree. - # - # source://prism//lib/prism/dispatcher.rb#1272 - def visit_yield_node(node); end -end - -# source://prism//lib/prism/dispatcher.rb#1278 -class Prism::Dispatcher::DispatchOnce < ::Prism::Visitor - # @return [DispatchOnce] a new instance of DispatchOnce - # - # source://prism//lib/prism/dispatcher.rb#1281 - def initialize(listeners); end - - # Returns the value of attribute listeners. - # - # source://prism//lib/prism/dispatcher.rb#1279 - def listeners; end - - # Dispatch enter and leave events for AliasGlobalVariableNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1286 - def visit_alias_global_variable_node(node); end - - # Dispatch enter and leave events for AliasMethodNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1292 - def visit_alias_method_node(node); end - - # Dispatch enter and leave events for AlternationPatternNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1298 - def visit_alternation_pattern_node(node); end - - # Dispatch enter and leave events for AndNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1304 - def visit_and_node(node); end - - # Dispatch enter and leave events for ArgumentsNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1310 - def visit_arguments_node(node); end - - # Dispatch enter and leave events for ArrayNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1316 - def visit_array_node(node); end - - # Dispatch enter and leave events for ArrayPatternNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1322 - def visit_array_pattern_node(node); end - - # Dispatch enter and leave events for AssocNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1328 - def visit_assoc_node(node); end - - # Dispatch enter and leave events for AssocSplatNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1334 - def visit_assoc_splat_node(node); end - - # Dispatch enter and leave events for BackReferenceReadNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1340 - def visit_back_reference_read_node(node); end - - # Dispatch enter and leave events for BeginNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1346 - def visit_begin_node(node); end - - # Dispatch enter and leave events for BlockArgumentNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1352 - def visit_block_argument_node(node); end - - # Dispatch enter and leave events for BlockLocalVariableNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1358 - def visit_block_local_variable_node(node); end - - # Dispatch enter and leave events for BlockNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1364 - def visit_block_node(node); end - - # Dispatch enter and leave events for BlockParameterNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1370 - def visit_block_parameter_node(node); end - - # Dispatch enter and leave events for BlockParametersNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1376 - def visit_block_parameters_node(node); end - - # Dispatch enter and leave events for BreakNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1382 - def visit_break_node(node); end - - # Dispatch enter and leave events for CallAndWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1388 - def visit_call_and_write_node(node); end - - # Dispatch enter and leave events for CallNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1394 - def visit_call_node(node); end - - # Dispatch enter and leave events for CallOperatorWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1400 - def visit_call_operator_write_node(node); end - - # Dispatch enter and leave events for CallOrWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1406 - def visit_call_or_write_node(node); end - - # Dispatch enter and leave events for CallTargetNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1412 - def visit_call_target_node(node); end - - # Dispatch enter and leave events for CapturePatternNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1418 - def visit_capture_pattern_node(node); end - - # Dispatch enter and leave events for CaseMatchNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1424 - def visit_case_match_node(node); end - - # Dispatch enter and leave events for CaseNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1430 - def visit_case_node(node); end - - # Dispatch enter and leave events for ClassNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1436 - def visit_class_node(node); end - - # Dispatch enter and leave events for ClassVariableAndWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1442 - def visit_class_variable_and_write_node(node); end - - # Dispatch enter and leave events for ClassVariableOperatorWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1448 - def visit_class_variable_operator_write_node(node); end - - # Dispatch enter and leave events for ClassVariableOrWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1454 - def visit_class_variable_or_write_node(node); end - - # Dispatch enter and leave events for ClassVariableReadNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1460 - def visit_class_variable_read_node(node); end - - # Dispatch enter and leave events for ClassVariableTargetNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1466 - def visit_class_variable_target_node(node); end - - # Dispatch enter and leave events for ClassVariableWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1472 - def visit_class_variable_write_node(node); end - - # Dispatch enter and leave events for ConstantAndWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1478 - def visit_constant_and_write_node(node); end - - # Dispatch enter and leave events for ConstantOperatorWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1484 - def visit_constant_operator_write_node(node); end - - # Dispatch enter and leave events for ConstantOrWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1490 - def visit_constant_or_write_node(node); end - - # Dispatch enter and leave events for ConstantPathAndWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1496 - def visit_constant_path_and_write_node(node); end - - # Dispatch enter and leave events for ConstantPathNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1502 - def visit_constant_path_node(node); end - - # Dispatch enter and leave events for ConstantPathOperatorWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1508 - def visit_constant_path_operator_write_node(node); end - - # Dispatch enter and leave events for ConstantPathOrWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1514 - def visit_constant_path_or_write_node(node); end - - # Dispatch enter and leave events for ConstantPathTargetNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1520 - def visit_constant_path_target_node(node); end - - # Dispatch enter and leave events for ConstantPathWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1526 - def visit_constant_path_write_node(node); end - - # Dispatch enter and leave events for ConstantReadNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1532 - def visit_constant_read_node(node); end - - # Dispatch enter and leave events for ConstantTargetNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1538 - def visit_constant_target_node(node); end - - # Dispatch enter and leave events for ConstantWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1544 - def visit_constant_write_node(node); end - - # Dispatch enter and leave events for DefNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1550 - def visit_def_node(node); end - - # Dispatch enter and leave events for DefinedNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1556 - def visit_defined_node(node); end - - # Dispatch enter and leave events for ElseNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1562 - def visit_else_node(node); end - - # Dispatch enter and leave events for EmbeddedStatementsNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1568 - def visit_embedded_statements_node(node); end - - # Dispatch enter and leave events for EmbeddedVariableNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1574 - def visit_embedded_variable_node(node); end - - # Dispatch enter and leave events for EnsureNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1580 - def visit_ensure_node(node); end - - # Dispatch enter and leave events for FalseNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1586 - def visit_false_node(node); end - - # Dispatch enter and leave events for FindPatternNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1592 - def visit_find_pattern_node(node); end - - # Dispatch enter and leave events for FlipFlopNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1598 - def visit_flip_flop_node(node); end - - # Dispatch enter and leave events for FloatNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1604 - def visit_float_node(node); end - - # Dispatch enter and leave events for ForNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1610 - def visit_for_node(node); end - - # Dispatch enter and leave events for ForwardingArgumentsNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1616 - def visit_forwarding_arguments_node(node); end - - # Dispatch enter and leave events for ForwardingParameterNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1622 - def visit_forwarding_parameter_node(node); end - - # Dispatch enter and leave events for ForwardingSuperNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1628 - def visit_forwarding_super_node(node); end - - # Dispatch enter and leave events for GlobalVariableAndWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1634 - def visit_global_variable_and_write_node(node); end - - # Dispatch enter and leave events for GlobalVariableOperatorWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1640 - def visit_global_variable_operator_write_node(node); end - - # Dispatch enter and leave events for GlobalVariableOrWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1646 - def visit_global_variable_or_write_node(node); end - - # Dispatch enter and leave events for GlobalVariableReadNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1652 - def visit_global_variable_read_node(node); end - - # Dispatch enter and leave events for GlobalVariableTargetNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1658 - def visit_global_variable_target_node(node); end - - # Dispatch enter and leave events for GlobalVariableWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1664 - def visit_global_variable_write_node(node); end - - # Dispatch enter and leave events for HashNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1670 - def visit_hash_node(node); end - - # Dispatch enter and leave events for HashPatternNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1676 - def visit_hash_pattern_node(node); end - - # Dispatch enter and leave events for IfNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1682 - def visit_if_node(node); end - - # Dispatch enter and leave events for ImaginaryNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1688 - def visit_imaginary_node(node); end - - # Dispatch enter and leave events for ImplicitNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1694 - def visit_implicit_node(node); end - - # Dispatch enter and leave events for ImplicitRestNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1700 - def visit_implicit_rest_node(node); end - - # Dispatch enter and leave events for InNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1706 - def visit_in_node(node); end - - # Dispatch enter and leave events for IndexAndWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1712 - def visit_index_and_write_node(node); end - - # Dispatch enter and leave events for IndexOperatorWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1718 - def visit_index_operator_write_node(node); end - - # Dispatch enter and leave events for IndexOrWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1724 - def visit_index_or_write_node(node); end - - # Dispatch enter and leave events for IndexTargetNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1730 - def visit_index_target_node(node); end - - # Dispatch enter and leave events for InstanceVariableAndWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1736 - def visit_instance_variable_and_write_node(node); end - - # Dispatch enter and leave events for InstanceVariableOperatorWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1742 - def visit_instance_variable_operator_write_node(node); end - - # Dispatch enter and leave events for InstanceVariableOrWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1748 - def visit_instance_variable_or_write_node(node); end - - # Dispatch enter and leave events for InstanceVariableReadNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1754 - def visit_instance_variable_read_node(node); end - - # Dispatch enter and leave events for InstanceVariableTargetNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1760 - def visit_instance_variable_target_node(node); end - - # Dispatch enter and leave events for InstanceVariableWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1766 - def visit_instance_variable_write_node(node); end - - # Dispatch enter and leave events for IntegerNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1772 - def visit_integer_node(node); end - - # Dispatch enter and leave events for InterpolatedMatchLastLineNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1778 - def visit_interpolated_match_last_line_node(node); end - - # Dispatch enter and leave events for InterpolatedRegularExpressionNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1784 - def visit_interpolated_regular_expression_node(node); end - - # Dispatch enter and leave events for InterpolatedStringNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1790 - def visit_interpolated_string_node(node); end - - # Dispatch enter and leave events for InterpolatedSymbolNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1796 - def visit_interpolated_symbol_node(node); end - - # Dispatch enter and leave events for InterpolatedXStringNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1802 - def visit_interpolated_x_string_node(node); end - - # Dispatch enter and leave events for ItLocalVariableReadNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1808 - def visit_it_local_variable_read_node(node); end - - # Dispatch enter and leave events for ItParametersNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1814 - def visit_it_parameters_node(node); end - - # Dispatch enter and leave events for KeywordHashNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1820 - def visit_keyword_hash_node(node); end - - # Dispatch enter and leave events for KeywordRestParameterNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1826 - def visit_keyword_rest_parameter_node(node); end - - # Dispatch enter and leave events for LambdaNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1832 - def visit_lambda_node(node); end - - # Dispatch enter and leave events for LocalVariableAndWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1838 - def visit_local_variable_and_write_node(node); end - - # Dispatch enter and leave events for LocalVariableOperatorWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1844 - def visit_local_variable_operator_write_node(node); end - - # Dispatch enter and leave events for LocalVariableOrWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1850 - def visit_local_variable_or_write_node(node); end - - # Dispatch enter and leave events for LocalVariableReadNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1856 - def visit_local_variable_read_node(node); end - - # Dispatch enter and leave events for LocalVariableTargetNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1862 - def visit_local_variable_target_node(node); end - - # Dispatch enter and leave events for LocalVariableWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1868 - def visit_local_variable_write_node(node); end - - # Dispatch enter and leave events for MatchLastLineNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1874 - def visit_match_last_line_node(node); end - - # Dispatch enter and leave events for MatchPredicateNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1880 - def visit_match_predicate_node(node); end - - # Dispatch enter and leave events for MatchRequiredNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1886 - def visit_match_required_node(node); end - - # Dispatch enter and leave events for MatchWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1892 - def visit_match_write_node(node); end - - # Dispatch enter and leave events for MissingNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1898 - def visit_missing_node(node); end - - # Dispatch enter and leave events for ModuleNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1904 - def visit_module_node(node); end - - # Dispatch enter and leave events for MultiTargetNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1910 - def visit_multi_target_node(node); end - - # Dispatch enter and leave events for MultiWriteNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1916 - def visit_multi_write_node(node); end - - # Dispatch enter and leave events for NextNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1922 - def visit_next_node(node); end - - # Dispatch enter and leave events for NilNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1928 - def visit_nil_node(node); end - - # Dispatch enter and leave events for NoKeywordsParameterNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1934 - def visit_no_keywords_parameter_node(node); end - - # Dispatch enter and leave events for NumberedParametersNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1940 - def visit_numbered_parameters_node(node); end - - # Dispatch enter and leave events for NumberedReferenceReadNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1946 - def visit_numbered_reference_read_node(node); end - - # Dispatch enter and leave events for OptionalKeywordParameterNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1952 - def visit_optional_keyword_parameter_node(node); end - - # Dispatch enter and leave events for OptionalParameterNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1958 - def visit_optional_parameter_node(node); end - - # Dispatch enter and leave events for OrNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1964 - def visit_or_node(node); end - - # Dispatch enter and leave events for ParametersNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1970 - def visit_parameters_node(node); end - - # Dispatch enter and leave events for ParenthesesNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1976 - def visit_parentheses_node(node); end - - # Dispatch enter and leave events for PinnedExpressionNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1982 - def visit_pinned_expression_node(node); end - - # Dispatch enter and leave events for PinnedVariableNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1988 - def visit_pinned_variable_node(node); end - - # Dispatch enter and leave events for PostExecutionNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#1994 - def visit_post_execution_node(node); end - - # Dispatch enter and leave events for PreExecutionNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2000 - def visit_pre_execution_node(node); end - - # Dispatch enter and leave events for ProgramNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2006 - def visit_program_node(node); end - - # Dispatch enter and leave events for RangeNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2012 - def visit_range_node(node); end - - # Dispatch enter and leave events for RationalNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2018 - def visit_rational_node(node); end - - # Dispatch enter and leave events for RedoNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2024 - def visit_redo_node(node); end - - # Dispatch enter and leave events for RegularExpressionNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2030 - def visit_regular_expression_node(node); end - - # Dispatch enter and leave events for RequiredKeywordParameterNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2036 - def visit_required_keyword_parameter_node(node); end - - # Dispatch enter and leave events for RequiredParameterNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2042 - def visit_required_parameter_node(node); end - - # Dispatch enter and leave events for RescueModifierNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2048 - def visit_rescue_modifier_node(node); end - - # Dispatch enter and leave events for RescueNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2054 - def visit_rescue_node(node); end - - # Dispatch enter and leave events for RestParameterNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2060 - def visit_rest_parameter_node(node); end - - # Dispatch enter and leave events for RetryNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2066 - def visit_retry_node(node); end - - # Dispatch enter and leave events for ReturnNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2072 - def visit_return_node(node); end - - # Dispatch enter and leave events for SelfNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2078 - def visit_self_node(node); end - - # Dispatch enter and leave events for ShareableConstantNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2084 - def visit_shareable_constant_node(node); end - - # Dispatch enter and leave events for SingletonClassNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2090 - def visit_singleton_class_node(node); end - - # Dispatch enter and leave events for SourceEncodingNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2096 - def visit_source_encoding_node(node); end - - # Dispatch enter and leave events for SourceFileNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2102 - def visit_source_file_node(node); end - - # Dispatch enter and leave events for SourceLineNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2108 - def visit_source_line_node(node); end - - # Dispatch enter and leave events for SplatNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2114 - def visit_splat_node(node); end - - # Dispatch enter and leave events for StatementsNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2120 - def visit_statements_node(node); end - - # Dispatch enter and leave events for StringNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2126 - def visit_string_node(node); end - - # Dispatch enter and leave events for SuperNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2132 - def visit_super_node(node); end - - # Dispatch enter and leave events for SymbolNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2138 - def visit_symbol_node(node); end - - # Dispatch enter and leave events for TrueNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2144 - def visit_true_node(node); end - - # Dispatch enter and leave events for UndefNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2150 - def visit_undef_node(node); end - - # Dispatch enter and leave events for UnlessNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2156 - def visit_unless_node(node); end - - # Dispatch enter and leave events for UntilNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2162 - def visit_until_node(node); end - - # Dispatch enter and leave events for WhenNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2168 - def visit_when_node(node); end - - # Dispatch enter and leave events for WhileNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2174 - def visit_while_node(node); end - - # Dispatch enter and leave events for XStringNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2180 - def visit_x_string_node(node); end - - # Dispatch enter and leave events for YieldNode nodes. - # - # source://prism//lib/prism/dispatcher.rb#2186 - def visit_yield_node(node); end -end - -# This visitor provides the ability to call Node#to_dot, which converts a -# subtree into a graphviz dot graph. -# -# source://prism//lib/prism/dot_visitor.rb#14 -class Prism::DotVisitor < ::Prism::Visitor - # Initialize a new dot visitor. - # - # @return [DotVisitor] a new instance of DotVisitor - # - # source://prism//lib/prism/dot_visitor.rb#106 - def initialize; end - - # The digraph that is being built. - # - # source://prism//lib/prism/dot_visitor.rb#103 - def digraph; end - - # Convert this visitor into a graphviz dot graph string. - # - # source://prism//lib/prism/dot_visitor.rb#111 - def to_dot; end - - # Visit a AliasGlobalVariableNode node. - # - # source://prism//lib/prism/dot_visitor.rb#116 - def visit_alias_global_variable_node(node); end - - # Visit a AliasMethodNode node. - # - # source://prism//lib/prism/dot_visitor.rb#141 - def visit_alias_method_node(node); end - - # Visit a AlternationPatternNode node. - # - # source://prism//lib/prism/dot_visitor.rb#166 - def visit_alternation_pattern_node(node); end - - # Visit a AndNode node. - # - # source://prism//lib/prism/dot_visitor.rb#191 - def visit_and_node(node); end - - # Visit a ArgumentsNode node. - # - # source://prism//lib/prism/dot_visitor.rb#216 - def visit_arguments_node(node); end - - # Visit a ArrayNode node. - # - # source://prism//lib/prism/dot_visitor.rb#246 - def visit_array_node(node); end - - # Visit a ArrayPatternNode node. - # - # source://prism//lib/prism/dot_visitor.rb#286 - def visit_array_pattern_node(node); end - - # Visit a AssocNode node. - # - # source://prism//lib/prism/dot_visitor.rb#348 - def visit_assoc_node(node); end - - # Visit a AssocSplatNode node. - # - # source://prism//lib/prism/dot_visitor.rb#375 - def visit_assoc_splat_node(node); end - - # Visit a BackReferenceReadNode node. - # - # source://prism//lib/prism/dot_visitor.rb#398 - def visit_back_reference_read_node(node); end - - # Visit a BeginNode node. - # - # source://prism//lib/prism/dot_visitor.rb#415 - def visit_begin_node(node); end - - # Visit a BlockArgumentNode node. - # - # source://prism//lib/prism/dot_visitor.rb#463 - def visit_block_argument_node(node); end - - # Visit a BlockLocalVariableNode node. - # - # source://prism//lib/prism/dot_visitor.rb#486 - def visit_block_local_variable_node(node); end - - # Visit a BlockNode node. - # - # source://prism//lib/prism/dot_visitor.rb#506 - def visit_block_node(node); end - - # Visit a BlockParameterNode node. - # - # source://prism//lib/prism/dot_visitor.rb#541 - def visit_block_parameter_node(node); end - - # Visit a BlockParametersNode node. - # - # source://prism//lib/prism/dot_visitor.rb#569 - def visit_block_parameters_node(node); end - - # Visit a BreakNode node. - # - # source://prism//lib/prism/dot_visitor.rb#612 - def visit_break_node(node); end - - # Visit a CallAndWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#635 - def visit_call_and_write_node(node); end - - # Visit a CallNode node. - # - # source://prism//lib/prism/dot_visitor.rb#681 - def visit_call_node(node); end - - # Visit a CallOperatorWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#739 - def visit_call_operator_write_node(node); end - - # Visit a CallOrWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#788 - def visit_call_or_write_node(node); end - - # Visit a CallTargetNode node. - # - # source://prism//lib/prism/dot_visitor.rb#834 - def visit_call_target_node(node); end - - # Visit a CapturePatternNode node. - # - # source://prism//lib/prism/dot_visitor.rb#864 - def visit_capture_pattern_node(node); end - - # Visit a CaseMatchNode node. - # - # source://prism//lib/prism/dot_visitor.rb#889 - def visit_case_match_node(node); end - - # Visit a CaseNode node. - # - # source://prism//lib/prism/dot_visitor.rb#934 - def visit_case_node(node); end - - # Visit a ClassNode node. - # - # source://prism//lib/prism/dot_visitor.rb#979 - def visit_class_node(node); end - - # Visit a ClassVariableAndWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1026 - def visit_class_variable_and_write_node(node); end - - # Visit a ClassVariableOperatorWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1053 - def visit_class_variable_operator_write_node(node); end - - # Visit a ClassVariableOrWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1083 - def visit_class_variable_or_write_node(node); end - - # Visit a ClassVariableReadNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1110 - def visit_class_variable_read_node(node); end - - # Visit a ClassVariableTargetNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1127 - def visit_class_variable_target_node(node); end - - # Visit a ClassVariableWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1144 - def visit_class_variable_write_node(node); end - - # Visit a ConstantAndWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1171 - def visit_constant_and_write_node(node); end - - # Visit a ConstantOperatorWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1198 - def visit_constant_operator_write_node(node); end - - # Visit a ConstantOrWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1228 - def visit_constant_or_write_node(node); end - - # Visit a ConstantPathAndWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1255 - def visit_constant_path_and_write_node(node); end - - # Visit a ConstantPathNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1280 - def visit_constant_path_node(node); end - - # Visit a ConstantPathOperatorWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1309 - def visit_constant_path_operator_write_node(node); end - - # Visit a ConstantPathOrWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1337 - def visit_constant_path_or_write_node(node); end - - # Visit a ConstantPathTargetNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1362 - def visit_constant_path_target_node(node); end - - # Visit a ConstantPathWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1391 - def visit_constant_path_write_node(node); end - - # Visit a ConstantReadNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1416 - def visit_constant_read_node(node); end - - # Visit a ConstantTargetNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1433 - def visit_constant_target_node(node); end - - # Visit a ConstantWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1450 - def visit_constant_write_node(node); end - - # Visit a DefNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1477 - def visit_def_node(node); end - - # Visit a DefinedNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1546 - def visit_defined_node(node); end - - # Visit a ElseNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1577 - def visit_else_node(node); end - - # Visit a EmbeddedStatementsNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1605 - def visit_embedded_statements_node(node); end - - # Visit a EmbeddedVariableNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1631 - def visit_embedded_variable_node(node); end - - # Visit a EnsureNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1652 - def visit_ensure_node(node); end - - # Visit a FalseNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1678 - def visit_false_node(node); end - - # Visit a FindPatternNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1692 - def visit_find_pattern_node(node); end - - # Visit a FlipFlopNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1743 - def visit_flip_flop_node(node); end - - # Visit a FloatNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1775 - def visit_float_node(node); end - - # Visit a ForNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1792 - def visit_for_node(node); end - - # Visit a ForwardingArgumentsNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1834 - def visit_forwarding_arguments_node(node); end - - # Visit a ForwardingParameterNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1848 - def visit_forwarding_parameter_node(node); end - - # Visit a ForwardingSuperNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1862 - def visit_forwarding_super_node(node); end - - # Visit a GlobalVariableAndWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1882 - def visit_global_variable_and_write_node(node); end - - # Visit a GlobalVariableOperatorWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1909 - def visit_global_variable_operator_write_node(node); end - - # Visit a GlobalVariableOrWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1939 - def visit_global_variable_or_write_node(node); end - - # Visit a GlobalVariableReadNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1966 - def visit_global_variable_read_node(node); end - - # Visit a GlobalVariableTargetNode node. - # - # source://prism//lib/prism/dot_visitor.rb#1983 - def visit_global_variable_target_node(node); end - - # Visit a GlobalVariableWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2000 - def visit_global_variable_write_node(node); end - - # Visit a HashNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2027 - def visit_hash_node(node); end - - # Visit a HashPatternNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2060 - def visit_hash_pattern_node(node); end - - # Visit a IfNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2109 - def visit_if_node(node); end - - # Visit a ImaginaryNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2154 - def visit_imaginary_node(node); end - - # Visit a ImplicitNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2172 - def visit_implicit_node(node); end - - # Visit a ImplicitRestNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2190 - def visit_implicit_rest_node(node); end - - # Visit a InNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2204 - def visit_in_node(node); end - - # Visit a IndexAndWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2236 - def visit_index_and_write_node(node); end - - # Visit a IndexOperatorWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2289 - def visit_index_operator_write_node(node); end - - # Visit a IndexOrWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2345 - def visit_index_or_write_node(node); end - - # Visit a IndexTargetNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2398 - def visit_index_target_node(node); end - - # Visit a InstanceVariableAndWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2437 - def visit_instance_variable_and_write_node(node); end - - # Visit a InstanceVariableOperatorWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2464 - def visit_instance_variable_operator_write_node(node); end - - # Visit a InstanceVariableOrWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2494 - def visit_instance_variable_or_write_node(node); end - - # Visit a InstanceVariableReadNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2521 - def visit_instance_variable_read_node(node); end - - # Visit a InstanceVariableTargetNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2538 - def visit_instance_variable_target_node(node); end - - # Visit a InstanceVariableWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2555 - def visit_instance_variable_write_node(node); end - - # Visit a IntegerNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2582 - def visit_integer_node(node); end - - # Visit a InterpolatedMatchLastLineNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2602 - def visit_interpolated_match_last_line_node(node); end - - # Visit a InterpolatedRegularExpressionNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2638 - def visit_interpolated_regular_expression_node(node); end - - # Visit a InterpolatedStringNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2674 - def visit_interpolated_string_node(node); end - - # Visit a InterpolatedSymbolNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2714 - def visit_interpolated_symbol_node(node); end - - # Visit a InterpolatedXStringNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2751 - def visit_interpolated_x_string_node(node); end - - # Visit a ItLocalVariableReadNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2784 - def visit_it_local_variable_read_node(node); end - - # Visit a ItParametersNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2798 - def visit_it_parameters_node(node); end - - # Visit a KeywordHashNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2812 - def visit_keyword_hash_node(node); end - - # Visit a KeywordRestParameterNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2842 - def visit_keyword_rest_parameter_node(node); end - - # Visit a LambdaNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2870 - def visit_lambda_node(node); end - - # Visit a LocalVariableAndWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2908 - def visit_local_variable_and_write_node(node); end - - # Visit a LocalVariableOperatorWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2938 - def visit_local_variable_operator_write_node(node); end - - # Visit a LocalVariableOrWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#2971 - def visit_local_variable_or_write_node(node); end - - # Visit a LocalVariableReadNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3001 - def visit_local_variable_read_node(node); end - - # Visit a LocalVariableTargetNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3021 - def visit_local_variable_target_node(node); end - - # Visit a LocalVariableWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3041 - def visit_local_variable_write_node(node); end - - # Visit a MatchLastLineNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3071 - def visit_match_last_line_node(node); end - - # Visit a MatchPredicateNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3100 - def visit_match_predicate_node(node); end - - # Visit a MatchRequiredNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3125 - def visit_match_required_node(node); end - - # Visit a MatchWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3150 - def visit_match_write_node(node); end - - # Visit a MissingNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3181 - def visit_missing_node(node); end - - # Visit a ModuleNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3195 - def visit_module_node(node); end - - # Visit a MultiTargetNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3231 - def visit_multi_target_node(node); end - - # Visit a MultiWriteNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3287 - def visit_multi_write_node(node); end - - # Visit a NextNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3350 - def visit_next_node(node); end - - # Visit a NilNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3373 - def visit_nil_node(node); end - - # Visit a NoKeywordsParameterNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3387 - def visit_no_keywords_parameter_node(node); end - - # Visit a NumberedParametersNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3407 - def visit_numbered_parameters_node(node); end - - # Visit a NumberedReferenceReadNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3424 - def visit_numbered_reference_read_node(node); end - - # Visit a OptionalKeywordParameterNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3441 - def visit_optional_keyword_parameter_node(node); end - - # Visit a OptionalParameterNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3468 - def visit_optional_parameter_node(node); end - - # Visit a OrNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3498 - def visit_or_node(node); end - - # Visit a ParametersNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3523 - def visit_parameters_node(node); end - - # Visit a ParenthesesNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3607 - def visit_parentheses_node(node); end - - # Visit a PinnedExpressionNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3633 - def visit_pinned_expression_node(node); end - - # Visit a PinnedVariableNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3660 - def visit_pinned_variable_node(node); end - - # Visit a PostExecutionNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3681 - def visit_post_execution_node(node); end - - # Visit a PreExecutionNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3710 - def visit_pre_execution_node(node); end - - # Visit a ProgramNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3739 - def visit_program_node(node); end - - # Visit a RangeNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3760 - def visit_range_node(node); end - - # Visit a RationalNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3792 - def visit_rational_node(node); end - - # Visit a RedoNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3815 - def visit_redo_node(node); end - - # Visit a RegularExpressionNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3829 - def visit_regular_expression_node(node); end - - # Visit a RequiredKeywordParameterNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3858 - def visit_required_keyword_parameter_node(node); end - - # Visit a RequiredParameterNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3881 - def visit_required_parameter_node(node); end - - # Visit a RescueModifierNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3901 - def visit_rescue_modifier_node(node); end - - # Visit a RescueNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3926 - def visit_rescue_node(node); end - - # Visit a RestParameterNode node. - # - # source://prism//lib/prism/dot_visitor.rb#3979 - def visit_rest_parameter_node(node); end - - # Visit a RetryNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4007 - def visit_retry_node(node); end - - # Visit a ReturnNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4021 - def visit_return_node(node); end - - # Visit a SelfNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4044 - def visit_self_node(node); end - - # Visit a ShareableConstantNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4058 - def visit_shareable_constant_node(node); end - - # Visit a SingletonClassNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4079 - def visit_singleton_class_node(node); end - - # Visit a SourceEncodingNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4115 - def visit_source_encoding_node(node); end - - # Visit a SourceFileNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4129 - def visit_source_file_node(node); end - - # Visit a SourceLineNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4149 - def visit_source_line_node(node); end - - # Visit a SplatNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4163 - def visit_splat_node(node); end - - # Visit a StatementsNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4186 - def visit_statements_node(node); end - - # Visit a StringNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4213 - def visit_string_node(node); end - - # Visit a SuperNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4246 - def visit_super_node(node); end - - # Visit a SymbolNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4285 - def visit_symbol_node(node); end - - # Visit a TrueNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4320 - def visit_true_node(node); end - - # Visit a UndefNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4334 - def visit_undef_node(node); end - - # Visit a UnlessNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4364 - def visit_unless_node(node); end - - # Visit a UntilNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4407 - def visit_until_node(node); end - - # Visit a WhenNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4442 - def visit_when_node(node); end - - # Visit a WhileNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4483 - def visit_while_node(node); end - - # Visit a XStringNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4518 - def visit_x_string_node(node); end - - # Visit a YieldNode node. - # - # source://prism//lib/prism/dot_visitor.rb#4547 - def visit_yield_node(node); end - - private - - # Inspect a node that has arguments_node_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4593 - def arguments_node_flags_inspect(node); end - - # Inspect a node that has array_node_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4603 - def array_node_flags_inspect(node); end - - # Inspect a node that has call_node_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4611 - def call_node_flags_inspect(node); end - - # Inspect a node that has encoding_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4622 - def encoding_flags_inspect(node); end - - # Inspect a node that has integer_base_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4631 - def integer_base_flags_inspect(node); end - - # Inspect a node that has interpolated_string_node_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4642 - def interpolated_string_node_flags_inspect(node); end - - # Inspect a node that has keyword_hash_node_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4651 - def keyword_hash_node_flags_inspect(node); end - - # Inspect a location to display the start and end line and column numbers. - # - # source://prism//lib/prism/dot_visitor.rb#4587 - def location_inspect(location); end - - # Inspect a node that has loop_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4659 - def loop_flags_inspect(node); end - - # Generate a unique node ID for a node throughout the digraph. - # - # source://prism//lib/prism/dot_visitor.rb#4582 - def node_id(node); end - - # Inspect a node that has parameter_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4667 - def parameter_flags_inspect(node); end - - # Inspect a node that has range_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4675 - def range_flags_inspect(node); end - - # Inspect a node that has regular_expression_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4683 - def regular_expression_flags_inspect(node); end - - # Inspect a node that has shareable_constant_node_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4701 - def shareable_constant_node_flags_inspect(node); end - - # Inspect a node that has string_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4711 - def string_flags_inspect(node); end - - # Inspect a node that has symbol_flags flags to display the flags as a - # comma-separated list. - # - # source://prism//lib/prism/dot_visitor.rb#4722 - def symbol_flags_inspect(node); end -end - -# source://prism//lib/prism/dot_visitor.rb#59 -class Prism::DotVisitor::Digraph - # @return [Digraph] a new instance of Digraph - # - # source://prism//lib/prism/dot_visitor.rb#62 - def initialize; end - - # source://prism//lib/prism/dot_visitor.rb#76 - def edge(value); end - - # Returns the value of attribute edges. - # - # source://prism//lib/prism/dot_visitor.rb#60 - def edges; end - - # source://prism//lib/prism/dot_visitor.rb#68 - def node(value); end - - # Returns the value of attribute nodes. - # - # source://prism//lib/prism/dot_visitor.rb#60 - def nodes; end - - # source://prism//lib/prism/dot_visitor.rb#80 - def to_dot; end - - # source://prism//lib/prism/dot_visitor.rb#72 - def waypoint(value); end - - # Returns the value of attribute waypoints. - # - # source://prism//lib/prism/dot_visitor.rb#60 - def waypoints; end -end - -# source://prism//lib/prism/dot_visitor.rb#15 -class Prism::DotVisitor::Field - # @return [Field] a new instance of Field - # - # source://prism//lib/prism/dot_visitor.rb#18 - def initialize(name, value, port); end - - # Returns the value of attribute name. - # - # source://prism//lib/prism/dot_visitor.rb#16 - def name; end - - # Returns the value of attribute port. - # - # source://prism//lib/prism/dot_visitor.rb#16 - def port; end - - # source://prism//lib/prism/dot_visitor.rb#24 - def to_dot; end - - # Returns the value of attribute value. - # - # source://prism//lib/prism/dot_visitor.rb#16 - def value; end -end - -# source://prism//lib/prism/dot_visitor.rb#33 -class Prism::DotVisitor::Table - # @return [Table] a new instance of Table - # - # source://prism//lib/prism/dot_visitor.rb#36 - def initialize(name); end - - # source://prism//lib/prism/dot_visitor.rb#41 - def field(name, value = T.unsafe(nil), port: T.unsafe(nil)); end - - # Returns the value of attribute fields. - # - # source://prism//lib/prism/dot_visitor.rb#34 - def fields; end - - # Returns the value of attribute name. - # - # source://prism//lib/prism/dot_visitor.rb#34 - def name; end - - # source://prism//lib/prism/dot_visitor.rb#45 - def to_dot; end -end - -# Represents an `else` clause in a `case`, `if`, or `unless` statement. -# -# if a then b else c end -# ^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#5448 -class Prism::ElseNode < ::Prism::Node - # Initialize a new ElseNode node. - # - # @return [ElseNode] a new instance of ElseNode - # - # source://prism//lib/prism/node.rb#5450 - def initialize(source, node_id, location, flags, else_keyword_loc, statements, end_keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#5545 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#5461 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5466 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#5478 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#5471 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?else_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location?) -> ElseNode - # - # source://prism//lib/prism/node.rb#5483 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), else_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5466 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location? } - # - # source://prism//lib/prism/node.rb#5491 - def deconstruct_keys(keys); end - - # def else_keyword: () -> String - # - # source://prism//lib/prism/node.rb#5519 - def else_keyword; end - - # attr_reader else_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#5496 - def else_keyword_loc; end - - # def end_keyword: () -> String? - # - # source://prism//lib/prism/node.rb#5524 - def end_keyword; end - - # attr_reader end_keyword_loc: Location? - # - # source://prism//lib/prism/node.rb#5506 - def end_keyword_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#5529 - sig { override.returns(String) } - def inspect; end - - # attr_reader statements: StatementsNode? - # - # source://prism//lib/prism/node.rb#5503 - def statements; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#5534 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#5539 - def type; end - end -end - -# EmbDocComment objects correspond to comments that are surrounded by =begin -# and =end. -# -# source://prism//lib/prism/parse_result.rb#412 -class Prism::EmbDocComment < ::Prism::Comment - # Returns a string representation of this comment. - # - # source://prism//lib/prism/parse_result.rb#419 - sig { returns(String) } - def inspect; end - - # This can only be true for inline comments. - # - # @return [Boolean] - # - # source://prism//lib/prism/parse_result.rb#414 - sig { override.returns(T::Boolean) } - def trailing?; end -end - -# Represents an interpolated set of statements. -# -# "foo #{bar}" -# ^^^^^^ -# -# source://prism//lib/prism/node.rb#5557 -class Prism::EmbeddedStatementsNode < ::Prism::Node - # Initialize a new EmbeddedStatementsNode node. - # - # @return [EmbeddedStatementsNode] a new instance of EmbeddedStatementsNode - # - # source://prism//lib/prism/node.rb#5559 - def initialize(source, node_id, location, flags, opening_loc, statements, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#5648 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#5570 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5575 - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#5627 - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#5615 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#5587 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#5580 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?statements: StatementsNode?, ?closing_loc: Location) -> EmbeddedStatementsNode - # - # source://prism//lib/prism/node.rb#5592 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), statements: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5575 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, statements: StatementsNode?, closing_loc: Location } - # - # source://prism//lib/prism/node.rb#5600 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#5632 - sig { override.returns(String) } - def inspect; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#5622 - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#5605 - def opening_loc; end - - # attr_reader statements: StatementsNode? - # - # source://prism//lib/prism/node.rb#5612 - def statements; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#5637 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#5642 - def type; end - end -end - -# Represents an interpolated variable. -# -# "foo #@bar" -# ^^^^^ -# -# source://prism//lib/prism/node.rb#5660 -class Prism::EmbeddedVariableNode < ::Prism::Node - # Initialize a new EmbeddedVariableNode node. - # - # @return [EmbeddedVariableNode] a new instance of EmbeddedVariableNode - # - # source://prism//lib/prism/node.rb#5662 - def initialize(source, node_id, location, flags, operator_loc, variable); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#5736 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#5672 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5677 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#5687 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#5682 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?variable: Prism::node) -> EmbeddedVariableNode - # - # source://prism//lib/prism/node.rb#5692 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), operator_loc: T.unsafe(nil), variable: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5677 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, variable: Prism::node } - # - # source://prism//lib/prism/node.rb#5700 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#5720 - sig { override.returns(String) } - def inspect; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#5715 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#5705 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#5725 - sig { override.returns(Symbol) } - def type; end - - # attr_reader variable: Prism::node - # - # source://prism//lib/prism/node.rb#5712 - def variable; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#5730 - def type; end - end -end - -# Flags for nodes that have unescaped content. -# -# source://prism//lib/prism/node.rb#16680 -module Prism::EncodingFlags; end - -# internal bytes forced the encoding to binary -# -# source://prism//lib/prism/node.rb#16685 -Prism::EncodingFlags::FORCED_BINARY_ENCODING = T.let(T.unsafe(nil), Integer) - -# internal bytes forced the encoding to UTF-8 -# -# source://prism//lib/prism/node.rb#16682 -Prism::EncodingFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer) - -# Represents an `ensure` clause in a `begin` statement. -# -# begin -# foo -# ensure -# ^^^^^^ -# bar -# end -# -# source://prism//lib/prism/node.rb#5751 -class Prism::EnsureNode < ::Prism::Node - # Initialize a new EnsureNode node. - # - # @return [EnsureNode] a new instance of EnsureNode - # - # source://prism//lib/prism/node.rb#5753 - def initialize(source, node_id, location, flags, ensure_keyword_loc, statements, end_keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#5842 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#5764 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5769 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#5781 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#5774 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?ensure_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location) -> EnsureNode - # - # source://prism//lib/prism/node.rb#5786 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), ensure_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5769 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#5794 - def deconstruct_keys(keys); end - - # def end_keyword: () -> String - # - # source://prism//lib/prism/node.rb#5821 - def end_keyword; end - - # attr_reader end_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#5809 - def end_keyword_loc; end - - # def ensure_keyword: () -> String - # - # source://prism//lib/prism/node.rb#5816 - def ensure_keyword; end - - # attr_reader ensure_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#5799 - def ensure_keyword_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#5826 - sig { override.returns(String) } - def inspect; end - - # attr_reader statements: StatementsNode? - # - # source://prism//lib/prism/node.rb#5806 - def statements; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#5831 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#5836 - def type; end - end -end - -# Represents the use of the literal `false` keyword. -# -# false -# ^^^^^ -# -# source://prism//lib/prism/node.rb#5854 -class Prism::FalseNode < ::Prism::Node - # Initialize a new FalseNode node. - # - # @return [FalseNode] a new instance of FalseNode - # - # source://prism//lib/prism/node.rb#5856 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#5913 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#5864 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5869 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#5879 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#5874 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> FalseNode - # - # source://prism//lib/prism/node.rb#5884 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5869 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#5892 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#5897 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#5902 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#5907 - def type; end - 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://prism//lib/prism/node.rb#5928 -class Prism::FindPatternNode < ::Prism::Node - # Initialize a new FindPatternNode node. - # - # @return [FindPatternNode] a new instance of FindPatternNode - # - # source://prism//lib/prism/node.rb#5930 - def initialize(source, node_id, location, flags, constant, left, requireds, right, opening_loc, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#6046 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#5944 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5949 - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#6025 - def closing; end - - # attr_reader closing_loc: Location? - # - # source://prism//lib/prism/node.rb#6007 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#5964 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#5954 - def compact_child_nodes; end - - # attr_reader constant: Prism::node? - # - # source://prism//lib/prism/node.rb#5982 - def constant; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: Prism::node?, ?left: Prism::node, ?requireds: Array[Prism::node], ?right: Prism::node, ?opening_loc: Location?, ?closing_loc: Location?) -> FindPatternNode - # - # source://prism//lib/prism/node.rb#5969 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), constant: T.unsafe(nil), left: T.unsafe(nil), requireds: T.unsafe(nil), right: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#5949 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: Prism::node?, left: Prism::node, requireds: Array[Prism::node], right: Prism::node, opening_loc: Location?, closing_loc: Location? } - # - # source://prism//lib/prism/node.rb#5977 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#6030 - sig { override.returns(String) } - def inspect; end - - # attr_reader left: Prism::node - # - # source://prism//lib/prism/node.rb#5985 - def left; end - - # def opening: () -> String? - # - # source://prism//lib/prism/node.rb#6020 - def opening; end - - # attr_reader opening_loc: Location? - # - # source://prism//lib/prism/node.rb#5994 - def opening_loc; end - - # attr_reader requireds: Array[Prism::node] - # - # source://prism//lib/prism/node.rb#5988 - def requireds; end - - # attr_reader right: Prism::node - # - # source://prism//lib/prism/node.rb#5991 - def right; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#6035 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#6040 - def type; end - end -end - -# Represents the use of the `..` or `...` operators to create flip flops. -# -# baz if foo .. bar -# ^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#6062 -class Prism::FlipFlopNode < ::Prism::Node - # Initialize a new FlipFlopNode node. - # - # @return [FlipFlopNode] a new instance of FlipFlopNode - # - # source://prism//lib/prism/node.rb#6064 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - left: T.nilable(Prism::Node), - right: T.nilable(Prism::Node), - operator_loc: Prism::Location - ).void - end - def initialize(source, node_id, location, flags, left, right, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#6150 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#6075 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6080 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#6093 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#6085 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> FlipFlopNode - # - # source://prism//lib/prism/node.rb#6098 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - left: T.nilable(Prism::Node), - right: T.nilable(Prism::Node), - operator_loc: Prism::Location - ).returns(Prism::FlipFlopNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), left: T.unsafe(nil), right: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6080 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node?, right: Prism::node?, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#6106 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # def exclude_end?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#6111 - sig { returns(T::Boolean) } - def exclude_end?; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#6134 - sig { override.returns(String) } - def inspect; end - - # attr_reader left: Prism::node? - # - # source://prism//lib/prism/node.rb#6116 - sig { returns(T.nilable(Prism::Node)) } - def left; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#6129 - sig { returns(String) } - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#6122 - sig { returns(Prism::Location) } - def operator_loc; end - - # attr_reader right: Prism::node? - # - # source://prism//lib/prism/node.rb#6119 - sig { returns(T.nilable(Prism::Node)) } - def right; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#6139 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#6144 - def type; end - end -end - -# Represents a floating point number literal. -# -# 1.0 -# ^^^ -# -# source://prism//lib/prism/node.rb#6163 -class Prism::FloatNode < ::Prism::Node - # Initialize a new FloatNode node. - # - # @return [FloatNode] a new instance of FloatNode - # - # source://prism//lib/prism/node.rb#6165 - def initialize(source, node_id, location, flags, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#6226 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#6174 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6179 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#6189 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#6184 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Float) -> FloatNode - # - # source://prism//lib/prism/node.rb#6194 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6179 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Float } - # - # source://prism//lib/prism/node.rb#6202 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#6210 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#6215 - sig { override.returns(Symbol) } - def type; end - - # The value of the floating point number as a Float. - # - # source://prism//lib/prism/node.rb#6207 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#6220 - def type; end - end -end - -# Represents the use of the `for` keyword. -# -# for i in a end -# ^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#6236 -class Prism::ForNode < ::Prism::Node - # Initialize a new ForNode node. - # - # @return [ForNode] a new instance of ForNode - # - # source://prism//lib/prism/node.rb#6238 - def initialize(source, node_id, location, flags, index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#6392 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#6253 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6258 - def child_nodes; end - - # The collection to iterate over. - # - # for i in a end - # ^ - # - # source://prism//lib/prism/node.rb#6299 - def collection; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#6272 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#6263 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?index: Prism::node, ?collection: Prism::node, ?statements: StatementsNode?, ?for_keyword_loc: Location, ?in_keyword_loc: Location, ?do_keyword_loc: Location?, ?end_keyword_loc: Location) -> ForNode - # - # source://prism//lib/prism/node.rb#6277 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), index: T.unsafe(nil), collection: T.unsafe(nil), statements: T.unsafe(nil), for_keyword_loc: T.unsafe(nil), in_keyword_loc: T.unsafe(nil), do_keyword_loc: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6258 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, index: Prism::node, collection: Prism::node, statements: StatementsNode?, for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: Location?, end_keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#6285 - def deconstruct_keys(keys); end - - # def do_keyword: () -> String? - # - # source://prism//lib/prism/node.rb#6366 - def do_keyword; end - - # The location of the `do` keyword, if present. - # - # for i in a do end - # ^^ - # - # source://prism//lib/prism/node.rb#6333 - def do_keyword_loc; end - - # def end_keyword: () -> String - # - # source://prism//lib/prism/node.rb#6371 - def end_keyword; end - - # The location of the `end` keyword. - # - # for i in a end - # ^^^ - # - # source://prism//lib/prism/node.rb#6349 - def end_keyword_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def for_keyword: () -> String - # - # source://prism//lib/prism/node.rb#6356 - def for_keyword; end - - # The location of the `for` keyword. - # - # for i in a end - # ^^^ - # - # source://prism//lib/prism/node.rb#6313 - def for_keyword_loc; end - - # def in_keyword: () -> String - # - # source://prism//lib/prism/node.rb#6361 - def in_keyword; end - - # The location of the `in` keyword. - # - # for i in a end - # ^^ - # - # source://prism//lib/prism/node.rb#6323 - def in_keyword_loc; end - - # The index expression for `for` loops. - # - # for i in a end - # ^ - # - # source://prism//lib/prism/node.rb#6293 - def index; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#6376 - sig { override.returns(String) } - def inspect; end - - # Represents the body of statements to execute for each iteration of the loop. - # - # for i in a - # foo(i) - # ^^^^^^ - # end - # - # source://prism//lib/prism/node.rb#6307 - def statements; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#6381 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#6386 - def type; end - end -end - -# Represents forwarding all arguments to this method to another method. -# -# def foo(...) -# bar(...) -# ^^^ -# end -# -# source://prism//lib/prism/node.rb#6410 -class Prism::ForwardingArgumentsNode < ::Prism::Node - # Initialize a new ForwardingArgumentsNode node. - # - # @return [ForwardingArgumentsNode] a new instance of ForwardingArgumentsNode - # - # source://prism//lib/prism/node.rb#6412 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#6469 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#6420 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6425 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#6435 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#6430 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingArgumentsNode - # - # source://prism//lib/prism/node.rb#6440 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6425 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#6448 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#6453 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#6458 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#6463 - def type; end - end -end - -# Represents the use of the forwarding parameter in a method, block, or lambda declaration. -# -# def foo(...) -# ^^^ -# end -# -# source://prism//lib/prism/node.rb#6479 -class Prism::ForwardingParameterNode < ::Prism::Node - # Initialize a new ForwardingParameterNode node. - # - # @return [ForwardingParameterNode] a new instance of ForwardingParameterNode - # - # source://prism//lib/prism/node.rb#6481 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#6538 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#6489 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6494 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#6504 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#6499 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingParameterNode - # - # source://prism//lib/prism/node.rb#6509 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6494 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#6517 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#6522 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#6527 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#6532 - def type; end - end -end - -# Represents the use of the `super` keyword without parentheses or arguments. -# -# super -# ^^^^^ -# -# source://prism//lib/prism/node.rb#6547 -class Prism::ForwardingSuperNode < ::Prism::Node - # Initialize a new ForwardingSuperNode node. - # - # @return [ForwardingSuperNode] a new instance of ForwardingSuperNode - # - # source://prism//lib/prism/node.rb#6549 - def initialize(source, node_id, location, flags, block); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#6612 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#6558 - def accept(visitor); end - - # attr_reader block: BlockNode? - # - # source://prism//lib/prism/node.rb#6593 - def block; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6563 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#6575 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#6568 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?block: BlockNode?) -> ForwardingSuperNode - # - # source://prism//lib/prism/node.rb#6580 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), block: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6563 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, block: BlockNode? } - # - # source://prism//lib/prism/node.rb#6588 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#6596 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#6601 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#6606 - def type; end - end -end - -# Represents the use of the `&&=` operator for assignment to a global variable. -# -# $target &&= value -# ^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#6622 -class Prism::GlobalVariableAndWriteNode < ::Prism::Node - # Initialize a new GlobalVariableAndWriteNode node. - # - # @return [GlobalVariableAndWriteNode] a new instance of GlobalVariableAndWriteNode - # - # source://prism//lib/prism/node.rb#6624 - def initialize(source, node_id, location, flags, name, name_loc, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#6710 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#6636 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6641 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#6651 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#6646 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableAndWriteNode - # - # source://prism//lib/prism/node.rb#6656 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6641 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#6664 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#200 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#6694 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#6669 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#6672 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#6689 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#6679 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#6699 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#6686 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#6704 - def type; end - end -end - -# Represents assigning to a global variable using an operator that isn't `=`. -# -# $target += value -# ^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#6723 -class Prism::GlobalVariableOperatorWriteNode < ::Prism::Node - # Initialize a new GlobalVariableOperatorWriteNode node. - # - # @return [GlobalVariableOperatorWriteNode] a new instance of GlobalVariableOperatorWriteNode - # - # source://prism//lib/prism/node.rb#6725 - def initialize(source, node_id, location, flags, name, name_loc, binary_operator_loc, value, binary_operator); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#6810 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#6738 - def accept(visitor); end - - # attr_reader binary_operator: Symbol - # - # source://prism//lib/prism/node.rb#6791 - def binary_operator; end - - # attr_reader binary_operator_loc: Location - # - # source://prism//lib/prism/node.rb#6781 - def binary_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6743 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#6753 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#6748 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> GlobalVariableOperatorWriteNode - # - # source://prism//lib/prism/node.rb#6758 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), binary_operator: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6743 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol } - # - # source://prism//lib/prism/node.rb#6766 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#212 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#6794 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#6771 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#6774 - def name_loc; end - - # Returns the binary operator used to modify the receiver. This method is - # deprecated in favor of #binary_operator. - # - # source://prism//lib/prism/node_ext.rb#403 - def operator; end - - # Returns the location of the binary operator used to modify the receiver. - # This method is deprecated in favor of #binary_operator_loc. - # - # source://prism//lib/prism/node_ext.rb#410 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#6799 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#6788 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#6804 - def type; end - end -end - -# Represents the use of the `||=` operator for assignment to a global variable. -# -# $target ||= value -# ^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#6824 -class Prism::GlobalVariableOrWriteNode < ::Prism::Node - # Initialize a new GlobalVariableOrWriteNode node. - # - # @return [GlobalVariableOrWriteNode] a new instance of GlobalVariableOrWriteNode - # - # source://prism//lib/prism/node.rb#6826 - def initialize(source, node_id, location, flags, name, name_loc, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#6912 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#6838 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6843 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#6853 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#6848 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableOrWriteNode - # - # source://prism//lib/prism/node.rb#6858 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6843 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#6866 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#206 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#6896 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#6871 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#6874 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#6891 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#6881 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#6901 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#6888 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#6906 - def type; end - end -end - -# Represents referencing a global variable. -# -# $foo -# ^^^^ -# -# source://prism//lib/prism/node.rb#6925 -class Prism::GlobalVariableReadNode < ::Prism::Node - # Initialize a new GlobalVariableReadNode node. - # - # @return [GlobalVariableReadNode] a new instance of GlobalVariableReadNode - # - # source://prism//lib/prism/node.rb#6927 - def initialize(source, node_id, location, flags, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#6992 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#6936 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6941 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#6951 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#6946 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableReadNode - # - # source://prism//lib/prism/node.rb#6956 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#6941 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#6964 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#6976 - sig { override.returns(String) } - def inspect; end - - # The name of the global variable, which is a `$` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifier). Alternatively, it can be one of the special global variables designated by a symbol. - # - # $foo # name `:$foo` - # - # $_Test # name `:$_Test` - # - # source://prism//lib/prism/node.rb#6973 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#6981 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#6986 - def type; end - end -end - -# Represents writing to a global variable in a context that doesn't have an explicit value. -# -# $foo, $bar = baz -# ^^^^ ^^^^ -# -# source://prism//lib/prism/node.rb#7002 -class Prism::GlobalVariableTargetNode < ::Prism::Node - # Initialize a new GlobalVariableTargetNode node. - # - # @return [GlobalVariableTargetNode] a new instance of GlobalVariableTargetNode - # - # source://prism//lib/prism/node.rb#7004 - def initialize(source, node_id, location, flags, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#7065 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#7013 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7018 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#7028 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#7023 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableTargetNode - # - # source://prism//lib/prism/node.rb#7033 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7018 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#7041 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#7049 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#7046 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#7054 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#7059 - def type; end - end -end - -# Represents writing to a global variable. -# -# $foo = 1 -# ^^^^^^^^ -# -# source://prism//lib/prism/node.rb#7075 -class Prism::GlobalVariableWriteNode < ::Prism::Node - # Initialize a new GlobalVariableWriteNode node. - # - # @return [GlobalVariableWriteNode] a new instance of GlobalVariableWriteNode - # - # source://prism//lib/prism/node.rb#7077 - def initialize(source, node_id, location, flags, name, name_loc, value, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#7179 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#7089 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7094 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#7104 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#7099 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> GlobalVariableWriteNode - # - # source://prism//lib/prism/node.rb#7109 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7094 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#7117 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#7163 - sig { override.returns(String) } - def inspect; end - - # The name of the global variable, which is a `$` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifier). Alternatively, it can be one of the special global variables designated by a symbol. - # - # $foo = :bar # name `:$foo` - # - # $_Test = 123 # name `:$_Test` - # - # source://prism//lib/prism/node.rb#7126 - def name; end - - # The location of the global variable's name. - # - # $foo = :bar - # ^^^^ - # - # source://prism//lib/prism/node.rb#7132 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#7158 - def operator; end - - # The location of the `=` operator. - # - # $foo = :bar - # ^ - # - # source://prism//lib/prism/node.rb#7151 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#7168 - sig { override.returns(Symbol) } - def type; end - - # The value to write to the global variable. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # $foo = :bar - # ^^^^ - # - # $-xyz = 123 - # ^^^ - # - # source://prism//lib/prism/node.rb#7145 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#7173 - def type; end - end -end - -# Represents a hash literal. -# -# { a => b } -# ^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#7192 -class Prism::HashNode < ::Prism::Node - # Initialize a new HashNode node. - # - # @return [HashNode] a new instance of HashNode - # - # source://prism//lib/prism/node.rb#7194 - def initialize(source, node_id, location, flags, opening_loc, elements, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#7293 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#7205 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7210 - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#7272 - def closing; end - - # The location of the closing brace. - # - # { a => b } - # ^ - # - # source://prism//lib/prism/node.rb#7260 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#7220 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#7215 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?elements: Array[AssocNode | AssocSplatNode], ?closing_loc: Location) -> HashNode - # - # source://prism//lib/prism/node.rb#7225 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), elements: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7210 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, elements: Array[AssocNode | AssocSplatNode], closing_loc: Location } - # - # source://prism//lib/prism/node.rb#7233 - def deconstruct_keys(keys); end - - # The elements of the hash. These can be either `AssocNode`s or `AssocSplatNode`s. - # - # { a: b } - # ^^^^ - # - # { **foo } - # ^^^^^ - # - # source://prism//lib/prism/node.rb#7254 - def elements; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#7277 - sig { override.returns(String) } - def inspect; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#7267 - def opening; end - - # The location of the opening brace. - # - # { a => b } - # ^ - # - # source://prism//lib/prism/node.rb#7241 - def opening_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#7282 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#7287 - def type; end - end -end - -# Represents a hash pattern in pattern matching. -# -# foo => { a: 1, b: 2 } -# ^^^^^^^^^^^^^^ -# -# foo => { a: 1, b: 2, **c } -# ^^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#7309 -class Prism::HashPatternNode < ::Prism::Node - # Initialize a new HashPatternNode node. - # - # @return [HashPatternNode] a new instance of HashPatternNode - # - # source://prism//lib/prism/node.rb#7311 - def initialize(source, node_id, location, flags, constant, elements, rest, opening_loc, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#7422 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#7324 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7329 - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#7401 - def closing; end - - # attr_reader closing_loc: Location? - # - # source://prism//lib/prism/node.rb#7383 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#7343 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#7334 - def compact_child_nodes; end - - # attr_reader constant: Prism::node? - # - # source://prism//lib/prism/node.rb#7361 - def constant; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: Prism::node?, ?elements: Array[AssocNode], ?rest: AssocSplatNode | NoKeywordsParameterNode | nil, ?opening_loc: Location?, ?closing_loc: Location?) -> HashPatternNode - # - # source://prism//lib/prism/node.rb#7348 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), constant: T.unsafe(nil), elements: T.unsafe(nil), rest: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7329 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: Prism::node?, elements: Array[AssocNode], rest: AssocSplatNode | NoKeywordsParameterNode | nil, opening_loc: Location?, closing_loc: Location? } - # - # source://prism//lib/prism/node.rb#7356 - def deconstruct_keys(keys); end - - # attr_reader elements: Array[AssocNode] - # - # source://prism//lib/prism/node.rb#7364 - def elements; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#7406 - sig { override.returns(String) } - def inspect; end - - # def opening: () -> String? - # - # source://prism//lib/prism/node.rb#7396 - def opening; end - - # attr_reader opening_loc: Location? - # - # source://prism//lib/prism/node.rb#7370 - def opening_loc; end - - # attr_reader rest: AssocSplatNode | NoKeywordsParameterNode | nil - # - # source://prism//lib/prism/node.rb#7367 - def rest; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#7411 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#7416 - def type; end - end -end - -# source://prism//lib/prism/node_ext.rb#52 -module Prism::HeredocQuery - # Returns true if this node was represented as a heredoc in the source code. - # - # @return [Boolean] - # - # source://prism//lib/prism/node_ext.rb#54 - def heredoc?; end -end - -# Represents the use of the `if` keyword, either in the block form or the modifier form, or a ternary expression. -# -# bar if foo -# ^^^^^^^^^^ -# -# if foo then bar end -# ^^^^^^^^^^^^^^^^^^^ -# -# foo ? bar : baz -# ^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#7443 -class Prism::IfNode < ::Prism::Node - # Initialize a new IfNode node. - # - # @return [IfNode] a new instance of IfNode - # - # source://prism//lib/prism/node.rb#7445 - def initialize(source, node_id, location, flags, if_keyword_loc, predicate, then_keyword_loc, statements, subsequent, end_keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#7621 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#7459 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7464 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#7478 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#7469 - def compact_child_nodes; end - - # Returns the subsequent if/elsif/else clause of the if node. This method is - # deprecated in favor of #subsequent. - # - # source://prism//lib/prism/node_ext.rb#485 - def consequent; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?if_keyword_loc: Location?, ?predicate: Prism::node, ?then_keyword_loc: Location?, ?statements: StatementsNode?, ?subsequent: ElseNode | IfNode | nil, ?end_keyword_loc: Location?) -> IfNode - # - # source://prism//lib/prism/node.rb#7483 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), if_keyword_loc: T.unsafe(nil), predicate: T.unsafe(nil), then_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil), subsequent: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7464 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, if_keyword_loc: Location?, predicate: Prism::node, then_keyword_loc: Location?, statements: StatementsNode?, subsequent: ElseNode | IfNode | nil, end_keyword_loc: Location? } - # - # source://prism//lib/prism/node.rb#7491 - def deconstruct_keys(keys); end - - # def end_keyword: () -> String? - # - # source://prism//lib/prism/node.rb#7600 - def end_keyword; end - - # The location of the `end` keyword if present, `nil` otherwise. - # - # if foo - # bar - # end - # ^^^ - # - # source://prism//lib/prism/node.rb#7577 - def end_keyword_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def if_keyword: () -> String? - # - # source://prism//lib/prism/node.rb#7590 - def if_keyword; end - - # The location of the `if` keyword if present. - # - # bar if foo - # ^^ - # - # The `if_keyword_loc` field will be `nil` when the `IfNode` represents a ternary expression. - # - # source://prism//lib/prism/node.rb#7501 - def if_keyword_loc; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#7605 - sig { override.returns(String) } - def inspect; end - - # source://prism//lib/prism/parse_result/newlines.rb#91 - def newline_flag!(lines); end - - # The node for the condition the `IfNode` is testing. - # - # if foo - # ^^^ - # bar - # end - # - # bar if foo - # ^^^ - # - # foo ? bar : baz - # ^^^ - # - # source://prism//lib/prism/node.rb#7525 - def predicate; end - - # Represents the body of statements that will be executed when the predicate is evaluated as truthy. Will be `nil` when no body is provided. - # - # if foo - # bar - # ^^^ - # baz - # ^^^ - # end - # - # source://prism//lib/prism/node.rb#7554 - def statements; end - - # Represents an `ElseNode` or an `IfNode` when there is an `else` or an `elsif` in the `if` statement. - # - # if foo - # bar - # elsif baz - # ^^^^^^^^^ - # qux - # ^^^ - # end - # ^^^ - # - # if foo then bar else baz end - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/node.rb#7569 - def subsequent; end - - # def then_keyword: () -> String? - # - # source://prism//lib/prism/node.rb#7595 - def then_keyword; end - - # The location of the `then` keyword (if present) or the `?` in a ternary expression, `nil` otherwise. - # - # if foo then bar end - # ^^^^ - # - # a ? b : c - # ^ - # - # source://prism//lib/prism/node.rb#7534 - def then_keyword_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#7610 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#7615 - def type; end - end -end - -# Represents an imaginary number literal. -# -# 1.0i -# ^^^^ -# -# source://prism//lib/prism/node.rb#7636 -class Prism::ImaginaryNode < ::Prism::Node - # Initialize a new ImaginaryNode node. - # - # @return [ImaginaryNode] a new instance of ImaginaryNode - # - # source://prism//lib/prism/node.rb#7638 - def initialize(source, node_id, location, flags, numeric); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#7699 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#7647 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7652 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#7662 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#7657 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?numeric: FloatNode | IntegerNode | RationalNode) -> ImaginaryNode - # - # source://prism//lib/prism/node.rb#7667 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), numeric: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7652 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, numeric: FloatNode | IntegerNode | RationalNode } - # - # source://prism//lib/prism/node.rb#7675 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#7683 - sig { override.returns(String) } - def inspect; end - - # attr_reader numeric: FloatNode | IntegerNode | RationalNode - # - # source://prism//lib/prism/node.rb#7680 - def numeric; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#7688 - sig { override.returns(Symbol) } - def type; end - - # Returns the value of the node as a Ruby Complex. - # - # source://prism//lib/prism/node_ext.rb#107 - sig { returns(Complex) } - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#7693 - def type; end - end -end - -# Represents a node that is implicitly being added to the tree but doesn't correspond directly to a node in the source. -# -# { foo: } -# ^^^^ -# -# { Foo: } -# ^^^^ -# -# foo in { bar: } -# ^^^^ -# -# source://prism//lib/prism/node.rb#7715 -class Prism::ImplicitNode < ::Prism::Node - # Initialize a new ImplicitNode node. - # - # @return [ImplicitNode] a new instance of ImplicitNode - # - # source://prism//lib/prism/node.rb#7717 - def initialize(source, node_id, location, flags, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#7778 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#7726 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7731 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#7741 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#7736 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node) -> ImplicitNode - # - # source://prism//lib/prism/node.rb#7746 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7731 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#7754 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#7762 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#7767 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#7759 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#7772 - def type; end - end -end - -# Represents using a trailing comma to indicate an implicit rest parameter. -# -# foo { |bar,| } -# ^ -# -# foo in [bar,] -# ^ -# -# for foo, in bar do end -# ^ -# -# foo, = bar -# ^ -# -# source://prism//lib/prism/node.rb#7797 -class Prism::ImplicitRestNode < ::Prism::Node - # Initialize a new ImplicitRestNode node. - # - # @return [ImplicitRestNode] a new instance of ImplicitRestNode - # - # source://prism//lib/prism/node.rb#7799 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#7856 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#7807 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7812 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#7822 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#7817 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ImplicitRestNode - # - # source://prism//lib/prism/node.rb#7827 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7812 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#7835 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#7840 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#7845 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#7850 - def type; end - end -end - -# Represents the use of the `in` keyword in a case statement. -# -# case a; in b then c end -# ^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#7865 -class Prism::InNode < ::Prism::Node - # Initialize a new InNode node. - # - # @return [InNode] a new instance of InNode - # - # source://prism//lib/prism/node.rb#7867 - def initialize(source, node_id, location, flags, pattern, statements, in_loc, then_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#7967 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#7879 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7884 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#7897 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#7889 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?pattern: Prism::node, ?statements: StatementsNode?, ?in_loc: Location, ?then_loc: Location?) -> InNode - # - # source://prism//lib/prism/node.rb#7902 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), pattern: T.unsafe(nil), statements: T.unsafe(nil), in_loc: T.unsafe(nil), then_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#7884 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, pattern: Prism::node, statements: StatementsNode?, in_loc: Location, then_loc: Location? } - # - # source://prism//lib/prism/node.rb#7910 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def in: () -> String - # - # source://prism//lib/prism/node.rb#7941 - def in; end - - # attr_reader in_loc: Location - # - # source://prism//lib/prism/node.rb#7921 - def in_loc; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#7951 - sig { override.returns(String) } - def inspect; end - - # attr_reader pattern: Prism::node - # - # source://prism//lib/prism/node.rb#7915 - def pattern; end - - # attr_reader statements: StatementsNode? - # - # source://prism//lib/prism/node.rb#7918 - def statements; end - - # def then: () -> String? - # - # source://prism//lib/prism/node.rb#7946 - def then; end - - # attr_reader then_loc: Location? - # - # source://prism//lib/prism/node.rb#7928 - def then_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#7956 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#7961 - def type; end - end -end - -# Represents the use of the `&&=` operator on a call to the `[]` method. -# -# foo.bar[baz] &&= value -# ^^^^^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#7980 -class Prism::IndexAndWriteNode < ::Prism::Node - # Initialize a new IndexAndWriteNode node. - # - # @return [IndexAndWriteNode] a new instance of IndexAndWriteNode - # - # source://prism//lib/prism/node.rb#7982 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node), - operator_loc: Prism::Location, - value: Prism::Node - ).void - end - def initialize(source, node_id, location, flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#8138 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#7998 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # attr_reader arguments: ArgumentsNode? - # - # source://prism//lib/prism/node.rb#8079 - sig { returns(T.nilable(Prism::ArgumentsNode)) } - def arguments; end - - # def attribute_write?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8046 - sig { returns(T::Boolean) } - def attribute_write?; end - - # attr_reader block: Prism::node? - # - # source://prism//lib/prism/node.rb#8089 - sig { returns(T.nilable(Prism::Node)) } - def block; end - - # def call_operator: () -> String? - # - # source://prism//lib/prism/node.rb#8102 - sig { returns(T.nilable(String)) } - def call_operator; end - - # attr_reader call_operator_loc: Location? - # - # source://prism//lib/prism/node.rb#8059 - sig { returns(T.nilable(Prism::Location)) } - def call_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8003 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#8112 - sig { returns(String) } - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#8082 - sig { returns(Prism::Location) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#8018 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#8008 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?operator_loc: Location, ?value: Prism::node) -> IndexAndWriteNode - # - # source://prism//lib/prism/node.rb#8023 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node), - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::IndexAndWriteNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), arguments: T.unsafe(nil), closing_loc: T.unsafe(nil), block: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8003 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#8031 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def ignore_visibility?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8051 - sig { returns(T::Boolean) } - def ignore_visibility?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#8122 - sig { override.returns(String) } - def inspect; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#8107 - sig { returns(String) } - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#8072 - sig { returns(Prism::Location) } - def opening_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#8117 - sig { returns(String) } - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#8092 - sig { returns(Prism::Location) } - def operator_loc; end - - # attr_reader receiver: Prism::node? - # - # source://prism//lib/prism/node.rb#8056 - sig { returns(T.nilable(Prism::Node)) } - def receiver; end - - # def safe_navigation?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8036 - sig { returns(T::Boolean) } - def safe_navigation?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#8127 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#8099 - sig { returns(Prism::Node) } - def value; end - - # def variable_call?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8041 - sig { returns(T::Boolean) } - def variable_call?; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#8132 - def type; end - end -end - -# Represents the use of an assignment operator on a call to `[]`. -# -# foo.bar[baz] += value -# ^^^^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#8156 -class Prism::IndexOperatorWriteNode < ::Prism::Node - # Initialize a new IndexOperatorWriteNode node. - # - # @return [IndexOperatorWriteNode] a new instance of IndexOperatorWriteNode - # - # source://prism//lib/prism/node.rb#8158 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node), - binary_operator: Symbol, - binary_operator_loc: Prism::Location, - value: Prism::Node - ).void - end - def initialize(source, node_id, location, flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, binary_operator, binary_operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#8313 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#8175 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # attr_reader arguments: ArgumentsNode? - # - # source://prism//lib/prism/node.rb#8256 - sig { returns(T.nilable(Prism::ArgumentsNode)) } - def arguments; end - - # def attribute_write?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8223 - sig { returns(T::Boolean) } - def attribute_write?; end - - # attr_reader binary_operator: Symbol - # - # source://prism//lib/prism/node.rb#8269 - sig { returns(Symbol) } - def binary_operator; end - - # attr_reader binary_operator_loc: Location - # - # source://prism//lib/prism/node.rb#8272 - sig { returns(Prism::Location) } - def binary_operator_loc; end - - # attr_reader block: Prism::node? - # - # source://prism//lib/prism/node.rb#8266 - sig { returns(T.nilable(Prism::Node)) } - def block; end - - # def call_operator: () -> String? - # - # source://prism//lib/prism/node.rb#8282 - sig { returns(T.nilable(String)) } - def call_operator; end - - # attr_reader call_operator_loc: Location? - # - # source://prism//lib/prism/node.rb#8236 - sig { returns(T.nilable(Prism::Location)) } - def call_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8180 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#8292 - sig { returns(String) } - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#8259 - sig { returns(Prism::Location) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#8195 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#8185 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?binary_operator: Symbol, ?binary_operator_loc: Location, ?value: Prism::node) -> IndexOperatorWriteNode - # - # source://prism//lib/prism/node.rb#8200 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node), - binary_operator: Symbol, - binary_operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::IndexOperatorWriteNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), arguments: T.unsafe(nil), closing_loc: T.unsafe(nil), block: T.unsafe(nil), binary_operator: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8180 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?, binary_operator: Symbol, binary_operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#8208 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def ignore_visibility?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8228 - sig { returns(T::Boolean) } - def ignore_visibility?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#8297 - sig { override.returns(String) } - def inspect; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#8287 - sig { returns(String) } - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#8249 - sig { returns(Prism::Location) } - def opening_loc; end - - # Returns the binary operator used to modify the receiver. This method is - # deprecated in favor of #binary_operator. - # - # source://prism//lib/prism/node_ext.rb#419 - def operator; end - - # Returns the location of the binary operator used to modify the receiver. - # This method is deprecated in favor of #binary_operator_loc. - # - # source://prism//lib/prism/node_ext.rb#426 - def operator_loc; end - - # attr_reader receiver: Prism::node? - # - # source://prism//lib/prism/node.rb#8233 - sig { returns(T.nilable(Prism::Node)) } - def receiver; end - - # def safe_navigation?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8213 - sig { returns(T::Boolean) } - def safe_navigation?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#8302 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#8279 - sig { returns(Prism::Node) } - def value; end - - # def variable_call?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8218 - sig { returns(T::Boolean) } - def variable_call?; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#8307 - def type; end - end -end - -# Represents the use of the `||=` operator on a call to `[]`. -# -# foo.bar[baz] ||= value -# ^^^^^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#8332 -class Prism::IndexOrWriteNode < ::Prism::Node - # Initialize a new IndexOrWriteNode node. - # - # @return [IndexOrWriteNode] a new instance of IndexOrWriteNode - # - # source://prism//lib/prism/node.rb#8334 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node), - operator_loc: Prism::Location, - value: Prism::Node - ).void - end - def initialize(source, node_id, location, flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#8490 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#8350 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # attr_reader arguments: ArgumentsNode? - # - # source://prism//lib/prism/node.rb#8431 - sig { returns(T.nilable(Prism::ArgumentsNode)) } - def arguments; end - - # def attribute_write?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8398 - sig { returns(T::Boolean) } - def attribute_write?; end - - # attr_reader block: Prism::node? - # - # source://prism//lib/prism/node.rb#8441 - sig { returns(T.nilable(Prism::Node)) } - def block; end - - # def call_operator: () -> String? - # - # source://prism//lib/prism/node.rb#8454 - sig { returns(T.nilable(String)) } - def call_operator; end - - # attr_reader call_operator_loc: Location? - # - # source://prism//lib/prism/node.rb#8411 - sig { returns(T.nilable(Prism::Location)) } - def call_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8355 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#8464 - sig { returns(String) } - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#8434 - sig { returns(Prism::Location) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#8370 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#8360 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?operator_loc: Location, ?value: Prism::node) -> IndexOrWriteNode - # - # source://prism//lib/prism/node.rb#8375 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: T.nilable(Prism::Node), - call_operator_loc: T.nilable(Prism::Location), - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node), - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::IndexOrWriteNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), call_operator_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), arguments: T.unsafe(nil), closing_loc: T.unsafe(nil), block: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8355 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#8383 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def ignore_visibility?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8403 - sig { returns(T::Boolean) } - def ignore_visibility?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#8474 - sig { override.returns(String) } - def inspect; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#8459 - sig { returns(String) } - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#8424 - sig { returns(Prism::Location) } - def opening_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#8469 - sig { returns(String) } - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#8444 - sig { returns(Prism::Location) } - def operator_loc; end - - # attr_reader receiver: Prism::node? - # - # source://prism//lib/prism/node.rb#8408 - sig { returns(T.nilable(Prism::Node)) } - def receiver; end - - # def safe_navigation?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8388 - sig { returns(T::Boolean) } - def safe_navigation?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#8479 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#8451 - sig { returns(Prism::Node) } - def value; end - - # def variable_call?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8393 - sig { returns(T::Boolean) } - def variable_call?; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#8484 - def type; end - end -end - -# Represents assigning to an index. -# -# foo[bar], = 1 -# ^^^^^^^^ -# -# begin -# rescue => foo[bar] -# ^^^^^^^^ -# end -# -# for foo[bar] in baz do end -# ^^^^^^^^ -# -# source://prism//lib/prism/node.rb#8516 -class Prism::IndexTargetNode < ::Prism::Node - # Initialize a new IndexTargetNode node. - # - # @return [IndexTargetNode] a new instance of IndexTargetNode - # - # source://prism//lib/prism/node.rb#8518 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: Prism::Node, - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node) - ).void - end - def initialize(source, node_id, location, flags, receiver, opening_loc, arguments, closing_loc, block); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#8637 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#8531 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # attr_reader arguments: ArgumentsNode? - # - # source://prism//lib/prism/node.rb#8598 - sig { returns(T.nilable(Prism::ArgumentsNode)) } - def arguments; end - - # def attribute_write?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8578 - sig { returns(T::Boolean) } - def attribute_write?; end - - # attr_reader block: Prism::node? - # - # source://prism//lib/prism/node.rb#8608 - sig { returns(T.nilable(Prism::Node)) } - def block; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8536 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#8616 - sig { returns(String) } - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#8601 - sig { returns(Prism::Location) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#8550 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#8541 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?) -> IndexTargetNode - # - # source://prism//lib/prism/node.rb#8555 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - receiver: Prism::Node, - opening_loc: Prism::Location, - arguments: T.nilable(Prism::ArgumentsNode), - closing_loc: Prism::Location, - block: T.nilable(Prism::Node) - ).returns(Prism::IndexTargetNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), receiver: T.unsafe(nil), opening_loc: T.unsafe(nil), arguments: T.unsafe(nil), closing_loc: T.unsafe(nil), block: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8536 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, receiver: Prism::node, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node? } - # - # source://prism//lib/prism/node.rb#8563 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def ignore_visibility?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8583 - sig { returns(T::Boolean) } - def ignore_visibility?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#8621 - sig { override.returns(String) } - def inspect; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#8611 - sig { returns(String) } - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#8591 - sig { returns(Prism::Location) } - def opening_loc; end - - # attr_reader receiver: Prism::node - # - # source://prism//lib/prism/node.rb#8588 - sig { returns(Prism::Node) } - def receiver; end - - # def safe_navigation?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8568 - sig { returns(T::Boolean) } - def safe_navigation?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#8626 - sig { override.returns(Symbol) } - def type; end - - # def variable_call?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#8573 - sig { returns(T::Boolean) } - def variable_call?; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#8631 - def type; end - end -end - -# InlineComment objects are the most common. They correspond to comments in -# the source file like this one that start with #. -# -# source://prism//lib/prism/parse_result.rb#397 -class Prism::InlineComment < ::Prism::Comment - # Returns a string representation of this comment. - # - # source://prism//lib/prism/parse_result.rb#405 - sig { returns(String) } - def inspect; end - - # Returns true if this comment happens on the same line as other code and - # false if the comment is by itself. - # - # @return [Boolean] - # - # source://prism//lib/prism/parse_result.rb#400 - sig { override.returns(T::Boolean) } - def trailing?; end -end - -# This visitor is responsible for composing the strings that get returned by -# the various #inspect methods defined on each of the nodes. -# -# source://prism//lib/prism/inspect_visitor.rb#12 -class Prism::InspectVisitor < ::Prism::Visitor - # Initializes a new instance of the InspectVisitor. - # - # @return [InspectVisitor] a new instance of InspectVisitor - # - # source://prism//lib/prism/inspect_visitor.rb#35 - sig { params(indent: String).void } - def initialize(indent = T.unsafe(nil)); end - - # The list of commands that we need to execute in order to compose the - # final string. - # - # source://prism//lib/prism/inspect_visitor.rb#32 - def commands; end - - # Compose the final string. - # - # source://prism//lib/prism/inspect_visitor.rb#48 - sig { returns(String) } - def compose; end - - # The current prefix string. - # - # source://prism//lib/prism/inspect_visitor.rb#28 - def indent; end - - # Inspect a AliasGlobalVariableNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#77 - def visit_alias_global_variable_node(node); end - - # Inspect a AliasMethodNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#89 - def visit_alias_method_node(node); end - - # Inspect a AlternationPatternNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#101 - def visit_alternation_pattern_node(node); end - - # Inspect a AndNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#113 - def visit_and_node(node); end - - # Inspect a ArgumentsNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#125 - def visit_arguments_node(node); end - - # Inspect a ArrayNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#141 - def visit_array_node(node); end - - # Inspect a ArrayPatternNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#159 - def visit_array_pattern_node(node); end - - # Inspect a AssocNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#198 - def visit_assoc_node(node); end - - # Inspect a AssocSplatNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#210 - def visit_assoc_splat_node(node); end - - # Inspect a BackReferenceReadNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#224 - def visit_back_reference_read_node(node); end - - # Inspect a BeginNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#232 - def visit_begin_node(node); end - - # Inspect a BlockArgumentNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#265 - def visit_block_argument_node(node); end - - # Inspect a BlockLocalVariableNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#279 - def visit_block_local_variable_node(node); end - - # Inspect a BlockNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#287 - def visit_block_node(node); end - - # Inspect a BlockParameterNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#309 - def visit_block_parameter_node(node); end - - # Inspect a BlockParametersNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#323 - def visit_block_parameters_node(node); end - - # Inspect a BreakNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#347 - def visit_break_node(node); end - - # Inspect a CallAndWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#361 - def visit_call_and_write_node(node); end - - # Inspect a CallNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#381 - def visit_call_node(node); end - - # Inspect a CallOperatorWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#411 - def visit_call_operator_write_node(node); end - - # Inspect a CallOrWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#432 - def visit_call_or_write_node(node); end - - # Inspect a CallTargetNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#452 - def visit_call_target_node(node); end - - # Inspect a CapturePatternNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#464 - def visit_capture_pattern_node(node); end - - # Inspect a CaseMatchNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#476 - def visit_case_match_node(node); end - - # Inspect a CaseNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#506 - def visit_case_node(node); end - - # Inspect a ClassNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#536 - def visit_class_node(node); end - - # Inspect a ClassVariableAndWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#562 - def visit_class_variable_and_write_node(node); end - - # Inspect a ClassVariableOperatorWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#574 - def visit_class_variable_operator_write_node(node); end - - # Inspect a ClassVariableOrWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#587 - def visit_class_variable_or_write_node(node); end - - # Inspect a ClassVariableReadNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#599 - def visit_class_variable_read_node(node); end - - # Inspect a ClassVariableTargetNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#607 - def visit_class_variable_target_node(node); end - - # Inspect a ClassVariableWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#615 - def visit_class_variable_write_node(node); end - - # Inspect a ConstantAndWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#627 - def visit_constant_and_write_node(node); end - - # Inspect a ConstantOperatorWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#639 - def visit_constant_operator_write_node(node); end - - # Inspect a ConstantOrWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#652 - def visit_constant_or_write_node(node); end - - # Inspect a ConstantPathAndWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#664 - def visit_constant_path_and_write_node(node); end - - # Inspect a ConstantPathNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#676 - def visit_constant_path_node(node); end - - # Inspect a ConstantPathOperatorWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#696 - def visit_constant_path_operator_write_node(node); end - - # Inspect a ConstantPathOrWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#709 - def visit_constant_path_or_write_node(node); end - - # Inspect a ConstantPathTargetNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#721 - def visit_constant_path_target_node(node); end - - # Inspect a ConstantPathWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#741 - def visit_constant_path_write_node(node); end - - # Inspect a ConstantReadNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#753 - def visit_constant_read_node(node); end - - # Inspect a ConstantTargetNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#761 - def visit_constant_target_node(node); end - - # Inspect a ConstantWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#769 - def visit_constant_write_node(node); end - - # Inspect a DefNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#781 - def visit_def_node(node); end - - # Inspect a DefinedNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#815 - def visit_defined_node(node); end - - # Inspect a ElseNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#827 - def visit_else_node(node); end - - # Inspect a EmbeddedStatementsNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#842 - def visit_embedded_statements_node(node); end - - # Inspect a EmbeddedVariableNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#857 - def visit_embedded_variable_node(node); end - - # Inspect a EnsureNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#867 - def visit_ensure_node(node); end - - # Inspect a FalseNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#882 - def visit_false_node(node); end - - # Inspect a FindPatternNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#889 - def visit_find_pattern_node(node); end - - # Inspect a FlipFlopNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#917 - def visit_flip_flop_node(node); end - - # Inspect a FloatNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#937 - def visit_float_node(node); end - - # Inspect a ForNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#945 - def visit_for_node(node); end - - # Inspect a ForwardingArgumentsNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#966 - def visit_forwarding_arguments_node(node); end - - # Inspect a ForwardingParameterNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#973 - def visit_forwarding_parameter_node(node); end - - # Inspect a ForwardingSuperNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#980 - def visit_forwarding_super_node(node); end - - # Inspect a GlobalVariableAndWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#993 - def visit_global_variable_and_write_node(node); end - - # Inspect a GlobalVariableOperatorWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1005 - def visit_global_variable_operator_write_node(node); end - - # Inspect a GlobalVariableOrWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1018 - def visit_global_variable_or_write_node(node); end - - # Inspect a GlobalVariableReadNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1030 - def visit_global_variable_read_node(node); end - - # Inspect a GlobalVariableTargetNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1038 - def visit_global_variable_target_node(node); end - - # Inspect a GlobalVariableWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1046 - def visit_global_variable_write_node(node); end - - # Inspect a HashNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1058 - def visit_hash_node(node); end - - # Inspect a HashPatternNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1076 - def visit_hash_pattern_node(node); end - - # Inspect a IfNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1106 - def visit_if_node(node); end - - # Inspect a ImaginaryNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1130 - def visit_imaginary_node(node); end - - # Inspect a ImplicitNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1139 - def visit_implicit_node(node); end - - # Inspect a ImplicitRestNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1148 - def visit_implicit_rest_node(node); end - - # Inspect a InNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1155 - def visit_in_node(node); end - - # Inspect a IndexAndWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1172 - def visit_index_and_write_node(node); end - - # Inspect a IndexOperatorWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1203 - def visit_index_operator_write_node(node); end - - # Inspect a IndexOrWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1235 - def visit_index_or_write_node(node); end - - # Inspect a IndexTargetNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1266 - def visit_index_target_node(node); end - - # Inspect a InstanceVariableAndWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1289 - def visit_instance_variable_and_write_node(node); end - - # Inspect a InstanceVariableOperatorWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1301 - def visit_instance_variable_operator_write_node(node); end - - # Inspect a InstanceVariableOrWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1314 - def visit_instance_variable_or_write_node(node); end - - # Inspect a InstanceVariableReadNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1326 - def visit_instance_variable_read_node(node); end - - # Inspect a InstanceVariableTargetNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1334 - def visit_instance_variable_target_node(node); end - - # Inspect a InstanceVariableWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1342 - def visit_instance_variable_write_node(node); end - - # Inspect a IntegerNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1354 - def visit_integer_node(node); end - - # Inspect a InterpolatedMatchLastLineNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1362 - def visit_interpolated_match_last_line_node(node); end - - # Inspect a InterpolatedRegularExpressionNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1380 - def visit_interpolated_regular_expression_node(node); end - - # Inspect a InterpolatedStringNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1398 - def visit_interpolated_string_node(node); end - - # Inspect a InterpolatedSymbolNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1416 - def visit_interpolated_symbol_node(node); end - - # Inspect a InterpolatedXStringNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1434 - def visit_interpolated_x_string_node(node); end - - # Inspect a ItLocalVariableReadNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1452 - def visit_it_local_variable_read_node(node); end - - # Inspect a ItParametersNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1459 - def visit_it_parameters_node(node); end - - # Inspect a KeywordHashNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1466 - def visit_keyword_hash_node(node); end - - # Inspect a KeywordRestParameterNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1482 - def visit_keyword_rest_parameter_node(node); end - - # Inspect a LambdaNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1496 - def visit_lambda_node(node); end - - # Inspect a LocalVariableAndWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1519 - def visit_local_variable_and_write_node(node); end - - # Inspect a LocalVariableOperatorWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1532 - def visit_local_variable_operator_write_node(node); end - - # Inspect a LocalVariableOrWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1546 - def visit_local_variable_or_write_node(node); end - - # Inspect a LocalVariableReadNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1559 - def visit_local_variable_read_node(node); end - - # Inspect a LocalVariableTargetNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1568 - def visit_local_variable_target_node(node); end - - # Inspect a LocalVariableWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1577 - def visit_local_variable_write_node(node); end - - # Inspect a MatchLastLineNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1590 - def visit_match_last_line_node(node); end - - # Inspect a MatchPredicateNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1601 - def visit_match_predicate_node(node); end - - # Inspect a MatchRequiredNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1613 - def visit_match_required_node(node); end - - # Inspect a MatchWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1625 - def visit_match_write_node(node); end - - # Inspect a MissingNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1643 - def visit_missing_node(node); end - - # Inspect a ModuleNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1650 - def visit_module_node(node); end - - # Inspect a MultiTargetNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1669 - def visit_multi_target_node(node); end - - # Inspect a MultiWriteNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1702 - def visit_multi_write_node(node); end - - # Inspect a NextNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1738 - def visit_next_node(node); end - - # Inspect a NilNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1752 - def visit_nil_node(node); end - - # Inspect a NoKeywordsParameterNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1759 - def visit_no_keywords_parameter_node(node); end - - # Inspect a NumberedParametersNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1768 - def visit_numbered_parameters_node(node); end - - # Inspect a NumberedReferenceReadNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1776 - def visit_numbered_reference_read_node(node); end - - # Inspect a OptionalKeywordParameterNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1784 - def visit_optional_keyword_parameter_node(node); end - - # Inspect a OptionalParameterNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1795 - def visit_optional_parameter_node(node); end - - # Inspect a OrNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1807 - def visit_or_node(node); end - - # Inspect a ParametersNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1819 - def visit_parameters_node(node); end - - # Inspect a ParenthesesNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1880 - def visit_parentheses_node(node); end - - # Inspect a PinnedExpressionNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1895 - def visit_pinned_expression_node(node); end - - # Inspect a PinnedVariableNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1907 - def visit_pinned_variable_node(node); end - - # Inspect a PostExecutionNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1917 - def visit_post_execution_node(node); end - - # Inspect a PreExecutionNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1933 - def visit_pre_execution_node(node); end - - # Inspect a ProgramNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1949 - def visit_program_node(node); end - - # Inspect a RangeNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1959 - def visit_range_node(node); end - - # Inspect a RationalNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1979 - def visit_rational_node(node); end - - # Inspect a RedoNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1988 - def visit_redo_node(node); end - - # Inspect a RegularExpressionNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#1995 - def visit_regular_expression_node(node); end - - # Inspect a RequiredKeywordParameterNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2006 - def visit_required_keyword_parameter_node(node); end - - # Inspect a RequiredParameterNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2015 - def visit_required_parameter_node(node); end - - # Inspect a RescueModifierNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2023 - def visit_rescue_modifier_node(node); end - - # Inspect a RescueNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2035 - def visit_rescue_node(node); end - - # Inspect a RestParameterNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2071 - def visit_rest_parameter_node(node); end - - # Inspect a RetryNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2085 - def visit_retry_node(node); end - - # Inspect a ReturnNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2092 - def visit_return_node(node); end - - # Inspect a SelfNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2106 - def visit_self_node(node); end - - # Inspect a ShareableConstantNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2113 - def visit_shareable_constant_node(node); end - - # Inspect a SingletonClassNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2122 - def visit_singleton_class_node(node); end - - # Inspect a SourceEncodingNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2141 - def visit_source_encoding_node(node); end - - # Inspect a SourceFileNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2148 - def visit_source_file_node(node); end - - # Inspect a SourceLineNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2156 - def visit_source_line_node(node); end - - # Inspect a SplatNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2163 - def visit_splat_node(node); end - - # Inspect a StatementsNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2177 - def visit_statements_node(node); end - - # Inspect a StringNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2193 - def visit_string_node(node); end - - # Inspect a SuperNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2204 - def visit_super_node(node); end - - # Inspect a SymbolNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2226 - def visit_symbol_node(node); end - - # Inspect a TrueNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2237 - def visit_true_node(node); end - - # Inspect a UndefNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2244 - def visit_undef_node(node); end - - # Inspect a UnlessNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2261 - def visit_unless_node(node); end - - # Inspect a UntilNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2285 - def visit_until_node(node); end - - # Inspect a WhenNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2302 - def visit_when_node(node); end - - # Inspect a WhileNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2326 - def visit_while_node(node); end - - # Inspect a XStringNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2343 - def visit_x_string_node(node); end - - # Inspect a YieldNode node. - # - # source://prism//lib/prism/inspect_visitor.rb#2354 - def visit_yield_node(node); end - - private - - # Compose a string representing the given inner location field. - # - # source://prism//lib/prism/inspect_visitor.rb#2378 - def inspect_location(location); end - - # Compose a header for the given node. - # - # source://prism//lib/prism/inspect_visitor.rb#2372 - def inspect_node(name, node); end - - class << self - # Compose an inspect string for the given node. - # - # source://prism//lib/prism/inspect_visitor.rb#41 - sig { params(node: Prism::Node).returns(String) } - def compose(node); end - end -end - -# Most of the time, we can simply pass down the indent to the next node. -# However, when we are inside a list we want some extra special formatting -# when we hit an element in that list. In this case, we have a special -# command that replaces the subsequent indent with the given value. -# -# source://prism//lib/prism/inspect_visitor.rb#17 -class Prism::InspectVisitor::Replace - # @return [Replace] a new instance of Replace - # - # source://prism//lib/prism/inspect_visitor.rb#20 - def initialize(value); end - - # source://prism//lib/prism/inspect_visitor.rb#18 - def value; end -end - -# Represents the use of the `&&=` operator for assignment to an instance variable. -# -# @target &&= value -# ^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#8652 -class Prism::InstanceVariableAndWriteNode < ::Prism::Node - # Initialize a new InstanceVariableAndWriteNode node. - # - # @return [InstanceVariableAndWriteNode] a new instance of InstanceVariableAndWriteNode - # - # source://prism//lib/prism/node.rb#8654 - def initialize(source, node_id, location, flags, name, name_loc, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#8740 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#8666 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8671 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#8681 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#8676 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableAndWriteNode - # - # source://prism//lib/prism/node.rb#8686 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8671 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#8694 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#218 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#8724 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#8699 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#8702 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#8719 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#8709 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#8729 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#8716 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#8734 - def type; end - end -end - -# Represents assigning to an instance variable using an operator that isn't `=`. -# -# @target += value -# ^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#8753 -class Prism::InstanceVariableOperatorWriteNode < ::Prism::Node - # Initialize a new InstanceVariableOperatorWriteNode node. - # - # @return [InstanceVariableOperatorWriteNode] a new instance of InstanceVariableOperatorWriteNode - # - # source://prism//lib/prism/node.rb#8755 - def initialize(source, node_id, location, flags, name, name_loc, binary_operator_loc, value, binary_operator); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#8840 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#8768 - def accept(visitor); end - - # attr_reader binary_operator: Symbol - # - # source://prism//lib/prism/node.rb#8821 - def binary_operator; end - - # attr_reader binary_operator_loc: Location - # - # source://prism//lib/prism/node.rb#8811 - def binary_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8773 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#8783 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#8778 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> InstanceVariableOperatorWriteNode - # - # source://prism//lib/prism/node.rb#8788 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), binary_operator: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8773 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol } - # - # source://prism//lib/prism/node.rb#8796 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#230 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#8824 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#8801 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#8804 - def name_loc; end - - # Returns the binary operator used to modify the receiver. This method is - # deprecated in favor of #binary_operator. - # - # source://prism//lib/prism/node_ext.rb#435 - def operator; end - - # Returns the location of the binary operator used to modify the receiver. - # This method is deprecated in favor of #binary_operator_loc. - # - # source://prism//lib/prism/node_ext.rb#442 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#8829 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#8818 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#8834 - def type; end - end -end - -# Represents the use of the `||=` operator for assignment to an instance variable. -# -# @target ||= value -# ^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#8854 -class Prism::InstanceVariableOrWriteNode < ::Prism::Node - # Initialize a new InstanceVariableOrWriteNode node. - # - # @return [InstanceVariableOrWriteNode] a new instance of InstanceVariableOrWriteNode - # - # source://prism//lib/prism/node.rb#8856 - def initialize(source, node_id, location, flags, name, name_loc, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#8942 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#8868 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8873 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#8883 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#8878 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableOrWriteNode - # - # source://prism//lib/prism/node.rb#8888 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8873 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#8896 - def deconstruct_keys(keys); end - - # source://prism//lib/prism/desugar_compiler.rb#224 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#8926 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#8901 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#8904 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#8921 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#8911 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#8931 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#8918 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#8936 - def type; end - end -end - -# Represents referencing an instance variable. -# -# @foo -# ^^^^ -# -# source://prism//lib/prism/node.rb#8955 -class Prism::InstanceVariableReadNode < ::Prism::Node - # Initialize a new InstanceVariableReadNode node. - # - # @return [InstanceVariableReadNode] a new instance of InstanceVariableReadNode - # - # source://prism//lib/prism/node.rb#8957 - def initialize(source, node_id, location, flags, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#9022 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#8966 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8971 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#8981 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#8976 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableReadNode - # - # source://prism//lib/prism/node.rb#8986 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#8971 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#8994 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#9006 - sig { override.returns(String) } - def inspect; end - - # The name of the instance variable, which is a `@` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers). - # - # @x # name `:@x` - # - # @_test # name `:@_test` - # - # source://prism//lib/prism/node.rb#9003 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#9011 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#9016 - def type; end - end -end - -# Represents writing to an instance variable in a context that doesn't have an explicit value. -# -# @foo, @bar = baz -# ^^^^ ^^^^ -# -# source://prism//lib/prism/node.rb#9032 -class Prism::InstanceVariableTargetNode < ::Prism::Node - # Initialize a new InstanceVariableTargetNode node. - # - # @return [InstanceVariableTargetNode] a new instance of InstanceVariableTargetNode - # - # source://prism//lib/prism/node.rb#9034 - def initialize(source, node_id, location, flags, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#9095 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#9043 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9048 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#9058 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#9053 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableTargetNode - # - # source://prism//lib/prism/node.rb#9063 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9048 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#9071 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#9079 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#9076 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#9084 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#9089 - def type; end - end -end - -# Represents writing to an instance variable. -# -# @foo = 1 -# ^^^^^^^^ -# -# source://prism//lib/prism/node.rb#9105 -class Prism::InstanceVariableWriteNode < ::Prism::Node - # Initialize a new InstanceVariableWriteNode node. - # - # @return [InstanceVariableWriteNode] a new instance of InstanceVariableWriteNode - # - # source://prism//lib/prism/node.rb#9107 - def initialize(source, node_id, location, flags, name, name_loc, value, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#9209 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#9119 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9124 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#9134 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#9129 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> InstanceVariableWriteNode - # - # source://prism//lib/prism/node.rb#9139 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9124 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#9147 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#9193 - sig { override.returns(String) } - def inspect; end - - # The name of the instance variable, which is a `@` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers). - # - # @x = :y # name `:@x` - # - # @_foo = "bar" # name `@_foo` - # - # source://prism//lib/prism/node.rb#9156 - def name; end - - # The location of the variable name. - # - # @_x = 1 - # ^^^ - # - # source://prism//lib/prism/node.rb#9162 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#9188 - def operator; end - - # The location of the `=` operator. - # - # @x = y - # ^ - # - # source://prism//lib/prism/node.rb#9181 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#9198 - sig { override.returns(Symbol) } - def type; end - - # The value to write to the instance variable. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # @foo = :bar - # ^^^^ - # - # @_x = 1234 - # ^^^^ - # - # source://prism//lib/prism/node.rb#9175 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#9203 - def type; end - end -end - -# Flags for integer nodes that correspond to the base of the integer. -# -# source://prism//lib/prism/node.rb#16689 -module Prism::IntegerBaseFlags; end - -# 0b prefix -# -# source://prism//lib/prism/node.rb#16691 -Prism::IntegerBaseFlags::BINARY = T.let(T.unsafe(nil), Integer) - -# 0d or no prefix -# -# source://prism//lib/prism/node.rb#16694 -Prism::IntegerBaseFlags::DECIMAL = T.let(T.unsafe(nil), Integer) - -# 0x prefix -# -# source://prism//lib/prism/node.rb#16700 -Prism::IntegerBaseFlags::HEXADECIMAL = T.let(T.unsafe(nil), Integer) - -# 0o or 0 prefix -# -# source://prism//lib/prism/node.rb#16697 -Prism::IntegerBaseFlags::OCTAL = T.let(T.unsafe(nil), Integer) - -# Represents an integer number literal. -# -# 1 -# ^ -# -# source://prism//lib/prism/node.rb#9222 -class Prism::IntegerNode < ::Prism::Node - # Initialize a new IntegerNode node. - # - # @return [IntegerNode] a new instance of IntegerNode - # - # source://prism//lib/prism/node.rb#9224 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - value: Integer - ).void - end - def initialize(source, node_id, location, flags, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#9305 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#9233 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def binary?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9266 - sig { returns(T::Boolean) } - def binary?; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9238 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#9248 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#9243 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Integer) -> IntegerNode - # - # source://prism//lib/prism/node.rb#9253 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - value: Integer - ).returns(Prism::IntegerNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil)); end - - # def decimal?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9271 - sig { returns(T::Boolean) } - def decimal?; end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9238 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Integer } - # - # source://prism//lib/prism/node.rb#9261 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def hexadecimal?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9281 - sig { returns(T::Boolean) } - def hexadecimal?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#9289 - sig { override.returns(String) } - def inspect; end - - # def octal?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9276 - sig { returns(T::Boolean) } - def octal?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#9294 - sig { override.returns(Symbol) } - def type; end - - # The value of the integer literal as a number. - # - # source://prism//lib/prism/node.rb#9286 - sig { returns(Integer) } - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#9299 - def type; end - end -end - -# Represents a regular expression literal that contains interpolation that is being used in the predicate of a conditional to implicitly match against the last line read by an IO object. -# -# if /foo #{bar} baz/ then end -# ^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#9316 -class Prism::InterpolatedMatchLastLineNode < ::Prism::Node - include ::Prism::RegularExpressionOptions - - # Initialize a new InterpolatedMatchLastLineNode node. - # - # @return [InterpolatedMatchLastLineNode] a new instance of InterpolatedMatchLastLineNode - # - # source://prism//lib/prism/node.rb#9318 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)], - closing_loc: Prism::Location - ).void - end - def initialize(source, node_id, location, flags, opening_loc, parts, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#9460 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#9329 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def ascii_8bit?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9387 - sig { returns(T::Boolean) } - def ascii_8bit?; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9334 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#9439 - sig { returns(String) } - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#9427 - sig { returns(Prism::Location) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#9344 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#9339 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedMatchLastLineNode - # - # source://prism//lib/prism/node.rb#9349 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)], - closing_loc: Prism::Location - ).returns(Prism::InterpolatedMatchLastLineNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), parts: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9334 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location } - # - # source://prism//lib/prism/node.rb#9357 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # def euc_jp?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9382 - sig { returns(T::Boolean) } - def euc_jp?; end - - # def extended?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9367 - sig { returns(T::Boolean) } - def extended?; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def forced_binary_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9407 - sig { returns(T::Boolean) } - def forced_binary_encoding?; end - - # def forced_us_ascii_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9412 - sig { returns(T::Boolean) } - def forced_us_ascii_encoding?; end - - # def forced_utf8_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9402 - sig { returns(T::Boolean) } - def forced_utf8_encoding?; end - - # def ignore_case?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9362 - sig { returns(T::Boolean) } - def ignore_case?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#9444 - sig { override.returns(String) } - def inspect; end - - # def multi_line?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9372 - sig { returns(T::Boolean) } - def multi_line?; end - - # source://prism//lib/prism/parse_result/newlines.rb#121 - def newline_flag!(lines); end - - # def once?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9377 - sig { returns(T::Boolean) } - def once?; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#9434 - sig { returns(String) } - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#9417 - sig { returns(Prism::Location) } - def opening_loc; end - - sig { returns(Integer) } - def options; end - - # attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] - # - # source://prism//lib/prism/node.rb#9424 - sig { returns(T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)]) } - def parts; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#9449 - sig { override.returns(Symbol) } - def type; end - - # def utf_8?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9397 - sig { returns(T::Boolean) } - def utf_8?; end - - # def windows_31j?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9392 - sig { returns(T::Boolean) } - def windows_31j?; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#9454 - def type; end - end -end - -# Represents a regular expression literal that contains interpolation. -# -# /foo #{bar} baz/ -# ^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#9474 -class Prism::InterpolatedRegularExpressionNode < ::Prism::Node - include ::Prism::RegularExpressionOptions - - # Initialize a new InterpolatedRegularExpressionNode node. - # - # @return [InterpolatedRegularExpressionNode] a new instance of InterpolatedRegularExpressionNode - # - # source://prism//lib/prism/node.rb#9476 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)], - closing_loc: Prism::Location - ).void - end - def initialize(source, node_id, location, flags, opening_loc, parts, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#9618 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#9487 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def ascii_8bit?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9545 - sig { returns(T::Boolean) } - def ascii_8bit?; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9492 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#9597 - sig { returns(String) } - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#9585 - sig { returns(Prism::Location) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#9502 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#9497 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedRegularExpressionNode - # - # source://prism//lib/prism/node.rb#9507 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)], - closing_loc: Prism::Location - ).returns(Prism::InterpolatedRegularExpressionNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), parts: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9492 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location } - # - # source://prism//lib/prism/node.rb#9515 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # def euc_jp?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9540 - sig { returns(T::Boolean) } - def euc_jp?; end - - # def extended?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9525 - sig { returns(T::Boolean) } - def extended?; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def forced_binary_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9565 - sig { returns(T::Boolean) } - def forced_binary_encoding?; end - - # def forced_us_ascii_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9570 - sig { returns(T::Boolean) } - def forced_us_ascii_encoding?; end - - # def forced_utf8_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9560 - sig { returns(T::Boolean) } - def forced_utf8_encoding?; end - - # def ignore_case?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9520 - sig { returns(T::Boolean) } - def ignore_case?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#9602 - sig { override.returns(String) } - def inspect; end - - # def multi_line?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9530 - sig { returns(T::Boolean) } - def multi_line?; end - - # source://prism//lib/prism/parse_result/newlines.rb#128 - def newline_flag!(lines); end - - # def once?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9535 - sig { returns(T::Boolean) } - def once?; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#9592 - sig { returns(String) } - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#9575 - sig { returns(Prism::Location) } - def opening_loc; end - - sig { returns(Integer) } - def options; end - - # attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] - # - # source://prism//lib/prism/node.rb#9582 - sig { returns(T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)]) } - def parts; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#9607 - sig { override.returns(Symbol) } - def type; end - - # def utf_8?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9555 - sig { returns(T::Boolean) } - def utf_8?; end - - # def windows_31j?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9550 - sig { returns(T::Boolean) } - def windows_31j?; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#9612 - def type; end - end -end - -# Represents a string literal that contains interpolation. -# -# "foo #{bar} baz" -# ^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#9632 -class Prism::InterpolatedStringNode < ::Prism::Node - include ::Prism::HeredocQuery - - # Initialize a new InterpolatedStringNode node. - # - # @return [InterpolatedStringNode] a new instance of InterpolatedStringNode - # - # source://prism//lib/prism/node.rb#9634 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: T.nilable(Prism::Location), - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode, Prism::InterpolatedStringNode)], - closing_loc: T.nilable(Prism::Location) - ).void - end - def initialize(source, node_id, location, flags, opening_loc, parts, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#9743 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#9645 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9650 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#9722 - sig { returns(T.nilable(String)) } - def closing; end - - # attr_reader closing_loc: Location? - # - # source://prism//lib/prism/node.rb#9704 - sig { returns(T.nilable(Prism::Location)) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#9660 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#9655 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode], ?closing_loc: Location?) -> InterpolatedStringNode - # - # source://prism//lib/prism/node.rb#9665 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: T.nilable(Prism::Location), - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode, Prism::InterpolatedStringNode)], - closing_loc: T.nilable(Prism::Location) - ).returns(Prism::InterpolatedStringNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), parts: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9650 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode], closing_loc: Location? } - # - # source://prism//lib/prism/node.rb#9673 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def frozen?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9678 - sig { returns(T::Boolean) } - def frozen?; end - - sig { returns(T::Boolean) } - def heredoc?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#9727 - sig { override.returns(String) } - def inspect; end - - # def mutable?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#9683 - sig { returns(T::Boolean) } - def mutable?; end - - # source://prism//lib/prism/parse_result/newlines.rb#135 - def newline_flag!(lines); end - - # def opening: () -> String? - # - # source://prism//lib/prism/node.rb#9717 - sig { returns(T.nilable(String)) } - def opening; end - - # attr_reader opening_loc: Location? - # - # source://prism//lib/prism/node.rb#9688 - sig { returns(T.nilable(Prism::Location)) } - def opening_loc; end - - # attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode] - # - # source://prism//lib/prism/node.rb#9701 - sig do - returns(T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode, Prism::InterpolatedStringNode)]) - end - def parts; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#9732 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#9737 - def type; end - end -end - -# Flags for interpolated string nodes that indicated mutability if they are also marked as literals. -# -# source://prism//lib/prism/node.rb#16704 -module Prism::InterpolatedStringNodeFlags; end - -# source://prism//lib/prism/node.rb#16706 -Prism::InterpolatedStringNodeFlags::FROZEN = T.let(T.unsafe(nil), Integer) - -# source://prism//lib/prism/node.rb#16709 -Prism::InterpolatedStringNodeFlags::MUTABLE = T.let(T.unsafe(nil), Integer) - -# Represents a symbol literal that contains interpolation. -# -# :"foo #{bar} baz" -# ^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#9757 -class Prism::InterpolatedSymbolNode < ::Prism::Node - # Initialize a new InterpolatedSymbolNode node. - # - # @return [InterpolatedSymbolNode] a new instance of InterpolatedSymbolNode - # - # source://prism//lib/prism/node.rb#9759 - def initialize(source, node_id, location, flags, opening_loc, parts, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#9858 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#9770 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9775 - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#9837 - def closing; end - - # attr_reader closing_loc: Location? - # - # source://prism//lib/prism/node.rb#9819 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#9785 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#9780 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location?) -> InterpolatedSymbolNode - # - # source://prism//lib/prism/node.rb#9790 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), parts: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9775 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location? } - # - # source://prism//lib/prism/node.rb#9798 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#9842 - sig { override.returns(String) } - def inspect; end - - # source://prism//lib/prism/parse_result/newlines.rb#142 - def newline_flag!(lines); end - - # def opening: () -> String? - # - # source://prism//lib/prism/node.rb#9832 - def opening; end - - # attr_reader opening_loc: Location? - # - # source://prism//lib/prism/node.rb#9803 - def opening_loc; end - - # attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] - # - # source://prism//lib/prism/node.rb#9816 - def parts; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#9847 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#9852 - def type; end - end -end - -# Represents an xstring literal that contains interpolation. -# -# `foo #{bar} baz` -# ^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#9871 -class Prism::InterpolatedXStringNode < ::Prism::Node - include ::Prism::HeredocQuery - - # Initialize a new InterpolatedXStringNode node. - # - # @return [InterpolatedXStringNode] a new instance of InterpolatedXStringNode - # - # source://prism//lib/prism/node.rb#9873 - def initialize(source, node_id, location, flags, opening_loc, parts, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#9960 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#9884 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9889 - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#9939 - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#9927 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#9899 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#9894 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedXStringNode - # - # source://prism//lib/prism/node.rb#9904 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), parts: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9889 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], closing_loc: Location } - # - # source://prism//lib/prism/node.rb#9912 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - sig { returns(T::Boolean) } - def heredoc?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#9944 - sig { override.returns(String) } - def inspect; end - - # source://prism//lib/prism/parse_result/newlines.rb#149 - def newline_flag!(lines); end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#9934 - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#9917 - def opening_loc; end - - # attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] - # - # source://prism//lib/prism/node.rb#9924 - def parts; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#9949 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#9954 - def type; end - end -end - -# Represents reading from the implicit `it` local variable. -# -# -> { it } -# ^^ -# -# source://prism//lib/prism/node.rb#9973 -class Prism::ItLocalVariableReadNode < ::Prism::Node - # Initialize a new ItLocalVariableReadNode node. - # - # @return [ItLocalVariableReadNode] a new instance of ItLocalVariableReadNode - # - # source://prism//lib/prism/node.rb#9975 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#10032 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#9983 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9988 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#9998 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#9993 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItLocalVariableReadNode - # - # source://prism//lib/prism/node.rb#10003 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#9988 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#10011 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#10016 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#10021 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#10026 - def type; end - end -end - -# Represents an implicit set of parameters through the use of the `it` keyword within a block or lambda. -# -# -> { it + it } -# ^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#10041 -class Prism::ItParametersNode < ::Prism::Node - # Initialize a new ItParametersNode node. - # - # @return [ItParametersNode] a new instance of ItParametersNode - # - # source://prism//lib/prism/node.rb#10043 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#10100 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#10051 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10056 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#10066 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#10061 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItParametersNode - # - # source://prism//lib/prism/node.rb#10071 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10056 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#10079 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#10084 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#10089 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#10094 - def type; end - end -end - -# Represents a hash literal without opening and closing braces. -# -# foo(a: b) -# ^^^^ -# -# source://prism//lib/prism/node.rb#10109 -class Prism::KeywordHashNode < ::Prism::Node - # Initialize a new KeywordHashNode node. - # - # @return [KeywordHashNode] a new instance of KeywordHashNode - # - # source://prism//lib/prism/node.rb#10111 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - elements: T::Array[T.any(Prism::AssocNode, Prism::AssocSplatNode)] - ).void - end - def initialize(source, node_id, location, flags, elements); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#10177 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#10120 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10125 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#10135 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#10130 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?elements: Array[AssocNode | AssocSplatNode]) -> KeywordHashNode - # - # source://prism//lib/prism/node.rb#10140 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - elements: T::Array[T.any(Prism::AssocNode, Prism::AssocSplatNode)] - ).returns(Prism::KeywordHashNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), elements: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10125 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, elements: Array[AssocNode | AssocSplatNode] } - # - # source://prism//lib/prism/node.rb#10148 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # attr_reader elements: Array[AssocNode | AssocSplatNode] - # - # source://prism//lib/prism/node.rb#10158 - sig { returns(T::Array[T.any(Prism::AssocNode, Prism::AssocSplatNode)]) } - def elements; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#10161 - sig { override.returns(String) } - def inspect; end - - # def symbol_keys?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#10153 - sig { returns(T::Boolean) } - def symbol_keys?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#10166 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#10171 - def type; end - end -end - -# Flags for keyword hash nodes. -# -# source://prism//lib/prism/node.rb#16713 -module Prism::KeywordHashNodeFlags; end - -# a keyword hash which only has `AssocNode` elements all with symbol keys, which means the elements can be treated as keyword arguments -# -# source://prism//lib/prism/node.rb#16715 -Prism::KeywordHashNodeFlags::SYMBOL_KEYS = T.let(T.unsafe(nil), Integer) - -# Represents a keyword rest parameter to a method, block, or lambda definition. -# -# def a(**b) -# ^^^ -# end -# -# source://prism//lib/prism/node.rb#10190 -class Prism::KeywordRestParameterNode < ::Prism::Node - # Initialize a new KeywordRestParameterNode node. - # - # @return [KeywordRestParameterNode] a new instance of KeywordRestParameterNode - # - # source://prism//lib/prism/node.rb#10192 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: T.nilable(Symbol), - name_loc: T.nilable(Prism::Location), - operator_loc: Prism::Location - ).void - end - def initialize(source, node_id, location, flags, name, name_loc, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#10285 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#10203 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10208 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#10218 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#10213 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> KeywordRestParameterNode - # - # source://prism//lib/prism/node.rb#10223 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: T.nilable(Symbol), - name_loc: T.nilable(Prism::Location), - operator_loc: Prism::Location - ).returns(Prism::KeywordRestParameterNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10208 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#10231 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#10269 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol? - # - # source://prism//lib/prism/node.rb#10241 - sig { returns(T.nilable(Symbol)) } - def name; end - - # attr_reader name_loc: Location? - # - # source://prism//lib/prism/node.rb#10244 - sig { returns(T.nilable(Prism::Location)) } - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#10264 - sig { returns(String) } - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#10257 - sig { returns(Prism::Location) } - def operator_loc; end - - # def repeated_parameter?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#10236 - sig { returns(T::Boolean) } - def repeated_parameter?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#10274 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#10279 - def type; end - end -end - -# Represents using a lambda literal (not the lambda method call). -# -# ->(value) { value * 2 } -# ^^^^^^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#10298 -class Prism::LambdaNode < ::Prism::Node - # Initialize a new LambdaNode node. - # - # @return [LambdaNode] a new instance of LambdaNode - # - # source://prism//lib/prism/node.rb#10300 - def initialize(source, node_id, location, flags, locals, operator_loc, opening_loc, closing_loc, parameters, body); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#10411 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#10314 - def accept(visitor); end - - # attr_reader body: Prism::node? - # - # source://prism//lib/prism/node.rb#10377 - def body; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10319 - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#10390 - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#10367 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#10332 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#10324 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?operator_loc: Location, ?opening_loc: Location, ?closing_loc: Location, ?parameters: Prism::node?, ?body: Prism::node?) -> LambdaNode - # - # source://prism//lib/prism/node.rb#10337 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), operator_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), parameters: T.unsafe(nil), body: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10319 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: Prism::node?, body: Prism::node? } - # - # source://prism//lib/prism/node.rb#10345 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#10395 - sig { override.returns(String) } - def inspect; end - - # attr_reader locals: Array[Symbol] - # - # source://prism//lib/prism/node.rb#10350 - def locals; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#10385 - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#10360 - def opening_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#10380 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#10353 - def operator_loc; end - - # attr_reader parameters: Prism::node? - # - # source://prism//lib/prism/node.rb#10374 - def parameters; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#10400 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#10405 - def type; end - end -end - -# This class is responsible for lexing the source using prism 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://prism//lib/prism/lex_compat.rb#12 -class Prism::LexCompat - # @return [LexCompat] a new instance of LexCompat - # - # source://prism//lib/prism/lex_compat.rb#619 - def initialize(source, **options); end - - # Returns the value of attribute options. - # - # source://prism//lib/prism/lex_compat.rb#617 - def options; end - - # source://prism//lib/prism/lex_compat.rb#624 - def result; end - - # Returns the value of attribute source. - # - # source://prism//lib/prism/lex_compat.rb#617 - 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://prism//lib/prism/lex_compat.rb#230 -class Prism::LexCompat::EndContentToken < ::Prism::LexCompat::Token - # source://prism//lib/prism/lex_compat.rb#231 - 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://prism//lib/prism/lex_compat.rb#291 -module Prism::LexCompat::Heredoc - class << self - # Here we will split between the two types of heredocs and return the - # object that will store their tokens. - # - # source://prism//lib/prism/lex_compat.rb#603 - 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://prism//lib/prism/lex_compat.rb#315 -class Prism::LexCompat::Heredoc::DashHeredoc - # @return [DashHeredoc] a new instance of DashHeredoc - # - # source://prism//lib/prism/lex_compat.rb#318 - def initialize(split); end - - # source://prism//lib/prism/lex_compat.rb#323 - def <<(token); end - - # source://prism//lib/prism/lex_compat.rb#316 - def split; end - - # source://prism//lib/prism/lex_compat.rb#327 - def to_a; end - - # source://prism//lib/prism/lex_compat.rb#316 - 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. prism only modifies the node itself and keeps -# the token the same. This simplifies prism, 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://prism//lib/prism/lex_compat.rb#374 -class Prism::LexCompat::Heredoc::DedentingHeredoc - # @return [DedentingHeredoc] a new instance of DedentingHeredoc - # - # source://prism//lib/prism/lex_compat.rb#379 - 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://prism//lib/prism/lex_compat.rb#390 - def <<(token); end - - # Returns the value of attribute dedent. - # - # source://prism//lib/prism/lex_compat.rb#377 - def dedent; end - - # Returns the value of attribute dedent_next. - # - # source://prism//lib/prism/lex_compat.rb#377 - def dedent_next; end - - # Returns the value of attribute embexpr_balance. - # - # source://prism//lib/prism/lex_compat.rb#377 - def embexpr_balance; end - - # source://prism//lib/prism/lex_compat.rb#427 - def to_a; end - - # Returns the value of attribute tokens. - # - # source://prism//lib/prism/lex_compat.rb#377 - def tokens; end -end - -# source://prism//lib/prism/lex_compat.rb#375 -Prism::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://prism//lib/prism/lex_compat.rb#296 -class Prism::LexCompat::Heredoc::PlainHeredoc - # @return [PlainHeredoc] a new instance of PlainHeredoc - # - # source://prism//lib/prism/lex_compat.rb#299 - def initialize; end - - # source://prism//lib/prism/lex_compat.rb#303 - def <<(token); end - - # source://prism//lib/prism/lex_compat.rb#307 - def to_a; end - - # source://prism//lib/prism/lex_compat.rb#297 - 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://prism//lib/prism/lex_compat.rb#248 -class Prism::LexCompat::IdentToken < ::Prism::LexCompat::Token - # source://prism//lib/prism/lex_compat.rb#249 - def ==(other); end -end - -# Tokens where state should be ignored -# used for :on_comment, :on_heredoc_end, :on_embexpr_end -# -# source://prism//lib/prism/lex_compat.rb#238 -class Prism::LexCompat::IgnoreStateToken < ::Prism::LexCompat::Token - # source://prism//lib/prism/lex_compat.rb#239 - def ==(other); end -end - -# Ignored newlines can occasionally have a LABEL state attached to them, so -# we compare the state differently here. -# -# source://prism//lib/prism/lex_compat.rb#259 -class Prism::LexCompat::IgnoredNewlineToken < ::Prism::LexCompat::Token - # source://prism//lib/prism/lex_compat.rb#260 - 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://prism//lib/prism/lex_compat.rb#279 -class Prism::LexCompat::ParamToken < ::Prism::LexCompat::Token - # source://prism//lib/prism/lex_compat.rb#280 - def ==(other); end -end - -# This is a mapping of prism 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://prism//lib/prism/lex_compat.rb#33 -Prism::LexCompat::RIPPER = T.let(T.unsafe(nil), Hash) - -# A result class specialized for holding tokens produced by the lexer. -# -# source://prism//lib/prism/lex_compat.rb#14 -class Prism::LexCompat::Result < ::Prism::Result - # Create a new lex compat result object with the given values. - # - # @return [Result] a new instance of Result - # - # source://prism//lib/prism/lex_compat.rb#19 - def initialize(value, comments, magic_comments, data_loc, errors, warnings, source); end - - # Implement the hash pattern matching interface for Result. - # - # source://prism//lib/prism/lex_compat.rb#25 - def deconstruct_keys(keys); end - - # The list of tokens that were produced by the lexer. - # - # source://prism//lib/prism/lex_compat.rb#16 - def value; end -end - -# 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://prism//lib/prism/lex_compat.rb#204 -class Prism::LexCompat::Token < ::SimpleDelegator - # The type of the token. - # - # source://prism//lib/prism/lex_compat.rb#213 - def event; end - - # The location of the token in the source. - # - # source://prism//lib/prism/lex_compat.rb#208 - def location; end - - # The state of the lexer when this token was produced. - # - # source://prism//lib/prism/lex_compat.rb#223 - def state; end - - # The slice of the source that this token represents. - # - # source://prism//lib/prism/lex_compat.rb#218 - def value; end -end - -# This is a result specific to the `lex` and `lex_file` methods. -# -# source://prism//lib/prism/parse_result.rb#627 -class Prism::LexResult < ::Prism::Result - # Create a new lex result object with the given values. - # - # @return [LexResult] a new instance of LexResult - # - # source://prism//lib/prism/parse_result.rb#632 - sig do - params( - value: T::Array[T.untyped], - comments: T::Array[Prism::Comment], - magic_comments: T::Array[Prism::MagicComment], - data_loc: T.nilable(Prism::Location), - errors: T::Array[Prism::ParseError], - warnings: T::Array[Prism::ParseWarning], - source: Prism::Source - ).void - end - def initialize(value, comments, magic_comments, data_loc, errors, warnings, source); end - - # Implement the hash pattern matching interface for LexResult. - # - # source://prism//lib/prism/parse_result.rb#638 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # The list of tokens that were parsed from the source code. - # - # source://prism//lib/prism/parse_result.rb#629 - sig { returns(T::Array[T.untyped]) } - def value; end -end - -# This is a class that wraps the Ripper lexer to produce almost exactly the -# same tokens. -# -# source://prism//lib/prism/lex_compat.rb#872 -class Prism::LexRipper - # @return [LexRipper] a new instance of LexRipper - # - # source://prism//lib/prism/lex_compat.rb#875 - def initialize(source); end - - # source://prism//lib/prism/lex_compat.rb#879 - def result; end - - # source://prism//lib/prism/lex_compat.rb#873 - def source; end - - private - - # source://prism//lib/prism/lex_compat.rb#913 - def lex(source); end -end - -# Represents the use of the `&&=` operator for assignment to a local variable. -# -# target &&= value -# ^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#10427 -class Prism::LocalVariableAndWriteNode < ::Prism::Node - # Initialize a new LocalVariableAndWriteNode node. - # - # @return [LocalVariableAndWriteNode] a new instance of LocalVariableAndWriteNode - # - # source://prism//lib/prism/node.rb#10429 - def initialize(source, node_id, location, flags, name_loc, operator_loc, value, name, depth); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#10519 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#10442 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10447 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#10457 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#10452 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableAndWriteNode - # - # source://prism//lib/prism/node.rb#10462 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil), name: T.unsafe(nil), depth: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10447 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name_loc: Location, operator_loc: Location, value: Prism::node, name: Symbol, depth: Integer } - # - # source://prism//lib/prism/node.rb#10470 - def deconstruct_keys(keys); end - - # attr_reader depth: Integer - # - # source://prism//lib/prism/node.rb#10495 - def depth; end - - # source://prism//lib/prism/desugar_compiler.rb#236 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#10503 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#10492 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#10475 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#10498 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#10482 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#10508 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#10489 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#10513 - def type; end - end -end - -# Represents assigning to a local variable using an operator that isn't `=`. -# -# target += value -# ^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#10533 -class Prism::LocalVariableOperatorWriteNode < ::Prism::Node - # Initialize a new LocalVariableOperatorWriteNode node. - # - # @return [LocalVariableOperatorWriteNode] a new instance of LocalVariableOperatorWriteNode - # - # source://prism//lib/prism/node.rb#10535 - def initialize(source, node_id, location, flags, name_loc, binary_operator_loc, value, name, binary_operator, depth); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#10624 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#10549 - def accept(visitor); end - - # attr_reader binary_operator: Symbol - # - # source://prism//lib/prism/node.rb#10602 - def binary_operator; end - - # attr_reader binary_operator_loc: Location - # - # source://prism//lib/prism/node.rb#10589 - def binary_operator_loc; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10554 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#10564 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#10559 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?binary_operator: Symbol, ?depth: Integer) -> LocalVariableOperatorWriteNode - # - # source://prism//lib/prism/node.rb#10569 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name_loc: T.unsafe(nil), binary_operator_loc: T.unsafe(nil), value: T.unsafe(nil), name: T.unsafe(nil), binary_operator: T.unsafe(nil), depth: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10554 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name_loc: Location, binary_operator_loc: Location, value: Prism::node, name: Symbol, binary_operator: Symbol, depth: Integer } - # - # source://prism//lib/prism/node.rb#10577 - def deconstruct_keys(keys); end - - # attr_reader depth: Integer - # - # source://prism//lib/prism/node.rb#10605 - def depth; end - - # source://prism//lib/prism/desugar_compiler.rb#248 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#10608 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#10599 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#10582 - def name_loc; end - - # Returns the binary operator used to modify the receiver. This method is - # deprecated in favor of #binary_operator. - # - # source://prism//lib/prism/node_ext.rb#451 - def operator; end - - # Returns the location of the binary operator used to modify the receiver. - # This method is deprecated in favor of #binary_operator_loc. - # - # source://prism//lib/prism/node_ext.rb#458 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#10613 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#10596 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#10618 - def type; end - end -end - -# Represents the use of the `||=` operator for assignment to a local variable. -# -# target ||= value -# ^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#10639 -class Prism::LocalVariableOrWriteNode < ::Prism::Node - # Initialize a new LocalVariableOrWriteNode node. - # - # @return [LocalVariableOrWriteNode] a new instance of LocalVariableOrWriteNode - # - # source://prism//lib/prism/node.rb#10641 - def initialize(source, node_id, location, flags, name_loc, operator_loc, value, name, depth); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#10731 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#10654 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10659 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#10669 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#10664 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableOrWriteNode - # - # source://prism//lib/prism/node.rb#10674 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil), name: T.unsafe(nil), depth: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10659 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name_loc: Location, operator_loc: Location, value: Prism::node, name: Symbol, depth: Integer } - # - # source://prism//lib/prism/node.rb#10682 - def deconstruct_keys(keys); end - - # attr_reader depth: Integer - # - # source://prism//lib/prism/node.rb#10707 - def depth; end - - # source://prism//lib/prism/desugar_compiler.rb#242 - def desugar; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#10715 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#10704 - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#10687 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#10710 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#10694 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#10720 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#10701 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#10725 - def type; end - 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://prism//lib/prism/node.rb#10745 -class Prism::LocalVariableReadNode < ::Prism::Node - # Initialize a new LocalVariableReadNode node. - # - # @return [LocalVariableReadNode] a new instance of LocalVariableReadNode - # - # source://prism//lib/prism/node.rb#10747 - def initialize(source, node_id, location, flags, name, depth); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#10826 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#10757 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10762 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#10772 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#10767 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableReadNode - # - # source://prism//lib/prism/node.rb#10777 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), depth: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10762 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer } - # - # source://prism//lib/prism/node.rb#10785 - def deconstruct_keys(keys); end - - # The number of visible scopes that should be searched to find the origin of this local variable. - # - # foo = 1; foo # depth 0 - # - # bar = 2; tap { bar } # depth 1 - # - # The specific rules for calculating the depth may differ from individual Ruby implementations, as they are not specified by the language. For more information, see [the Prism documentation](https://github.com/ruby/prism/blob/main/docs/local_variable_depth.md). - # - # source://prism//lib/prism/node.rb#10807 - def depth; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#10810 - sig { override.returns(String) } - def inspect; end - - # The name of the local variable, which is an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers). - # - # x # name `:x` - # - # _Test # name `:_Test` - # - # Note that this can also be an underscore followed by a number for the default block parameters. - # - # _1 # name `:_1` - # - # source://prism//lib/prism/node.rb#10798 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#10815 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#10820 - def type; end - end -end - -# Represents writing to a local variable in a context that doesn't have an explicit value. -# -# foo, bar = baz -# ^^^ ^^^ -# -# source://prism//lib/prism/node.rb#10837 -class Prism::LocalVariableTargetNode < ::Prism::Node - # Initialize a new LocalVariableTargetNode node. - # - # @return [LocalVariableTargetNode] a new instance of LocalVariableTargetNode - # - # source://prism//lib/prism/node.rb#10839 - def initialize(source, node_id, location, flags, name, depth); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#10904 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#10849 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10854 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#10864 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#10859 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableTargetNode - # - # source://prism//lib/prism/node.rb#10869 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), depth: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10854 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer } - # - # source://prism//lib/prism/node.rb#10877 - def deconstruct_keys(keys); end - - # attr_reader depth: Integer - # - # source://prism//lib/prism/node.rb#10885 - def depth; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#10888 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#10882 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#10893 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#10898 - def type; end - end -end - -# Represents writing to a local variable. -# -# foo = 1 -# ^^^^^^^ -# -# source://prism//lib/prism/node.rb#10915 -class Prism::LocalVariableWriteNode < ::Prism::Node - # Initialize a new LocalVariableWriteNode node. - # - # @return [LocalVariableWriteNode] a new instance of LocalVariableWriteNode - # - # source://prism//lib/prism/node.rb#10917 - def initialize(source, node_id, location, flags, name, depth, name_loc, value, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#11033 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#10930 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10935 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#10945 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#10940 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> LocalVariableWriteNode - # - # source://prism//lib/prism/node.rb#10950 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), depth: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#10935 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, depth: Integer, name_loc: Location, value: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#10958 - def deconstruct_keys(keys); end - - # The number of semantic scopes we have to traverse to find the declaration of this variable. - # - # foo = 1 # depth 0 - # - # tap { foo = 1 } # depth 1 - # - # The specific rules for calculating the depth may differ from individual Ruby implementations, as they are not specified by the language. For more information, see [the Prism documentation](https://github.com/ruby/prism/blob/main/docs/local_variable_depth.md). - # - # source://prism//lib/prism/node.rb#10976 - def depth; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#11017 - sig { override.returns(String) } - def inspect; end - - # The name of the local variable, which is an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers). - # - # foo = :bar # name `:foo` - # - # abc = 123 # name `:abc` - # - # source://prism//lib/prism/node.rb#10967 - def name; end - - # The location of the variable name. - # - # foo = :bar - # ^^^ - # - # source://prism//lib/prism/node.rb#10982 - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#11012 - def operator; end - - # The location of the `=` operator. - # - # x = :y - # ^ - # - # source://prism//lib/prism/node.rb#11005 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#11022 - sig { override.returns(Symbol) } - def type; end - - # The value to write to the local variable. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # foo = :bar - # ^^^^ - # - # abc = 1234 - # ^^^^ - # - # Note that since the name of a local variable is known before the value is parsed, it is valid for a local variable to appear within the value of its own write. - # - # foo = foo - # - # source://prism//lib/prism/node.rb#10999 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#11027 - def type; end - end -end - -# This represents a location in the source. -# -# source://prism//lib/prism/parse_result.rb#165 -class Prism::Location - # Create a new location object with the given source, start byte offset, and - # byte length. - # - # @return [Location] a new instance of Location - # - # source://prism//lib/prism/parse_result.rb#180 - sig { params(source: Prism::Source, start_offset: Integer, length: Integer).void } - def initialize(source, start_offset, length); end - - # Returns true if the given other location is equal to this location. - # - # source://prism//lib/prism/parse_result.rb#344 - sig { params(other: T.untyped).returns(T::Boolean) } - def ==(other); end - - # Join this location with the first occurrence of the string in the source - # that occurs after this location on the same line, and return the new - # location. This will raise an error if the string does not exist. - # - # source://prism//lib/prism/parse_result.rb#363 - sig { params(string: String).returns(Prism::Location) } - def adjoin(string); end - - # Returns a new location that is the result of chopping off the last byte. - # - # source://prism//lib/prism/parse_result.rb#226 - sig { returns(Prism::Location) } - def chop; end - - # Returns all comments that are associated with this location (both leading - # and trailing comments). - # - # source://prism//lib/prism/parse_result.rb#216 - sig { returns(T::Array[Prism::Comment]) } - def comments; end - - # Create a new location object with the given options. - # - # source://prism//lib/prism/parse_result.rb#221 - sig { params(source: Prism::Source, start_offset: Integer, length: Integer).returns(Prism::Location) } - def copy(source: T.unsafe(nil), start_offset: T.unsafe(nil), length: T.unsafe(nil)); end - - # Implement the hash pattern matching interface for Location. - # - # source://prism//lib/prism/parse_result.rb#334 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # The column number in characters where this location ends from the start of - # the line. - # - # source://prism//lib/prism/parse_result.rb#323 - sig { returns(Integer) } - def end_character_column; end - - # The character offset from the beginning of the source where this location - # ends. - # - # source://prism//lib/prism/parse_result.rb#272 - sig { returns(Integer) } - def end_character_offset; end - - # The column number in code units of the given encoding where this location - # ends from the start of the line. - # - # source://prism//lib/prism/parse_result.rb#329 - sig { params(encoding: Encoding).returns(Integer) } - def end_code_units_column(encoding = T.unsafe(nil)); end - - # The offset from the start of the file in code units of the given encoding. - # - # source://prism//lib/prism/parse_result.rb#277 - sig { params(encoding: Encoding).returns(Integer) } - def end_code_units_offset(encoding = T.unsafe(nil)); end - - # The column number in bytes where this location ends from the start of the - # line. - # - # source://prism//lib/prism/parse_result.rb#317 - sig { returns(Integer) } - def end_column; end - - # The line number where this location ends. - # - # source://prism//lib/prism/parse_result.rb#293 - sig { returns(Integer) } - def end_line; end - - # The byte offset from the beginning of the source where this location ends. - # - # source://prism//lib/prism/parse_result.rb#266 - sig { returns(Integer) } - def end_offset; end - - # Returns a string representation of this location. - # - # source://prism//lib/prism/parse_result.rb#231 - sig { returns(String) } - 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://prism//lib/prism/parse_result.rb#353 - sig { params(other: Prism::Location).returns(Prism::Location) } - def join(other); end - - # Attach a comment to the leading comments of this location. - # - # source://prism//lib/prism/parse_result.rb#199 - sig { params(comment: Prism::Comment).void } - def leading_comment(comment); end - - # These are the comments that are associated with this location that exist - # before the start of this location. - # - # source://prism//lib/prism/parse_result.rb#194 - sig { returns(T::Array[Prism::Comment]) } - def leading_comments; end - - # The length of this location in bytes. - # - # source://prism//lib/prism/parse_result.rb#176 - sig { returns(Integer) } - def length; end - - # Implement the pretty print interface for Location. - # - # source://prism//lib/prism/parse_result.rb#339 - sig { params(q: T.untyped).void } - def pretty_print(q); end - - # The source code that this location represents. - # - # source://prism//lib/prism/parse_result.rb#241 - sig { returns(String) } - def slice; end - - # The source code that this location represents starting from the beginning - # of the line that this location starts on to the end of the line that this - # location ends on. - # - # source://prism//lib/prism/parse_result.rb#248 - def slice_lines; end - - # Returns all of the lines of the source code associated with this location. - # - # source://prism//lib/prism/parse_result.rb#236 - sig { returns(T::Array[String]) } - def source_lines; end - - # The column number in characters where this location ends from the start of - # the line. - # - # source://prism//lib/prism/parse_result.rb#305 - sig { returns(Integer) } - def start_character_column; end - - # The character offset from the beginning of the source where this location - # starts. - # - # source://prism//lib/prism/parse_result.rb#256 - sig { returns(Integer) } - def start_character_offset; end - - # The column number in code units of the given encoding where this location - # starts from the start of the line. - # - # source://prism//lib/prism/parse_result.rb#311 - sig { params(encoding: Encoding).returns(Integer) } - def start_code_units_column(encoding = T.unsafe(nil)); end - - # The offset from the start of the file in code units of the given encoding. - # - # source://prism//lib/prism/parse_result.rb#261 - sig { params(encoding: Encoding).returns(Integer) } - def start_code_units_offset(encoding = T.unsafe(nil)); end - - # The column number in bytes where this location starts from the start of - # the line. - # - # source://prism//lib/prism/parse_result.rb#299 - sig { returns(Integer) } - def start_column; end - - # The line number where this location starts. - # - # source://prism//lib/prism/parse_result.rb#282 - sig { returns(Integer) } - def start_line; end - - # The content of the line where this location starts before this location. - # - # source://prism//lib/prism/parse_result.rb#287 - sig { returns(String) } - def start_line_slice; end - - # The byte offset from the beginning of the source where this location - # starts. - # - # source://prism//lib/prism/parse_result.rb#173 - sig { returns(Integer) } - def start_offset; end - - # Attach a comment to the trailing comments of this location. - # - # source://prism//lib/prism/parse_result.rb#210 - sig { params(comment: Prism::Comment).void } - def trailing_comment(comment); end - - # These are the comments that are associated with this location that exist - # after the end of this location. - # - # source://prism//lib/prism/parse_result.rb#205 - sig { returns(T::Array[Prism::Comment]) } - def trailing_comments; end - - protected - - # A Source object that is used to determine more information from the given - # offset and length. - # - # source://prism//lib/prism/parse_result.rb#168 - sig { returns(Prism::Source) } - def source; end -end - -# Flags for while and until loop nodes. -# -# source://prism//lib/prism/node.rb#16719 -module Prism::LoopFlags; end - -# a loop after a begin statement, so the body is executed first before the condition -# -# source://prism//lib/prism/node.rb#16721 -Prism::LoopFlags::BEGIN_MODIFIER = T.let(T.unsafe(nil), Integer) - -# This represents a magic comment that was encountered during parsing. -# -# source://prism//lib/prism/parse_result.rb#425 -class Prism::MagicComment - # Create a new magic comment object with the given key and value locations. - # - # @return [MagicComment] a new instance of MagicComment - # - # source://prism//lib/prism/parse_result.rb#433 - sig { params(key_loc: Prism::Location, value_loc: Prism::Location).void } - def initialize(key_loc, value_loc); end - - # Implement the hash pattern matching interface for MagicComment. - # - # source://prism//lib/prism/parse_result.rb#449 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # Returns a string representation of this magic comment. - # - # source://prism//lib/prism/parse_result.rb#454 - sig { returns(String) } - def inspect; end - - # Returns the key of the magic comment by slicing it from the source code. - # - # source://prism//lib/prism/parse_result.rb#439 - sig { returns(String) } - def key; end - - # A Location object representing the location of the key in the source. - # - # source://prism//lib/prism/parse_result.rb#427 - sig { returns(Prism::Location) } - def key_loc; end - - # Returns the value of the magic comment by slicing it from the source code. - # - # source://prism//lib/prism/parse_result.rb#444 - sig { returns(String) } - def value; end - - # A Location object representing the location of the value in the source. - # - # source://prism//lib/prism/parse_result.rb#430 - sig { returns(Prism::Location) } - def value_loc; end -end - -# Represents a regular expression literal used in the predicate of a conditional to implicitly match against the last line read by an IO object. -# -# if /foo/i then end -# ^^^^^^ -# -# source://prism//lib/prism/node.rb#11047 -class Prism::MatchLastLineNode < ::Prism::Node - include ::Prism::RegularExpressionOptions - - # Initialize a new MatchLastLineNode node. - # - # @return [MatchLastLineNode] a new instance of MatchLastLineNode - # - # source://prism//lib/prism/node.rb#11049 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - content_loc: Prism::Location, - closing_loc: Prism::Location, - unescaped: String - ).void - end - def initialize(source, node_id, location, flags, opening_loc, content_loc, closing_loc, unescaped); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#11204 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#11061 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def ascii_8bit?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#11119 - sig { returns(T::Boolean) } - def ascii_8bit?; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11066 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#11183 - sig { returns(String) } - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#11163 - sig { returns(Prism::Location) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#11076 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#11071 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def content: () -> String - # - # source://prism//lib/prism/node.rb#11178 - sig { returns(String) } - def content; end - - # attr_reader content_loc: Location - # - # source://prism//lib/prism/node.rb#11156 - sig { returns(Prism::Location) } - def content_loc; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> MatchLastLineNode - # - # source://prism//lib/prism/node.rb#11081 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - content_loc: Prism::Location, - closing_loc: Prism::Location, - unescaped: String - ).returns(Prism::MatchLastLineNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), content_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), unescaped: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11066 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String } - # - # source://prism//lib/prism/node.rb#11089 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # def euc_jp?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#11114 - sig { returns(T::Boolean) } - def euc_jp?; end - - # def extended?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#11099 - sig { returns(T::Boolean) } - def extended?; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def forced_binary_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#11139 - sig { returns(T::Boolean) } - def forced_binary_encoding?; end - - # def forced_us_ascii_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#11144 - sig { returns(T::Boolean) } - def forced_us_ascii_encoding?; end - - # def forced_utf8_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#11134 - sig { returns(T::Boolean) } - def forced_utf8_encoding?; end - - # def ignore_case?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#11094 - sig { returns(T::Boolean) } - def ignore_case?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#11188 - sig { override.returns(String) } - def inspect; end - - # def multi_line?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#11104 - sig { returns(T::Boolean) } - def multi_line?; end - - # def once?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#11109 - sig { returns(T::Boolean) } - def once?; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#11173 - sig { returns(String) } - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#11149 - sig { returns(Prism::Location) } - def opening_loc; end - - sig { returns(Integer) } - def options; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#11193 - sig { override.returns(Symbol) } - def type; end - - # attr_reader unescaped: String - # - # source://prism//lib/prism/node.rb#11170 - sig { returns(String) } - def unescaped; end - - # def utf_8?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#11129 - sig { returns(T::Boolean) } - def utf_8?; end - - # def windows_31j?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#11124 - sig { returns(T::Boolean) } - def windows_31j?; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#11198 - def type; end - end -end - -# Represents the use of the modifier `in` operator. -# -# foo in bar -# ^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#11218 -class Prism::MatchPredicateNode < ::Prism::Node - # Initialize a new MatchPredicateNode node. - # - # @return [MatchPredicateNode] a new instance of MatchPredicateNode - # - # source://prism//lib/prism/node.rb#11220 - def initialize(source, node_id, location, flags, value, pattern, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#11298 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#11231 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11236 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#11246 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#11241 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchPredicateNode - # - # source://prism//lib/prism/node.rb#11251 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil), pattern: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11236 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, pattern: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#11259 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#11282 - sig { override.returns(String) } - def inspect; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#11277 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#11270 - def operator_loc; end - - # attr_reader pattern: Prism::node - # - # source://prism//lib/prism/node.rb#11267 - def pattern; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#11287 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#11264 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#11292 - def type; end - end -end - -# Represents the use of the `=>` operator. -# -# foo => bar -# ^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#11310 -class Prism::MatchRequiredNode < ::Prism::Node - # Initialize a new MatchRequiredNode node. - # - # @return [MatchRequiredNode] a new instance of MatchRequiredNode - # - # source://prism//lib/prism/node.rb#11312 - def initialize(source, node_id, location, flags, value, pattern, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#11390 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#11323 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11328 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#11338 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#11333 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchRequiredNode - # - # source://prism//lib/prism/node.rb#11343 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil), pattern: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11328 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, pattern: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#11351 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#11374 - sig { override.returns(String) } - def inspect; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#11369 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#11362 - def operator_loc; end - - # attr_reader pattern: Prism::node - # - # source://prism//lib/prism/node.rb#11359 - def pattern; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#11379 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#11356 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#11384 - def type; end - end -end - -# Represents writing local variables using a regular expression match with named capture groups. -# -# /(?<foo>bar)/ =~ baz -# ^^^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#11402 -class Prism::MatchWriteNode < ::Prism::Node - # Initialize a new MatchWriteNode node. - # - # @return [MatchWriteNode] a new instance of MatchWriteNode - # - # source://prism//lib/prism/node.rb#11404 - def initialize(source, node_id, location, flags, call, targets); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#11469 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#11414 - def accept(visitor); end - - # attr_reader call: CallNode - # - # source://prism//lib/prism/node.rb#11447 - def call; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11419 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#11429 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#11424 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?call: CallNode, ?targets: Array[LocalVariableTargetNode]) -> MatchWriteNode - # - # source://prism//lib/prism/node.rb#11434 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), call: T.unsafe(nil), targets: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11419 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, call: CallNode, targets: Array[LocalVariableTargetNode] } - # - # source://prism//lib/prism/node.rb#11442 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#11453 - sig { override.returns(String) } - def inspect; end - - # attr_reader targets: Array[LocalVariableTargetNode] - # - # source://prism//lib/prism/node.rb#11450 - def targets; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#11458 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#11463 - def type; end - end -end - -# Represents a node that is missing from the source and results in a syntax error. -# -# source://prism//lib/prism/node.rb#11478 -class Prism::MissingNode < ::Prism::Node - # Initialize a new MissingNode node. - # - # @return [MissingNode] a new instance of MissingNode - # - # source://prism//lib/prism/node.rb#11480 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#11537 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#11488 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11493 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#11503 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#11498 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> MissingNode - # - # source://prism//lib/prism/node.rb#11508 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11493 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#11516 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#11521 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#11526 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#11531 - def type; end - end -end - -# Represents a module declaration involving the `module` keyword. -# -# module Foo end -# ^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#11546 -class Prism::ModuleNode < ::Prism::Node - # Initialize a new ModuleNode node. - # - # @return [ModuleNode] a new instance of ModuleNode - # - # source://prism//lib/prism/node.rb#11548 - def initialize(source, node_id, location, flags, locals, module_keyword_loc, constant_path, body, end_keyword_loc, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#11650 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#11562 - def accept(visitor); end - - # attr_reader body: Prism::node? - # - # source://prism//lib/prism/node.rb#11611 - def body; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11567 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#11580 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#11572 - def compact_child_nodes; end - - # attr_reader constant_path: Prism::node - # - # source://prism//lib/prism/node.rb#11608 - def constant_path; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?module_keyword_loc: Location, ?constant_path: Prism::node, ?body: Prism::node?, ?end_keyword_loc: Location, ?name: Symbol) -> ModuleNode - # - # source://prism//lib/prism/node.rb#11585 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), module_keyword_loc: T.unsafe(nil), constant_path: T.unsafe(nil), body: T.unsafe(nil), end_keyword_loc: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11567 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], module_keyword_loc: Location, constant_path: Prism::node, body: Prism::node?, end_keyword_loc: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#11593 - def deconstruct_keys(keys); end - - # def end_keyword: () -> String - # - # source://prism//lib/prism/node.rb#11629 - def end_keyword; end - - # attr_reader end_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#11614 - def end_keyword_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#11634 - sig { override.returns(String) } - def inspect; end - - # attr_reader locals: Array[Symbol] - # - # source://prism//lib/prism/node.rb#11598 - def locals; end - - # def module_keyword: () -> String - # - # source://prism//lib/prism/node.rb#11624 - def module_keyword; end - - # attr_reader module_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#11601 - def module_keyword_loc; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#11621 - def name; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#11639 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#11644 - def type; end - end -end - -# Represents a multi-target expression. -# -# a, (b, c) = 1, 2, 3 -# ^^^^^^ -# -# This can be a part of `MultiWriteNode` as above, or the target of a `for` loop -# -# for a, b in [[1, 2], [3, 4]] -# ^^^^ -# -# source://prism//lib/prism/node.rb#11671 -class Prism::MultiTargetNode < ::Prism::Node - # Initialize a new MultiTargetNode node. - # - # @return [MultiTargetNode] a new instance of MultiTargetNode - # - # source://prism//lib/prism/node.rb#11673 - def initialize(source, node_id, location, flags, lefts, rest, rights, lparen_loc, rparen_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#11814 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#11686 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11691 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#11705 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#11696 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode | NumberedReferenceReadNode], ?rest: ImplicitRestNode | SplatNode | nil, ?rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode], ?lparen_loc: Location?, ?rparen_loc: Location?) -> MultiTargetNode - # - # source://prism//lib/prism/node.rb#11710 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), lefts: T.unsafe(nil), rest: T.unsafe(nil), rights: T.unsafe(nil), lparen_loc: T.unsafe(nil), rparen_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11691 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode | NumberedReferenceReadNode], rest: ImplicitRestNode | SplatNode | nil, rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode], lparen_loc: Location?, rparen_loc: Location? } - # - # source://prism//lib/prism/node.rb#11718 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#11798 - sig { override.returns(String) } - def inspect; end - - # Represents the targets expressions before a splat node. - # - # a, (b, c, *) = 1, 2, 3, 4, 5 - # ^^^^ - # - # The splat node can be absent, in that case all target expressions are in the left field. - # - # a, (b, c) = 1, 2, 3, 4, 5 - # ^^^^ - # - # source://prism//lib/prism/node.rb#11731 - def lefts; end - - # def lparen: () -> String? - # - # source://prism//lib/prism/node.rb#11788 - def lparen; end - - # The location of the opening parenthesis. - # - # a, (b, c) = 1, 2, 3 - # ^ - # - # source://prism//lib/prism/node.rb#11759 - def lparen_loc; end - - # Represents a splat node in the target expression. - # - # a, (b, *c) = 1, 2, 3, 4 - # ^^ - # - # The variable can be empty, this results in a `SplatNode` with a `nil` expression field. - # - # a, (b, *) = 1, 2, 3, 4 - # ^ - # - # If the `*` is omitted, the field will containt an `ImplicitRestNode` - # - # a, (b,) = 1, 2, 3, 4 - # ^ - # - # source://prism//lib/prism/node.rb#11747 - def rest; end - - # Represents the targets expressions after a splat node. - # - # a, (*, b, c) = 1, 2, 3, 4, 5 - # ^^^^ - # - # source://prism//lib/prism/node.rb#11753 - def rights; end - - # def rparen: () -> String? - # - # source://prism//lib/prism/node.rb#11793 - def rparen; end - - # The location of the closing parenthesis. - # - # a, (b, c) = 1, 2, 3 - # ^ - # - # source://prism//lib/prism/node.rb#11775 - def rparen_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#11803 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#11808 - def type; end - end -end - -# Represents a write to a multi-target expression. -# -# a, b, c = 1, 2, 3 -# ^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#11830 -class Prism::MultiWriteNode < ::Prism::Node - # Initialize a new MultiWriteNode node. - # - # @return [MultiWriteNode] a new instance of MultiWriteNode - # - # source://prism//lib/prism/node.rb#11832 - def initialize(source, node_id, location, flags, lefts, rest, rights, lparen_loc, rparen_loc, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#11997 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#11847 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11852 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#11867 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#11857 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], ?rest: ImplicitRestNode | SplatNode | nil, ?rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], ?lparen_loc: Location?, ?rparen_loc: Location?, ?operator_loc: Location, ?value: Prism::node) -> MultiWriteNode - # - # source://prism//lib/prism/node.rb#11872 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), lefts: T.unsafe(nil), rest: T.unsafe(nil), rights: T.unsafe(nil), lparen_loc: T.unsafe(nil), rparen_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#11852 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], rest: ImplicitRestNode | SplatNode | nil, rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], lparen_loc: Location?, rparen_loc: Location?, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#11880 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#11981 - sig { override.returns(String) } - def inspect; end - - # Represents the targets expressions before a splat node. - # - # a, b, * = 1, 2, 3, 4, 5 - # ^^^^ - # - # The splat node can be absent, in that case all target expressions are in the left field. - # - # a, b, c = 1, 2, 3, 4, 5 - # ^^^^^^^ - # - # source://prism//lib/prism/node.rb#11893 - def lefts; end - - # def lparen: () -> String? - # - # source://prism//lib/prism/node.rb#11966 - def lparen; end - - # The location of the opening parenthesis. - # - # (a, b, c) = 1, 2, 3 - # ^ - # - # source://prism//lib/prism/node.rb#11921 - def lparen_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#11976 - def operator; end - - # The location of the operator. - # - # a, b, c = 1, 2, 3 - # ^ - # - # source://prism//lib/prism/node.rb#11953 - def operator_loc; end - - # Represents a splat node in the target expression. - # - # a, b, *c = 1, 2, 3, 4 - # ^^ - # - # The variable can be empty, this results in a `SplatNode` with a `nil` expression field. - # - # a, b, * = 1, 2, 3, 4 - # ^ - # - # If the `*` is omitted, the field will containt an `ImplicitRestNode` - # - # a, b, = 1, 2, 3, 4 - # ^ - # - # source://prism//lib/prism/node.rb#11909 - def rest; end - - # Represents the targets expressions after a splat node. - # - # a, *, b, c = 1, 2, 3, 4, 5 - # ^^^^ - # - # source://prism//lib/prism/node.rb#11915 - def rights; end - - # def rparen: () -> String? - # - # source://prism//lib/prism/node.rb#11971 - def rparen; end - - # The location of the closing parenthesis. - # - # (a, b, c) = 1, 2, 3 - # ^ - # - # source://prism//lib/prism/node.rb#11937 - def rparen_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#11986 - sig { override.returns(Symbol) } - def type; end - - # The value to write to the targets. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # a, b, c = 1, 2, 3 - # ^^^^^^^ - # - # source://prism//lib/prism/node.rb#11963 - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#11991 - def type; end - 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://prism//lib/prism/mutation_compiler.rb#13 -class Prism::MutationCompiler < ::Prism::Compiler - # Copy a AliasGlobalVariableNode node - # - # source://prism//lib/prism/mutation_compiler.rb#15 - def visit_alias_global_variable_node(node); end - - # Copy a AliasMethodNode node - # - # source://prism//lib/prism/mutation_compiler.rb#20 - def visit_alias_method_node(node); end - - # Copy a AlternationPatternNode node - # - # source://prism//lib/prism/mutation_compiler.rb#25 - def visit_alternation_pattern_node(node); end - - # Copy a AndNode node - # - # source://prism//lib/prism/mutation_compiler.rb#30 - def visit_and_node(node); end - - # Copy a ArgumentsNode node - # - # source://prism//lib/prism/mutation_compiler.rb#35 - def visit_arguments_node(node); end - - # Copy a ArrayNode node - # - # source://prism//lib/prism/mutation_compiler.rb#40 - def visit_array_node(node); end - - # Copy a ArrayPatternNode node - # - # source://prism//lib/prism/mutation_compiler.rb#45 - def visit_array_pattern_node(node); end - - # Copy a AssocNode node - # - # source://prism//lib/prism/mutation_compiler.rb#50 - def visit_assoc_node(node); end - - # Copy a AssocSplatNode node - # - # source://prism//lib/prism/mutation_compiler.rb#55 - def visit_assoc_splat_node(node); end - - # Copy a BackReferenceReadNode node - # - # source://prism//lib/prism/mutation_compiler.rb#60 - def visit_back_reference_read_node(node); end - - # Copy a BeginNode node - # - # source://prism//lib/prism/mutation_compiler.rb#65 - def visit_begin_node(node); end - - # Copy a BlockArgumentNode node - # - # source://prism//lib/prism/mutation_compiler.rb#70 - def visit_block_argument_node(node); end - - # Copy a BlockLocalVariableNode node - # - # source://prism//lib/prism/mutation_compiler.rb#75 - def visit_block_local_variable_node(node); end - - # Copy a BlockNode node - # - # source://prism//lib/prism/mutation_compiler.rb#80 - def visit_block_node(node); end - - # Copy a BlockParameterNode node - # - # source://prism//lib/prism/mutation_compiler.rb#85 - def visit_block_parameter_node(node); end - - # Copy a BlockParametersNode node - # - # source://prism//lib/prism/mutation_compiler.rb#90 - def visit_block_parameters_node(node); end - - # Copy a BreakNode node - # - # source://prism//lib/prism/mutation_compiler.rb#95 - def visit_break_node(node); end - - # Copy a CallAndWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#100 - def visit_call_and_write_node(node); end - - # Copy a CallNode node - # - # source://prism//lib/prism/mutation_compiler.rb#105 - def visit_call_node(node); end - - # Copy a CallOperatorWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#110 - def visit_call_operator_write_node(node); end - - # Copy a CallOrWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#115 - def visit_call_or_write_node(node); end - - # Copy a CallTargetNode node - # - # source://prism//lib/prism/mutation_compiler.rb#120 - def visit_call_target_node(node); end - - # Copy a CapturePatternNode node - # - # source://prism//lib/prism/mutation_compiler.rb#125 - def visit_capture_pattern_node(node); end - - # Copy a CaseMatchNode node - # - # source://prism//lib/prism/mutation_compiler.rb#130 - def visit_case_match_node(node); end - - # Copy a CaseNode node - # - # source://prism//lib/prism/mutation_compiler.rb#135 - def visit_case_node(node); end - - # Copy a ClassNode node - # - # source://prism//lib/prism/mutation_compiler.rb#140 - def visit_class_node(node); end - - # Copy a ClassVariableAndWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#145 - def visit_class_variable_and_write_node(node); end - - # Copy a ClassVariableOperatorWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#150 - def visit_class_variable_operator_write_node(node); end - - # Copy a ClassVariableOrWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#155 - def visit_class_variable_or_write_node(node); end - - # Copy a ClassVariableReadNode node - # - # source://prism//lib/prism/mutation_compiler.rb#160 - def visit_class_variable_read_node(node); end - - # Copy a ClassVariableTargetNode node - # - # source://prism//lib/prism/mutation_compiler.rb#165 - def visit_class_variable_target_node(node); end - - # Copy a ClassVariableWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#170 - def visit_class_variable_write_node(node); end - - # Copy a ConstantAndWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#175 - def visit_constant_and_write_node(node); end - - # Copy a ConstantOperatorWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#180 - def visit_constant_operator_write_node(node); end - - # Copy a ConstantOrWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#185 - def visit_constant_or_write_node(node); end - - # Copy a ConstantPathAndWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#190 - def visit_constant_path_and_write_node(node); end - - # Copy a ConstantPathNode node - # - # source://prism//lib/prism/mutation_compiler.rb#195 - def visit_constant_path_node(node); end - - # Copy a ConstantPathOperatorWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#200 - def visit_constant_path_operator_write_node(node); end - - # Copy a ConstantPathOrWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#205 - def visit_constant_path_or_write_node(node); end - - # Copy a ConstantPathTargetNode node - # - # source://prism//lib/prism/mutation_compiler.rb#210 - def visit_constant_path_target_node(node); end - - # Copy a ConstantPathWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#215 - def visit_constant_path_write_node(node); end - - # Copy a ConstantReadNode node - # - # source://prism//lib/prism/mutation_compiler.rb#220 - def visit_constant_read_node(node); end - - # Copy a ConstantTargetNode node - # - # source://prism//lib/prism/mutation_compiler.rb#225 - def visit_constant_target_node(node); end - - # Copy a ConstantWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#230 - def visit_constant_write_node(node); end - - # Copy a DefNode node - # - # source://prism//lib/prism/mutation_compiler.rb#235 - def visit_def_node(node); end - - # Copy a DefinedNode node - # - # source://prism//lib/prism/mutation_compiler.rb#240 - def visit_defined_node(node); end - - # Copy a ElseNode node - # - # source://prism//lib/prism/mutation_compiler.rb#245 - def visit_else_node(node); end - - # Copy a EmbeddedStatementsNode node - # - # source://prism//lib/prism/mutation_compiler.rb#250 - def visit_embedded_statements_node(node); end - - # Copy a EmbeddedVariableNode node - # - # source://prism//lib/prism/mutation_compiler.rb#255 - def visit_embedded_variable_node(node); end - - # Copy a EnsureNode node - # - # source://prism//lib/prism/mutation_compiler.rb#260 - def visit_ensure_node(node); end - - # Copy a FalseNode node - # - # source://prism//lib/prism/mutation_compiler.rb#265 - def visit_false_node(node); end - - # Copy a FindPatternNode node - # - # source://prism//lib/prism/mutation_compiler.rb#270 - def visit_find_pattern_node(node); end - - # Copy a FlipFlopNode node - # - # source://prism//lib/prism/mutation_compiler.rb#275 - def visit_flip_flop_node(node); end - - # Copy a FloatNode node - # - # source://prism//lib/prism/mutation_compiler.rb#280 - def visit_float_node(node); end - - # Copy a ForNode node - # - # source://prism//lib/prism/mutation_compiler.rb#285 - def visit_for_node(node); end - - # Copy a ForwardingArgumentsNode node - # - # source://prism//lib/prism/mutation_compiler.rb#290 - def visit_forwarding_arguments_node(node); end - - # Copy a ForwardingParameterNode node - # - # source://prism//lib/prism/mutation_compiler.rb#295 - def visit_forwarding_parameter_node(node); end - - # Copy a ForwardingSuperNode node - # - # source://prism//lib/prism/mutation_compiler.rb#300 - def visit_forwarding_super_node(node); end - - # Copy a GlobalVariableAndWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#305 - def visit_global_variable_and_write_node(node); end - - # Copy a GlobalVariableOperatorWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#310 - def visit_global_variable_operator_write_node(node); end - - # Copy a GlobalVariableOrWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#315 - def visit_global_variable_or_write_node(node); end - - # Copy a GlobalVariableReadNode node - # - # source://prism//lib/prism/mutation_compiler.rb#320 - def visit_global_variable_read_node(node); end - - # Copy a GlobalVariableTargetNode node - # - # source://prism//lib/prism/mutation_compiler.rb#325 - def visit_global_variable_target_node(node); end - - # Copy a GlobalVariableWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#330 - def visit_global_variable_write_node(node); end - - # Copy a HashNode node - # - # source://prism//lib/prism/mutation_compiler.rb#335 - def visit_hash_node(node); end - - # Copy a HashPatternNode node - # - # source://prism//lib/prism/mutation_compiler.rb#340 - def visit_hash_pattern_node(node); end - - # Copy a IfNode node - # - # source://prism//lib/prism/mutation_compiler.rb#345 - def visit_if_node(node); end - - # Copy a ImaginaryNode node - # - # source://prism//lib/prism/mutation_compiler.rb#350 - def visit_imaginary_node(node); end - - # Copy a ImplicitNode node - # - # source://prism//lib/prism/mutation_compiler.rb#355 - def visit_implicit_node(node); end - - # Copy a ImplicitRestNode node - # - # source://prism//lib/prism/mutation_compiler.rb#360 - def visit_implicit_rest_node(node); end - - # Copy a InNode node - # - # source://prism//lib/prism/mutation_compiler.rb#365 - def visit_in_node(node); end - - # Copy a IndexAndWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#370 - def visit_index_and_write_node(node); end - - # Copy a IndexOperatorWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#375 - def visit_index_operator_write_node(node); end - - # Copy a IndexOrWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#380 - def visit_index_or_write_node(node); end - - # Copy a IndexTargetNode node - # - # source://prism//lib/prism/mutation_compiler.rb#385 - def visit_index_target_node(node); end - - # Copy a InstanceVariableAndWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#390 - def visit_instance_variable_and_write_node(node); end - - # Copy a InstanceVariableOperatorWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#395 - def visit_instance_variable_operator_write_node(node); end - - # Copy a InstanceVariableOrWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#400 - def visit_instance_variable_or_write_node(node); end - - # Copy a InstanceVariableReadNode node - # - # source://prism//lib/prism/mutation_compiler.rb#405 - def visit_instance_variable_read_node(node); end - - # Copy a InstanceVariableTargetNode node - # - # source://prism//lib/prism/mutation_compiler.rb#410 - def visit_instance_variable_target_node(node); end - - # Copy a InstanceVariableWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#415 - def visit_instance_variable_write_node(node); end - - # Copy a IntegerNode node - # - # source://prism//lib/prism/mutation_compiler.rb#420 - def visit_integer_node(node); end - - # Copy a InterpolatedMatchLastLineNode node - # - # source://prism//lib/prism/mutation_compiler.rb#425 - def visit_interpolated_match_last_line_node(node); end - - # Copy a InterpolatedRegularExpressionNode node - # - # source://prism//lib/prism/mutation_compiler.rb#430 - def visit_interpolated_regular_expression_node(node); end - - # Copy a InterpolatedStringNode node - # - # source://prism//lib/prism/mutation_compiler.rb#435 - def visit_interpolated_string_node(node); end - - # Copy a InterpolatedSymbolNode node - # - # source://prism//lib/prism/mutation_compiler.rb#440 - def visit_interpolated_symbol_node(node); end - - # Copy a InterpolatedXStringNode node - # - # source://prism//lib/prism/mutation_compiler.rb#445 - def visit_interpolated_x_string_node(node); end - - # Copy a ItLocalVariableReadNode node - # - # source://prism//lib/prism/mutation_compiler.rb#450 - def visit_it_local_variable_read_node(node); end - - # Copy a ItParametersNode node - # - # source://prism//lib/prism/mutation_compiler.rb#455 - def visit_it_parameters_node(node); end - - # Copy a KeywordHashNode node - # - # source://prism//lib/prism/mutation_compiler.rb#460 - def visit_keyword_hash_node(node); end - - # Copy a KeywordRestParameterNode node - # - # source://prism//lib/prism/mutation_compiler.rb#465 - def visit_keyword_rest_parameter_node(node); end - - # Copy a LambdaNode node - # - # source://prism//lib/prism/mutation_compiler.rb#470 - def visit_lambda_node(node); end - - # Copy a LocalVariableAndWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#475 - def visit_local_variable_and_write_node(node); end - - # Copy a LocalVariableOperatorWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#480 - def visit_local_variable_operator_write_node(node); end - - # Copy a LocalVariableOrWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#485 - def visit_local_variable_or_write_node(node); end - - # Copy a LocalVariableReadNode node - # - # source://prism//lib/prism/mutation_compiler.rb#490 - def visit_local_variable_read_node(node); end - - # Copy a LocalVariableTargetNode node - # - # source://prism//lib/prism/mutation_compiler.rb#495 - def visit_local_variable_target_node(node); end - - # Copy a LocalVariableWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#500 - def visit_local_variable_write_node(node); end - - # Copy a MatchLastLineNode node - # - # source://prism//lib/prism/mutation_compiler.rb#505 - def visit_match_last_line_node(node); end - - # Copy a MatchPredicateNode node - # - # source://prism//lib/prism/mutation_compiler.rb#510 - def visit_match_predicate_node(node); end - - # Copy a MatchRequiredNode node - # - # source://prism//lib/prism/mutation_compiler.rb#515 - def visit_match_required_node(node); end - - # Copy a MatchWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#520 - def visit_match_write_node(node); end - - # Copy a MissingNode node - # - # source://prism//lib/prism/mutation_compiler.rb#525 - def visit_missing_node(node); end - - # Copy a ModuleNode node - # - # source://prism//lib/prism/mutation_compiler.rb#530 - def visit_module_node(node); end - - # Copy a MultiTargetNode node - # - # source://prism//lib/prism/mutation_compiler.rb#535 - def visit_multi_target_node(node); end - - # Copy a MultiWriteNode node - # - # source://prism//lib/prism/mutation_compiler.rb#540 - def visit_multi_write_node(node); end - - # Copy a NextNode node - # - # source://prism//lib/prism/mutation_compiler.rb#545 - def visit_next_node(node); end - - # Copy a NilNode node - # - # source://prism//lib/prism/mutation_compiler.rb#550 - def visit_nil_node(node); end - - # Copy a NoKeywordsParameterNode node - # - # source://prism//lib/prism/mutation_compiler.rb#555 - def visit_no_keywords_parameter_node(node); end - - # Copy a NumberedParametersNode node - # - # source://prism//lib/prism/mutation_compiler.rb#560 - def visit_numbered_parameters_node(node); end - - # Copy a NumberedReferenceReadNode node - # - # source://prism//lib/prism/mutation_compiler.rb#565 - def visit_numbered_reference_read_node(node); end - - # Copy a OptionalKeywordParameterNode node - # - # source://prism//lib/prism/mutation_compiler.rb#570 - def visit_optional_keyword_parameter_node(node); end - - # Copy a OptionalParameterNode node - # - # source://prism//lib/prism/mutation_compiler.rb#575 - def visit_optional_parameter_node(node); end - - # Copy a OrNode node - # - # source://prism//lib/prism/mutation_compiler.rb#580 - def visit_or_node(node); end - - # Copy a ParametersNode node - # - # source://prism//lib/prism/mutation_compiler.rb#585 - def visit_parameters_node(node); end - - # Copy a ParenthesesNode node - # - # source://prism//lib/prism/mutation_compiler.rb#590 - def visit_parentheses_node(node); end - - # Copy a PinnedExpressionNode node - # - # source://prism//lib/prism/mutation_compiler.rb#595 - def visit_pinned_expression_node(node); end - - # Copy a PinnedVariableNode node - # - # source://prism//lib/prism/mutation_compiler.rb#600 - def visit_pinned_variable_node(node); end - - # Copy a PostExecutionNode node - # - # source://prism//lib/prism/mutation_compiler.rb#605 - def visit_post_execution_node(node); end - - # Copy a PreExecutionNode node - # - # source://prism//lib/prism/mutation_compiler.rb#610 - def visit_pre_execution_node(node); end - - # Copy a ProgramNode node - # - # source://prism//lib/prism/mutation_compiler.rb#615 - def visit_program_node(node); end - - # Copy a RangeNode node - # - # source://prism//lib/prism/mutation_compiler.rb#620 - def visit_range_node(node); end - - # Copy a RationalNode node - # - # source://prism//lib/prism/mutation_compiler.rb#625 - def visit_rational_node(node); end - - # Copy a RedoNode node - # - # source://prism//lib/prism/mutation_compiler.rb#630 - def visit_redo_node(node); end - - # Copy a RegularExpressionNode node - # - # source://prism//lib/prism/mutation_compiler.rb#635 - def visit_regular_expression_node(node); end - - # Copy a RequiredKeywordParameterNode node - # - # source://prism//lib/prism/mutation_compiler.rb#640 - def visit_required_keyword_parameter_node(node); end - - # Copy a RequiredParameterNode node - # - # source://prism//lib/prism/mutation_compiler.rb#645 - def visit_required_parameter_node(node); end - - # Copy a RescueModifierNode node - # - # source://prism//lib/prism/mutation_compiler.rb#650 - def visit_rescue_modifier_node(node); end - - # Copy a RescueNode node - # - # source://prism//lib/prism/mutation_compiler.rb#655 - def visit_rescue_node(node); end - - # Copy a RestParameterNode node - # - # source://prism//lib/prism/mutation_compiler.rb#660 - def visit_rest_parameter_node(node); end - - # Copy a RetryNode node - # - # source://prism//lib/prism/mutation_compiler.rb#665 - def visit_retry_node(node); end - - # Copy a ReturnNode node - # - # source://prism//lib/prism/mutation_compiler.rb#670 - def visit_return_node(node); end - - # Copy a SelfNode node - # - # source://prism//lib/prism/mutation_compiler.rb#675 - def visit_self_node(node); end - - # Copy a ShareableConstantNode node - # - # source://prism//lib/prism/mutation_compiler.rb#680 - def visit_shareable_constant_node(node); end - - # Copy a SingletonClassNode node - # - # source://prism//lib/prism/mutation_compiler.rb#685 - def visit_singleton_class_node(node); end - - # Copy a SourceEncodingNode node - # - # source://prism//lib/prism/mutation_compiler.rb#690 - def visit_source_encoding_node(node); end - - # Copy a SourceFileNode node - # - # source://prism//lib/prism/mutation_compiler.rb#695 - def visit_source_file_node(node); end - - # Copy a SourceLineNode node - # - # source://prism//lib/prism/mutation_compiler.rb#700 - def visit_source_line_node(node); end - - # Copy a SplatNode node - # - # source://prism//lib/prism/mutation_compiler.rb#705 - def visit_splat_node(node); end - - # Copy a StatementsNode node - # - # source://prism//lib/prism/mutation_compiler.rb#710 - def visit_statements_node(node); end - - # Copy a StringNode node - # - # source://prism//lib/prism/mutation_compiler.rb#715 - def visit_string_node(node); end - - # Copy a SuperNode node - # - # source://prism//lib/prism/mutation_compiler.rb#720 - def visit_super_node(node); end - - # Copy a SymbolNode node - # - # source://prism//lib/prism/mutation_compiler.rb#725 - def visit_symbol_node(node); end - - # Copy a TrueNode node - # - # source://prism//lib/prism/mutation_compiler.rb#730 - def visit_true_node(node); end - - # Copy a UndefNode node - # - # source://prism//lib/prism/mutation_compiler.rb#735 - def visit_undef_node(node); end - - # Copy a UnlessNode node - # - # source://prism//lib/prism/mutation_compiler.rb#740 - def visit_unless_node(node); end - - # Copy a UntilNode node - # - # source://prism//lib/prism/mutation_compiler.rb#745 - def visit_until_node(node); end - - # Copy a WhenNode node - # - # source://prism//lib/prism/mutation_compiler.rb#750 - def visit_when_node(node); end - - # Copy a WhileNode node - # - # source://prism//lib/prism/mutation_compiler.rb#755 - def visit_while_node(node); end - - # Copy a XStringNode node - # - # source://prism//lib/prism/mutation_compiler.rb#760 - def visit_x_string_node(node); end - - # Copy a YieldNode node - # - # source://prism//lib/prism/mutation_compiler.rb#765 - def visit_yield_node(node); end -end - -# Represents the use of the `next` keyword. -# -# next 1 -# ^^^^^^ -# -# source://prism//lib/prism/node.rb#12015 -class Prism::NextNode < ::Prism::Node - # Initialize a new NextNode node. - # - # @return [NextNode] a new instance of NextNode - # - # source://prism//lib/prism/node.rb#12017 - def initialize(source, node_id, location, flags, arguments, keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#12093 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#12027 - def accept(visitor); end - - # attr_reader arguments: ArgumentsNode? - # - # source://prism//lib/prism/node.rb#12062 - def arguments; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12032 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#12044 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#12037 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: ArgumentsNode?, ?keyword_loc: Location) -> NextNode - # - # source://prism//lib/prism/node.rb#12049 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), arguments: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12032 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, arguments: ArgumentsNode?, keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#12057 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#12077 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#12072 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#12065 - def keyword_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#12082 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#12087 - def type; end - end -end - -# Represents the use of the `nil` keyword. -# -# nil -# ^^^ -# -# source://prism//lib/prism/node.rb#12104 -class Prism::NilNode < ::Prism::Node - # Initialize a new NilNode node. - # - # @return [NilNode] a new instance of NilNode - # - # source://prism//lib/prism/node.rb#12106 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#12163 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#12114 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12119 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#12129 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#12124 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> NilNode - # - # source://prism//lib/prism/node.rb#12134 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12119 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#12142 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#12147 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#12152 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#12157 - def type; end - end -end - -# Represents the use of `**nil` inside method arguments. -# -# def a(**nil) -# ^^^^^ -# end -# -# source://prism//lib/prism/node.rb#12173 -class Prism::NoKeywordsParameterNode < ::Prism::Node - # Initialize a new NoKeywordsParameterNode node. - # - # @return [NoKeywordsParameterNode] a new instance of NoKeywordsParameterNode - # - # source://prism//lib/prism/node.rb#12175 - def initialize(source, node_id, location, flags, operator_loc, keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#12258 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#12185 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12190 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#12200 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#12195 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?keyword_loc: Location) -> NoKeywordsParameterNode - # - # source://prism//lib/prism/node.rb#12205 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), operator_loc: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12190 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#12213 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#12242 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#12237 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#12225 - def keyword_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#12232 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#12218 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#12247 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#12252 - def type; end - end -end - -# This represents a node in the tree. It is the parent class of all of the -# various node types. -# -# source://prism//lib/prism/node.rb#12 -class Prism::Node - abstract! - - # Accepts a visitor and calls back into the specialized visit function. - # - # @raise [NoMethodError] - # - # source://prism//lib/prism/node.rb#169 - sig { abstract.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # Returns the first node that matches the given block when visited in a - # depth-first search. This is useful for finding a node that matches a - # particular condition. - # - # node.breadth_first_search { |node| node.node_id == node_id } - # - # source://prism//lib/prism/node.rb#139 - sig { params(block: T.proc.params(node: Prism::Node).returns(T::Boolean)).returns(T.nilable(Prism::Node)) } - def breadth_first_search(&block); end - - # Returns an array of child nodes, including `nil`s in the place of optional - # nodes that were not present. - # - # @raise [NoMethodError] - # - # source://prism//lib/prism/node.rb#175 - sig { abstract.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # Returns an array of child nodes and locations that could potentially have - # comments attached to them. - # - # @raise [NoMethodError] - # - # source://prism//lib/prism/node.rb#189 - sig { abstract.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # Returns an array of child nodes, excluding any `nil`s in the place of - # optional nodes that were not present. - # - # @raise [NoMethodError] - # - # source://prism//lib/prism/node.rb#183 - sig { abstract.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # Returns an array of child nodes, including `nil`s in the place of optional - # nodes that were not present. - # - # @raise [NoMethodError] - # - # source://prism//lib/prism/node.rb#175 - sig { abstract.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # source://prism//lib/prism/node_ext.rb#7 - def deprecated(*replacements); end - - # The end offset of the node in the source. This method is effectively a - # delegate method to the location object. - # - # source://prism//lib/prism/node.rb#40 - sig { returns(Integer) } - def end_offset; end - - sig { abstract.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # Returns a string representation of the node. - # - # @raise [NoMethodError] - # - # source://prism//lib/prism/node.rb#194 - sig { abstract.returns(String) } - def inspect; end - - # A Location instance that represents the location of this node in the - # source. - # - # source://prism//lib/prism/node.rb#25 - sig { returns(Prism::Location) } - def location; end - - # Returns true if the node has the newline flag set. - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#72 - sig { returns(T::Boolean) } - def newline?; end - - # source://prism//lib/prism/parse_result/newlines.rb#69 - def newline_flag!(lines); end - - # @return [Boolean] - # - # source://prism//lib/prism/parse_result/newlines.rb#65 - def newline_flag?; end - - # A unique identifier for this node. This is used in a very specific - # use case where you want to keep around a reference to a node without - # having to keep around the syntax tree in memory. This unique identifier - # will be consistent across multiple parses of the same source code. - # - # source://prism//lib/prism/node.rb#21 - sig { returns(Integer) } - def node_id; end - - # Similar to inspect, but respects the current level of indentation given by - # the pretty print object. - # - # source://prism//lib/prism/node.rb#83 - sig { params(q: T.untyped).void } - def pretty_print(q); end - - # Returns all of the lines of the source code associated with this node. - # An alias for source_lines, used to mimic the API from - # RubyVM::AbstractSyntaxTree to make it easier to migrate. - # - # source://prism//lib/prism/node.rb#46 - sig { returns(T::Array[String]) } - def script_lines; end - - # Slice the location of the node from the source. - # - # source://prism//lib/prism/node.rb#55 - sig { returns(String) } - def slice; end - - # Slice the location of the node from the source, starting at the beginning - # of the line that the location starts on, ending at the end of the line - # that the location ends on. - # - # source://prism//lib/prism/node.rb#62 - sig { returns(String) } - def slice_lines; end - - # Returns all of the lines of the source code associated with this node. - # - # source://prism//lib/prism/node.rb#46 - sig { returns(T::Array[String]) } - def source_lines; end - - # The start offset of the node in the source. This method is effectively a - # delegate method to the location object. - # - # source://prism//lib/prism/node.rb#33 - sig { returns(Integer) } - def start_offset; end - - # Returns true if the node has the static literal flag set. - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#77 - sig { returns(T::Boolean) } - def static_literal?; end - - # Convert this node into a graphviz dot graph string. - # - # source://prism//lib/prism/node.rb#91 - sig { returns(String) } - def to_dot; end - - # Returns a list of nodes that are descendants of this node that contain the - # given line and column. This is useful for locating a node that is selected - # based on the line and column of the source code. - # - # Important to note is that the column given to this method should be in - # bytes, as opposed to characters or code units. - # - # source://prism//lib/prism/node.rb#102 - sig { params(line: Integer, column: Integer).returns(T::Array[Prism::Node]) } - def tunnel(line, column); end - - # Sometimes you want to check an instance of a node against a list of - # classes to see what kind of behavior to perform. Usually this is done by - # calling `[cls1, cls2].include?(node.class)` or putting the node into a - # case statement and doing `case node; when cls1; when cls2; end`. Both of - # these approaches are relatively slow because of the constant lookups, - # method calls, and/or array allocations. - # - # Instead, you can call #type, which will return to you a symbol that you - # can use for comparison. This is faster than the other approaches because - # it uses a single integer comparison, but also because if you're on CRuby - # you can take advantage of the fact that case statements with all symbol - # keys will use a jump table. - # - # @raise [NoMethodError] - # - # source://prism//lib/prism/node.rb#210 - sig { abstract.returns(Symbol) } - def type; end - - protected - - # An bitset of flags for this node. There are certain flags that are common - # for all nodes, and then some nodes have specific flags. - # - # source://prism//lib/prism/node.rb#68 - sig { returns(Integer) } - def flags; end - - private - - # A pointer to the source that this node was created from. - # - # source://prism//lib/prism/node.rb#14 - sig { returns(Prism::Source) } - def source; end - - class << self - # Returns a list of the fields that exist for this node class. Fields - # describe the structure of the node. This kind of reflection is useful for - # things like recursively visiting each node _and_ field in the tree. - # - # @raise [NoMethodError] - # - # source://prism//lib/prism/node.rb#153 - def fields; end - - # Similar to #type, this method returns a symbol that you can use for - # splitting on the type of the node without having to do a long === chain. - # Note that like #type, it will still be slower than using == for a single - # class, but should be faster in a case statement or an array comparison. - # - # @raise [NoMethodError] - # - # source://prism//lib/prism/node.rb#218 - def type; end - end -end - -# The flags that are common to all nodes. -# -# source://prism//lib/prism/node.rb#16812 -module Prism::NodeFlags; end - -# A flag to indicate that the node is a candidate to emit a :line event -# through tracepoint when compiled. -# -# source://prism//lib/prism/node.rb#16815 -Prism::NodeFlags::NEWLINE = T.let(T.unsafe(nil), Integer) - -# A flag to indicate that the value that the node represents is a value that -# can be determined at parse-time. -# -# source://prism//lib/prism/node.rb#16819 -Prism::NodeFlags::STATIC_LITERAL = T.let(T.unsafe(nil), Integer) - -# Represents an implicit set of parameters through the use of numbered parameters within a block or lambda. -# -# -> { _1 + _2 } -# ^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#12269 -class Prism::NumberedParametersNode < ::Prism::Node - # Initialize a new NumberedParametersNode node. - # - # @return [NumberedParametersNode] a new instance of NumberedParametersNode - # - # source://prism//lib/prism/node.rb#12271 - def initialize(source, node_id, location, flags, maximum); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#12332 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#12280 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12285 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#12295 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#12290 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?maximum: Integer) -> NumberedParametersNode - # - # source://prism//lib/prism/node.rb#12300 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), maximum: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12285 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, maximum: Integer } - # - # source://prism//lib/prism/node.rb#12308 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#12316 - sig { override.returns(String) } - def inspect; end - - # attr_reader maximum: Integer - # - # source://prism//lib/prism/node.rb#12313 - def maximum; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#12321 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#12326 - def type; end - end -end - -# Represents reading a numbered reference to a capture in the previous match. -# -# $1 -# ^^ -# -# source://prism//lib/prism/node.rb#12342 -class Prism::NumberedReferenceReadNode < ::Prism::Node - # Initialize a new NumberedReferenceReadNode node. - # - # @return [NumberedReferenceReadNode] a new instance of NumberedReferenceReadNode - # - # source://prism//lib/prism/node.rb#12344 - def initialize(source, node_id, location, flags, number); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#12411 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#12353 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12358 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#12368 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#12363 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?number: Integer) -> NumberedReferenceReadNode - # - # source://prism//lib/prism/node.rb#12373 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), number: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12358 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, number: Integer } - # - # source://prism//lib/prism/node.rb#12381 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#12395 - sig { override.returns(String) } - def inspect; end - - # The (1-indexed, from the left) number of the capture group. Numbered references that are too large result in this value being `0`. - # - # $1 # number `1` - # - # $5432 # number `5432` - # - # $4294967296 # number `0` - # - # source://prism//lib/prism/node.rb#12392 - def number; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#12400 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#12405 - def type; end - end -end - -# Represents an optional keyword parameter to a method, block, or lambda definition. -# -# def a(b: 1) -# ^^^^ -# end -# -# source://prism//lib/prism/node.rb#12422 -class Prism::OptionalKeywordParameterNode < ::Prism::Node - # Initialize a new OptionalKeywordParameterNode node. - # - # @return [OptionalKeywordParameterNode] a new instance of OptionalKeywordParameterNode - # - # source://prism//lib/prism/node.rb#12424 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - value: Prism::Node - ).void - end - def initialize(source, node_id, location, flags, name, name_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#12502 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#12435 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12440 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#12450 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#12445 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node) -> OptionalKeywordParameterNode - # - # source://prism//lib/prism/node.rb#12455 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::OptionalKeywordParameterNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12440 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#12463 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#12486 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#12473 - sig { returns(Symbol) } - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#12476 - sig { returns(Prism::Location) } - def name_loc; end - - # def repeated_parameter?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#12468 - sig { returns(T::Boolean) } - def repeated_parameter?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#12491 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#12483 - sig { returns(Prism::Node) } - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#12496 - def type; end - end -end - -# Represents an optional parameter to a method, block, or lambda definition. -# -# def a(b = 1) -# ^^^^^ -# end -# -# source://prism//lib/prism/node.rb#12516 -class Prism::OptionalParameterNode < ::Prism::Node - # Initialize a new OptionalParameterNode node. - # - # @return [OptionalParameterNode] a new instance of OptionalParameterNode - # - # source://prism//lib/prism/node.rb#12518 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node - ).void - end - def initialize(source, node_id, location, flags, name, name_loc, operator_loc, value); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#12609 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#12530 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12535 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#12545 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#12540 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> OptionalParameterNode - # - # source://prism//lib/prism/node.rb#12550 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location, - operator_loc: Prism::Location, - value: Prism::Node - ).returns(Prism::OptionalParameterNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), value: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12535 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location, operator_loc: Location, value: Prism::node } - # - # source://prism//lib/prism/node.rb#12558 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#12593 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#12568 - sig { returns(Symbol) } - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#12571 - sig { returns(Prism::Location) } - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#12588 - sig { returns(String) } - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#12578 - sig { returns(Prism::Location) } - def operator_loc; end - - # def repeated_parameter?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#12563 - sig { returns(T::Boolean) } - def repeated_parameter?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#12598 - sig { override.returns(Symbol) } - def type; end - - # attr_reader value: Prism::node - # - # source://prism//lib/prism/node.rb#12585 - sig { returns(Prism::Node) } - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#12603 - def type; end - end -end - -# Represents the use of the `||` operator or the `or` keyword. -# -# left or right -# ^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#12623 -class Prism::OrNode < ::Prism::Node - # Initialize a new OrNode node. - # - # @return [OrNode] a new instance of OrNode - # - # source://prism//lib/prism/node.rb#12625 - def initialize(source, node_id, location, flags, left, right, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#12718 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#12636 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12641 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#12651 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#12646 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> OrNode - # - # source://prism//lib/prism/node.rb#12656 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), left: T.unsafe(nil), right: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12641 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node, right: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#12664 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#12702 - sig { override.returns(String) } - def inspect; end - - # Represents the left side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # left or right - # ^^^^ - # - # 1 || 2 - # ^ - # - # source://prism//lib/prism/node.rb#12675 - def left; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#12697 - def operator; end - - # The location of the `or` keyword or the `||` operator. - # - # left or right - # ^^ - # - # source://prism//lib/prism/node.rb#12690 - def operator_loc; end - - # Represents the right side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # left || right - # ^^^^^ - # - # 1 or 2 - # ^ - # - # source://prism//lib/prism/node.rb#12684 - def right; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#12707 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#12712 - def type; end - end -end - -# A parser for the pack template language. -# -# source://prism//lib/prism/pack.rb#6 -module Prism::Pack - class << self - def parse(_arg0, _arg1, _arg2); end - end -end - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::AGNOSTIC_ENDIAN = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::BACK = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::BER = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::BIG_ENDIAN = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::COMMENT = T.let(T.unsafe(nil), Symbol) - -# A directive in the pack template language. -# -# source://prism//lib/prism/pack.rb#60 -class Prism::Pack::Directive - # Initialize a new directive with the given values. - # - # @return [Directive] a new instance of Directive - # - # source://prism//lib/prism/pack.rb#89 - def initialize(version, variant, source, type, signed, endian, size, length_type, length); end - - # Provide a human-readable description of the directive. - # - # source://prism//lib/prism/pack.rb#131 - def describe; end - - # The type of endianness of the directive. - # - # source://prism//lib/prism/pack.rb#77 - def endian; end - - # The length of this directive (used for integers). - # - # source://prism//lib/prism/pack.rb#86 - def length; end - - # The length type of this directive (used for integers). - # - # source://prism//lib/prism/pack.rb#83 - def length_type; end - - # The type of signedness of the directive. - # - # source://prism//lib/prism/pack.rb#74 - def signed; end - - # The size of the directive. - # - # source://prism//lib/prism/pack.rb#80 - def size; end - - # A byteslice of the source string that this directive represents. - # - # source://prism//lib/prism/pack.rb#68 - def source; end - - # The type of the directive. - # - # source://prism//lib/prism/pack.rb#71 - def type; end - - # A symbol representing whether or not we are packing or unpacking. - # - # source://prism//lib/prism/pack.rb#65 - def variant; end - - # A symbol representing the version of Ruby. - # - # source://prism//lib/prism/pack.rb#62 - def version; end -end - -# The descriptions of the various types of endianness. -# -# source://prism//lib/prism/pack.rb#102 -Prism::Pack::Directive::ENDIAN_DESCRIPTIONS = T.let(T.unsafe(nil), Hash) - -# The descriptions of the various types of signedness. -# -# source://prism//lib/prism/pack.rb#111 -Prism::Pack::Directive::SIGNED_DESCRIPTIONS = T.let(T.unsafe(nil), Hash) - -# The descriptions of the various types of sizes. -# -# source://prism//lib/prism/pack.rb#118 -Prism::Pack::Directive::SIZE_DESCRIPTIONS = T.let(T.unsafe(nil), Hash) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::ENDIAN_NA = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::FLOAT = T.let(T.unsafe(nil), Symbol) - -# The result of parsing a pack template. -# -# source://prism//lib/prism/pack.rb#198 -class Prism::Pack::Format - # Create a new Format with the given directives and encoding. - # - # @return [Format] a new instance of Format - # - # source://prism//lib/prism/pack.rb#206 - def initialize(directives, encoding); end - - # Provide a human-readable description of the format. - # - # source://prism//lib/prism/pack.rb#212 - def describe; end - - # A list of the directives in the template. - # - # source://prism//lib/prism/pack.rb#200 - def directives; end - - # The encoding of the template. - # - # source://prism//lib/prism/pack.rb#203 - def encoding; end -end - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::INTEGER = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::LENGTH_FIXED = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::LENGTH_MAX = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::LENGTH_NA = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::LENGTH_RELATIVE = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::LITTLE_ENDIAN = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::MOVE = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::NATIVE_ENDIAN = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::NULL = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIGNED = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIGNED_NA = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIZE_16 = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIZE_32 = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIZE_64 = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIZE_8 = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIZE_INT = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIZE_LONG = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIZE_LONG_LONG = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIZE_NA = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIZE_P = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SIZE_SHORT = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::SPACE = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_BASE64 = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_FIXED = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_HEX_HIGH = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_HEX_LOW = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_LSB = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_MIME = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_MSB = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_NULL_PADDED = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_NULL_TERMINATED = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_POINTER = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_SPACE_PADDED = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::STRING_UU = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::UNSIGNED = T.let(T.unsafe(nil), Symbol) - -# source://prism//lib/prism/pack.rb#56 -Prism::Pack::UTF8 = T.let(T.unsafe(nil), Symbol) - -# Flags for parameter nodes. -# -# source://prism//lib/prism/node.rb#16725 -module Prism::ParameterFlags; end - -# a parameter name that has been repeated in the method signature -# -# source://prism//lib/prism/node.rb#16727 -Prism::ParameterFlags::REPEATED_PARAMETER = T.let(T.unsafe(nil), Integer) - -# Represents the list of parameters on a method, block, or lambda definition. -# -# def a(b, c, d) -# ^^^^^^^ -# end -# -# source://prism//lib/prism/node.rb#12731 -class Prism::ParametersNode < ::Prism::Node - # Initialize a new ParametersNode node. - # - # @return [ParametersNode] a new instance of ParametersNode - # - # source://prism//lib/prism/node.rb#12733 - def initialize(source, node_id, location, flags, requireds, optionals, rest, posts, keywords, keyword_rest, block); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#12826 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#12748 - def accept(visitor); end - - # attr_reader block: BlockParameterNode? - # - # source://prism//lib/prism/node.rb#12807 - def block; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12753 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#12771 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#12758 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?requireds: Array[RequiredParameterNode | MultiTargetNode], ?optionals: Array[OptionalParameterNode], ?rest: RestParameterNode | ImplicitRestNode | nil, ?posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode], ?keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode], ?keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil, ?block: BlockParameterNode?) -> ParametersNode - # - # source://prism//lib/prism/node.rb#12776 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), requireds: T.unsafe(nil), optionals: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), keywords: T.unsafe(nil), keyword_rest: T.unsafe(nil), block: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12753 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, requireds: Array[RequiredParameterNode | MultiTargetNode], optionals: Array[OptionalParameterNode], rest: RestParameterNode | ImplicitRestNode | nil, posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode], keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode], keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil, block: BlockParameterNode? } - # - # source://prism//lib/prism/node.rb#12784 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#12810 - sig { override.returns(String) } - def inspect; end - - # attr_reader keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil - # - # source://prism//lib/prism/node.rb#12804 - def keyword_rest; end - - # attr_reader keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode] - # - # source://prism//lib/prism/node.rb#12801 - def keywords; end - - # attr_reader optionals: Array[OptionalParameterNode] - # - # source://prism//lib/prism/node.rb#12792 - def optionals; end - - # attr_reader posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode] - # - # source://prism//lib/prism/node.rb#12798 - def posts; end - - # attr_reader requireds: Array[RequiredParameterNode | MultiTargetNode] - # - # source://prism//lib/prism/node.rb#12789 - def requireds; end - - # attr_reader rest: RestParameterNode | ImplicitRestNode | nil - # - # source://prism//lib/prism/node.rb#12795 - def rest; end - - # Mirrors the Method#parameters method. - # - # source://prism//lib/prism/node_ext.rb#269 - sig { returns(T::Array[T.any([Symbol, Symbol], [Symbol])]) } - def signature; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#12815 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#12820 - def type; end - end -end - -# Represents a parenthesized expression -# -# (10 + 34) -# ^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#12846 -class Prism::ParenthesesNode < ::Prism::Node - # Initialize a new ParenthesesNode node. - # - # @return [ParenthesesNode] a new instance of ParenthesesNode - # - # source://prism//lib/prism/node.rb#12848 - def initialize(source, node_id, location, flags, body, opening_loc, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#12937 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#12859 - def accept(visitor); end - - # attr_reader body: Prism::node? - # - # source://prism//lib/prism/node.rb#12894 - def body; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12864 - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#12916 - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#12904 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#12876 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#12869 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Prism::node?, ?opening_loc: Location, ?closing_loc: Location) -> ParenthesesNode - # - # source://prism//lib/prism/node.rb#12881 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), body: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12864 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, body: Prism::node?, opening_loc: Location, closing_loc: Location } - # - # source://prism//lib/prism/node.rb#12889 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#12921 - sig { override.returns(String) } - def inspect; end - - # source://prism//lib/prism/parse_result/newlines.rb#85 - def newline_flag!(lines); end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#12911 - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#12897 - def opening_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#12926 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#12931 - def type; end - end -end - -# This represents an error that was encountered during parsing. -# -# source://prism//lib/prism/parse_result.rb#460 -class Prism::ParseError - # Create a new error object with the given message and location. - # - # @return [ParseError] a new instance of ParseError - # - # source://prism//lib/prism/parse_result.rb#475 - sig { params(type: Symbol, message: String, location: Prism::Location, level: Symbol).void } - def initialize(type, message, location, level); end - - # Implement the hash pattern matching interface for ParseError. - # - # source://prism//lib/prism/parse_result.rb#483 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # Returns a string representation of this error. - # - # source://prism//lib/prism/parse_result.rb#488 - sig { returns(String) } - def inspect; end - - # The level of this error. - # - # source://prism//lib/prism/parse_result.rb#472 - sig { returns(Symbol) } - def level; end - - # A Location object representing the location of this error in the source. - # - # source://prism//lib/prism/parse_result.rb#469 - sig { returns(Prism::Location) } - def location; end - - # The message associated with this error. - # - # source://prism//lib/prism/parse_result.rb#466 - sig { returns(String) } - def message; end - - # The type of error. This is an _internal_ symbol that is used for - # communicating with translation layers. It is not meant to be public API. - # - # source://prism//lib/prism/parse_result.rb#463 - sig { returns(Symbol) } - def type; end -end - -# This is a result specific to the `parse_lex` and `parse_lex_file` methods. -# -# source://prism//lib/prism/parse_result.rb#644 -class Prism::ParseLexResult < ::Prism::Result - # Create a new parse lex result object with the given values. - # - # @return [ParseLexResult] a new instance of ParseLexResult - # - # source://prism//lib/prism/parse_result.rb#650 - sig do - params( - value: [Prism::ProgramNode, T::Array[T.untyped]], - comments: T::Array[Prism::Comment], - magic_comments: T::Array[Prism::MagicComment], - data_loc: T.nilable(Prism::Location), - errors: T::Array[Prism::ParseError], - warnings: T::Array[Prism::ParseWarning], - source: Prism::Source - ).void - end - def initialize(value, comments, magic_comments, data_loc, errors, warnings, source); end - - # Implement the hash pattern matching interface for ParseLexResult. - # - # source://prism//lib/prism/parse_result.rb#656 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # A tuple of the syntax tree and the list of tokens that were parsed from - # the source code. - # - # source://prism//lib/prism/parse_result.rb#647 - sig { returns([Prism::ProgramNode, T::Array[T.untyped]]) } - def value; end -end - -# This is a result specific to the `parse` and `parse_file` methods. -# -# source://prism//lib/prism/parse_result.rb#585 -class Prism::ParseResult < ::Prism::Result - # Create a new parse result object with the given values. - # - # @return [ParseResult] a new instance of ParseResult - # - # source://prism//lib/prism/parse_result.rb#598 - sig do - params( - value: Prism::ProgramNode, - comments: T::Array[Prism::Comment], - magic_comments: T::Array[Prism::MagicComment], - data_loc: T.nilable(Prism::Location), - errors: T::Array[Prism::ParseError], - warnings: T::Array[Prism::ParseWarning], - source: Prism::Source - ).void - end - def initialize(value, comments, magic_comments, data_loc, errors, warnings, source); end - - # Attach the list of comments to their respective locations in the tree. - # - # source://prism//lib/prism/parse_result.rb#609 - def attach_comments!; end - - # Implement the hash pattern matching interface for ParseResult. - # - # source://prism//lib/prism/parse_result.rb#604 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # Returns a string representation of the syntax tree with the errors - # displayed inline. - # - # source://prism//lib/prism/parse_result.rb#621 - def errors_format; end - - # Walk the tree and mark nodes that are on a new line, loosely emulating - # the behavior of CRuby's `:line` tracepoint event. - # - # source://prism//lib/prism/parse_result.rb#615 - def mark_newlines!; end - - # The syntax tree that was parsed from the source code. - # - # source://prism//lib/prism/parse_result.rb#595 - sig { returns(Prism::ProgramNode) } - def value; end -end - -# When we've parsed the source, we have both the syntax tree and the list of -# comments that we found in the source. This class is responsible for -# walking the tree and finding the nearest location to attach each comment. -# -# It does this by first finding the nearest locations to each comment. -# Locations can either come from nodes directly or from location fields on -# nodes. For example, a `ClassNode` has an overall location encompassing the -# entire class, but it also has a location for the `class` keyword. -# -# Once the nearest locations are found, it determines which one to attach -# to. If it's a trailing comment (a comment on the same line as other source -# code), it will favor attaching to the nearest location that occurs before -# the comment. Otherwise it will favor attaching to the nearest location -# that is after the comment. -# -# source://prism//lib/prism/parse_result/comments.rb#19 -class Prism::ParseResult::Comments - # Create a new Comments object that will attach comments to the given - # parse result. - # - # @return [Comments] a new instance of Comments - # - # source://prism//lib/prism/parse_result/comments.rb#86 - def initialize(parse_result); end - - # Attach the comments to their respective locations in the tree by - # mutating the parse result. - # - # source://prism//lib/prism/parse_result/comments.rb#92 - def attach!; end - - # The parse result that we are attaching comments to. - # - # source://prism//lib/prism/parse_result/comments.rb#82 - def parse_result; end - - private - - # Responsible for finding the nearest targets to the given comment within - # the context of the given encapsulating node. - # - # source://prism//lib/prism/parse_result/comments.rb#119 - def nearest_targets(node, comment); end -end - -# A target for attaching comments that is based on a location field on a -# node. For example, the `end` token of a ClassNode. -# -# source://prism//lib/prism/parse_result/comments.rb#53 -class Prism::ParseResult::Comments::LocationTarget - # @return [LocationTarget] a new instance of LocationTarget - # - # source://prism//lib/prism/parse_result/comments.rb#56 - def initialize(location); end - - # @return [Boolean] - # - # source://prism//lib/prism/parse_result/comments.rb#68 - def encloses?(comment); end - - # source://prism//lib/prism/parse_result/comments.rb#64 - def end_offset; end - - # source://prism//lib/prism/parse_result/comments.rb#72 - def leading_comment(comment); end - - # source://prism//lib/prism/parse_result/comments.rb#54 - def location; end - - # source://prism//lib/prism/parse_result/comments.rb#60 - def start_offset; end - - # source://prism//lib/prism/parse_result/comments.rb#76 - def trailing_comment(comment); end -end - -# A target for attaching comments that is based on a specific node's -# location. -# -# source://prism//lib/prism/parse_result/comments.rb#22 -class Prism::ParseResult::Comments::NodeTarget - # @return [NodeTarget] a new instance of NodeTarget - # - # source://prism//lib/prism/parse_result/comments.rb#25 - def initialize(node); end - - # @return [Boolean] - # - # source://prism//lib/prism/parse_result/comments.rb#37 - def encloses?(comment); end - - # source://prism//lib/prism/parse_result/comments.rb#33 - def end_offset; end - - # source://prism//lib/prism/parse_result/comments.rb#42 - def leading_comment(comment); end - - # source://prism//lib/prism/parse_result/comments.rb#23 - def node; end - - # source://prism//lib/prism/parse_result/comments.rb#29 - def start_offset; end - - # source://prism//lib/prism/parse_result/comments.rb#46 - def trailing_comment(comment); end -end - -# An object to represent the set of errors on a parse result. This object -# can be used to format the errors in a human-readable way. -# -# source://prism//lib/prism/parse_result/errors.rb#9 -class Prism::ParseResult::Errors - # Initialize a new set of errors from the given parse result. - # - # @return [Errors] a new instance of Errors - # - # source://prism//lib/prism/parse_result/errors.rb#14 - def initialize(parse_result); end - - # Formats the errors in a human-readable way and return them as a string. - # - # source://prism//lib/prism/parse_result/errors.rb#19 - def format; end - - # The parse result that contains the errors. - # - # source://prism//lib/prism/parse_result/errors.rb#11 - def parse_result; end -end - -# The :line tracepoint event gets fired whenever the Ruby VM encounters an -# expression on a new line. The types of expressions that can trigger this -# event are: -# -# * if statements -# * unless statements -# * nodes that are children of statements lists -# -# In order to keep track of the newlines, we have a list of offsets that -# come back from the parser. We assign these offsets to the first nodes that -# we find in the tree that are on those lines. -# -# Note that the logic in this file should be kept in sync with the Java -# MarkNewlinesVisitor, since that visitor is responsible for marking the -# newlines for JRuby/TruffleRuby. -# -# This file is autoloaded only when `mark_newlines!` is called, so the -# re-opening of the various nodes in this file will only be performed in -# that case. We do that to avoid storing the extra `@newline` instance -# variable on every node if we don't need it. -# -# source://prism//lib/prism/parse_result/newlines.rb#25 -class Prism::ParseResult::Newlines < ::Prism::Visitor - # Create a new Newlines visitor with the given newline offsets. - # - # @return [Newlines] a new instance of Newlines - # - # source://prism//lib/prism/parse_result/newlines.rb#27 - def initialize(lines); end - - # Permit block/lambda nodes to mark newlines within themselves. - # - # source://prism//lib/prism/parse_result/newlines.rb#33 - def visit_block_node(node); end - - # Mark if/unless nodes as newlines. - # - # source://prism//lib/prism/parse_result/newlines.rb#47 - def visit_if_node(node); end - - # Permit block/lambda nodes to mark newlines within themselves. - # - # source://prism//lib/prism/parse_result/newlines.rb#33 - def visit_lambda_node(node); end - - # Permit statements lists to mark newlines within themselves. - # - # source://prism//lib/prism/parse_result/newlines.rb#55 - def visit_statements_node(node); end - - # Mark if/unless nodes as newlines. - # - # source://prism//lib/prism/parse_result/newlines.rb#47 - def visit_unless_node(node); end -end - -# This represents a warning that was encountered during parsing. -# -# source://prism//lib/prism/parse_result.rb#494 -class Prism::ParseWarning - # Create a new warning object with the given message and location. - # - # @return [ParseWarning] a new instance of ParseWarning - # - # source://prism//lib/prism/parse_result.rb#509 - sig { params(type: Symbol, message: String, location: Prism::Location, level: Symbol).void } - def initialize(type, message, location, level); end - - # Implement the hash pattern matching interface for ParseWarning. - # - # source://prism//lib/prism/parse_result.rb#517 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # Returns a string representation of this warning. - # - # source://prism//lib/prism/parse_result.rb#522 - sig { returns(String) } - def inspect; end - - # The level of this warning. - # - # source://prism//lib/prism/parse_result.rb#506 - sig { returns(Symbol) } - def level; end - - # A Location object representing the location of this warning in the source. - # - # source://prism//lib/prism/parse_result.rb#503 - sig { returns(Prism::Location) } - def location; end - - # The message associated with this warning. - # - # source://prism//lib/prism/parse_result.rb#500 - sig { returns(String) } - def message; end - - # The type of warning. This is an _internal_ symbol that is used for - # communicating with translation layers. It is not meant to be public API. - # - # source://prism//lib/prism/parse_result.rb#497 - sig { returns(Symbol) } - def type; end -end - -# A pattern is an object that wraps a Ruby pattern matching expression. The -# expression would normally be passed to an `in` clause within a `case` -# expression or a rightward assignment expression. For example, in the -# following snippet: -# -# case node -# in ConstantPathNode[ConstantReadNode[name: :Prism], ConstantReadNode[name: :Pattern]] -# end -# -# the pattern is the <tt>ConstantPathNode[...]</tt> expression. -# -# The pattern gets compiled into an object that responds to #call by running -# the #compile method. This method itself will run back through Prism to -# parse the expression into a tree, then walk the tree to generate the -# necessary callable objects. For example, if you wanted to compile the -# expression above into a callable, you would: -# -# callable = Prism::Pattern.new("ConstantPathNode[ConstantReadNode[name: :Prism], ConstantReadNode[name: :Pattern]]").compile -# callable.call(node) -# -# The callable object returned by #compile is guaranteed to respond to #call -# with a single argument, which is the node to match against. It also is -# guaranteed to respond to #===, which means it itself can be used in a `case` -# expression, as in: -# -# case node -# when callable -# end -# -# If the query given to the initializer cannot be compiled into a valid -# matcher (either because of a syntax error or because it is using syntax we -# do not yet support) then a Prism::Pattern::CompilationError will be -# raised. -# -# source://prism//lib/prism/pattern.rb#37 -class Prism::Pattern - # Create a new pattern with the given query. The query should be a string - # containing a Ruby pattern matching expression. - # - # @return [Pattern] a new instance of Pattern - # - # source://prism//lib/prism/pattern.rb#63 - def initialize(query); end - - # Compile the query into a callable object that can be used to match against - # nodes. - # - # @raise [CompilationError] - # - # source://prism//lib/prism/pattern.rb#70 - def compile; end - - # The query that this pattern was initialized with. - # - # source://prism//lib/prism/pattern.rb#59 - def query; end - - # Scan the given node and all of its children for nodes that match the - # pattern. If a block is given, it will be called with each node that - # matches the pattern. If no block is given, an enumerator will be returned - # that will yield each node that matches the pattern. - # - # source://prism//lib/prism/pattern.rb#86 - def scan(root); end - - private - - # Shortcut for combining two procs into one that returns true if both return - # true. - # - # source://prism//lib/prism/pattern.rb#102 - def combine_and(left, right); end - - # Shortcut for combining two procs into one that returns true if either - # returns true. - # - # source://prism//lib/prism/pattern.rb#108 - def combine_or(left, right); end - - # in foo | bar - # - # source://prism//lib/prism/pattern.rb#143 - def compile_alternation_pattern_node(node); end - - # in [foo, bar, baz] - # - # source://prism//lib/prism/pattern.rb#118 - def compile_array_pattern_node(node); end - - # Compile a name associated with a constant. - # - # source://prism//lib/prism/pattern.rb#168 - def compile_constant_name(node, name); end - - # in Prism::ConstantReadNode - # - # source://prism//lib/prism/pattern.rb#148 - def compile_constant_path_node(node); end - - # in ConstantReadNode - # in String - # - # source://prism//lib/prism/pattern.rb#163 - def compile_constant_read_node(node); end - - # Raise an error because the given node is not supported. - # - # @raise [CompilationError] - # - # source://prism//lib/prism/pattern.rb#113 - def compile_error(node); end - - # in InstanceVariableReadNode[name: Symbol] - # in { name: Symbol } - # - # source://prism//lib/prism/pattern.rb#184 - def compile_hash_pattern_node(node); end - - # in nil - # - # source://prism//lib/prism/pattern.rb#214 - def compile_nil_node(node); end - - # Compile any kind of node. Dispatch out to the individual compilation - # methods based on the type of node. - # - # source://prism//lib/prism/pattern.rb#243 - def compile_node(node); end - - # in /foo/ - # - # source://prism//lib/prism/pattern.rb#219 - def compile_regular_expression_node(node); end - - # in "" - # in "foo" - # - # source://prism//lib/prism/pattern.rb#227 - def compile_string_node(node); end - - # in :+ - # in :foo - # - # source://prism//lib/prism/pattern.rb#235 - def compile_symbol_node(node); end -end - -# Raised when the query given to a pattern is either invalid Ruby syntax or -# is using syntax that we don't yet support. -# -# source://prism//lib/prism/pattern.rb#40 -class Prism::Pattern::CompilationError < ::StandardError - # Create a new CompilationError with the given representation of the node - # that caused the error. - # - # @return [CompilationError] a new instance of CompilationError - # - # source://prism//lib/prism/pattern.rb#43 - def initialize(repr); end -end - -# Represents the use of the `^` operator for pinning an expression in a pattern matching expression. -# -# foo in ^(bar) -# ^^^^^^ -# -# source://prism//lib/prism/node.rb#12949 -class Prism::PinnedExpressionNode < ::Prism::Node - # Initialize a new PinnedExpressionNode node. - # - # @return [PinnedExpressionNode] a new instance of PinnedExpressionNode - # - # source://prism//lib/prism/node.rb#12951 - def initialize(source, node_id, location, flags, expression, operator_loc, lparen_loc, rparen_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#13051 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#12963 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12968 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#12978 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#12973 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?operator_loc: Location, ?lparen_loc: Location, ?rparen_loc: Location) -> PinnedExpressionNode - # - # source://prism//lib/prism/node.rb#12983 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), expression: T.unsafe(nil), operator_loc: T.unsafe(nil), lparen_loc: T.unsafe(nil), rparen_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#12968 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location } - # - # source://prism//lib/prism/node.rb#12991 - def deconstruct_keys(keys); end - - # attr_reader expression: Prism::node - # - # source://prism//lib/prism/node.rb#12996 - def expression; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#13035 - sig { override.returns(String) } - def inspect; end - - # def lparen: () -> String - # - # source://prism//lib/prism/node.rb#13025 - def lparen; end - - # attr_reader lparen_loc: Location - # - # source://prism//lib/prism/node.rb#13006 - def lparen_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#13020 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#12999 - def operator_loc; end - - # def rparen: () -> String - # - # source://prism//lib/prism/node.rb#13030 - def rparen; end - - # attr_reader rparen_loc: Location - # - # source://prism//lib/prism/node.rb#13013 - def rparen_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#13040 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#13045 - def type; end - end -end - -# Represents the use of the `^` operator for pinning a variable in a pattern matching expression. -# -# foo in ^bar -# ^^^^ -# -# source://prism//lib/prism/node.rb#13064 -class Prism::PinnedVariableNode < ::Prism::Node - # Initialize a new PinnedVariableNode node. - # - # @return [PinnedVariableNode] a new instance of PinnedVariableNode - # - # source://prism//lib/prism/node.rb#13066 - def initialize(source, node_id, location, flags, variable, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#13140 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#13076 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13081 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#13091 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#13086 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?variable: Prism::node, ?operator_loc: Location) -> PinnedVariableNode - # - # source://prism//lib/prism/node.rb#13096 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), variable: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13081 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, variable: Prism::node, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#13104 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#13124 - sig { override.returns(String) } - def inspect; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#13119 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#13112 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#13129 - sig { override.returns(Symbol) } - def type; end - - # attr_reader variable: Prism::node - # - # source://prism//lib/prism/node.rb#13109 - def variable; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#13134 - def type; end - end -end - -# Represents the use of the `END` keyword. -# -# END { foo } -# ^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#13151 -class Prism::PostExecutionNode < ::Prism::Node - # Initialize a new PostExecutionNode node. - # - # @return [PostExecutionNode] a new instance of PostExecutionNode - # - # source://prism//lib/prism/node.rb#13153 - def initialize(source, node_id, location, flags, statements, keyword_loc, opening_loc, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#13255 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#13165 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13170 - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#13234 - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#13217 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#13182 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#13175 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PostExecutionNode - # - # source://prism//lib/prism/node.rb#13187 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), statements: T.unsafe(nil), keyword_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13170 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location } - # - # source://prism//lib/prism/node.rb#13195 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#13239 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#13224 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#13203 - def keyword_loc; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#13229 - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#13210 - def opening_loc; end - - # attr_reader statements: StatementsNode? - # - # source://prism//lib/prism/node.rb#13200 - def statements; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#13244 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#13249 - def type; end - end -end - -# Represents the use of the `BEGIN` keyword. -# -# BEGIN { foo } -# ^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#13268 -class Prism::PreExecutionNode < ::Prism::Node - # Initialize a new PreExecutionNode node. - # - # @return [PreExecutionNode] a new instance of PreExecutionNode - # - # source://prism//lib/prism/node.rb#13270 - def initialize(source, node_id, location, flags, statements, keyword_loc, opening_loc, closing_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#13372 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#13282 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13287 - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#13351 - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#13334 - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#13299 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#13292 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PreExecutionNode - # - # source://prism//lib/prism/node.rb#13304 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), statements: T.unsafe(nil), keyword_loc: T.unsafe(nil), opening_loc: T.unsafe(nil), closing_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13287 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location } - # - # source://prism//lib/prism/node.rb#13312 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#13356 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#13341 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#13320 - def keyword_loc; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#13346 - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#13327 - def opening_loc; end - - # attr_reader statements: StatementsNode? - # - # source://prism//lib/prism/node.rb#13317 - def statements; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#13361 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#13366 - def type; end - end -end - -# The top level node of any parse tree. -# -# source://prism//lib/prism/node.rb#13382 -class Prism::ProgramNode < ::Prism::Node - # Initialize a new ProgramNode node. - # - # @return [ProgramNode] a new instance of ProgramNode - # - # source://prism//lib/prism/node.rb#13384 - def initialize(source, node_id, location, flags, locals, statements); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#13449 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#13394 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13399 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#13409 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#13404 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?statements: StatementsNode) -> ProgramNode - # - # source://prism//lib/prism/node.rb#13414 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), statements: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13399 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], statements: StatementsNode } - # - # source://prism//lib/prism/node.rb#13422 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#13433 - sig { override.returns(String) } - def inspect; end - - # attr_reader locals: Array[Symbol] - # - # source://prism//lib/prism/node.rb#13427 - def locals; end - - # attr_reader statements: StatementsNode - # - # source://prism//lib/prism/node.rb#13430 - def statements; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#13438 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#13443 - def type; end - end -end - -# Flags for range and flip-flop nodes. -# -# source://prism//lib/prism/node.rb#16731 -module Prism::RangeFlags; end - -# ... operator -# -# source://prism//lib/prism/node.rb#16733 -Prism::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://prism//lib/prism/node.rb#13464 -class Prism::RangeNode < ::Prism::Node - # Initialize a new RangeNode node. - # - # @return [RangeNode] a new instance of RangeNode - # - # source://prism//lib/prism/node.rb#13466 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - left: T.nilable(Prism::Node), - right: T.nilable(Prism::Node), - operator_loc: Prism::Location - ).void - end - def initialize(source, node_id, location, flags, left, right, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#13565 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#13477 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13482 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#13495 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#13487 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> RangeNode - # - # source://prism//lib/prism/node.rb#13500 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - left: T.nilable(Prism::Node), - right: T.nilable(Prism::Node), - operator_loc: Prism::Location - ).returns(Prism::RangeNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), left: T.unsafe(nil), right: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13482 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, left: Prism::node?, right: Prism::node?, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#13508 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # def exclude_end?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13513 - sig { returns(T::Boolean) } - def exclude_end?; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#13549 - sig { override.returns(String) } - def inspect; end - - # The left-hand side of the range, if present. It can be either `nil` or any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # 1... - # ^ - # - # hello...goodbye - # ^^^^^ - # - # source://prism//lib/prism/node.rb#13524 - sig { returns(T.nilable(Prism::Node)) } - def left; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#13544 - sig { returns(String) } - def operator; end - - # The location of the `..` or `...` operator. - # - # source://prism//lib/prism/node.rb#13537 - sig { returns(Prism::Location) } - def operator_loc; end - - # The right-hand side of the range, if present. It can be either `nil` or any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # ..5 - # ^ - # - # 1...foo - # ^^^ - # If neither right-hand or left-hand side was included, this will be a MissingNode. - # - # source://prism//lib/prism/node.rb#13534 - sig { returns(T.nilable(Prism::Node)) } - def right; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#13554 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#13559 - def type; end - end -end - -# Represents a rational number literal. -# -# 1.0r -# ^^^^ -# -# source://prism//lib/prism/node.rb#13578 -class Prism::RationalNode < ::Prism::Node - # Initialize a new RationalNode node. - # - # @return [RationalNode] a new instance of RationalNode - # - # source://prism//lib/prism/node.rb#13580 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - numerator: Integer, - denominator: Integer - ).void - end - def initialize(source, node_id, location, flags, numerator, denominator); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#13669 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#13590 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def binary?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13623 - sig { returns(T::Boolean) } - def binary?; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13595 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#13605 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#13600 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?numerator: Integer, ?denominator: Integer) -> RationalNode - # - # source://prism//lib/prism/node.rb#13610 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - numerator: Integer, - denominator: Integer - ).returns(Prism::RationalNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), numerator: T.unsafe(nil), denominator: T.unsafe(nil)); end - - # def decimal?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13628 - sig { returns(T::Boolean) } - def decimal?; end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13595 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, numerator: Integer, denominator: Integer } - # - # source://prism//lib/prism/node.rb#13618 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # The denominator of the rational number. - # - # 1.5r # denominator 2 - # - # source://prism//lib/prism/node.rb#13650 - sig { returns(Integer) } - def denominator; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def hexadecimal?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13638 - sig { returns(T::Boolean) } - def hexadecimal?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#13653 - sig { override.returns(String) } - def inspect; end - - # The numerator of the rational number. - # - # 1.5r # numerator 3 - # - # source://prism//lib/prism/node.rb#13645 - sig { returns(Integer) } - def numerator; end - - # Returns the value of the node as an IntegerNode or a FloatNode. This - # method is deprecated in favor of #value or #numerator/#denominator. - # - # source://prism//lib/prism/node_ext.rb#120 - def numeric; end - - # def octal?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13633 - sig { returns(T::Boolean) } - def octal?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#13658 - sig { override.returns(Symbol) } - def type; end - - # Returns the value of the node as a Ruby Rational. - # - # source://prism//lib/prism/node_ext.rb#114 - sig { returns(Rational) } - def value; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#13663 - def type; end - end -end - -# Represents the use of the `redo` keyword. -# -# redo -# ^^^^ -# -# source://prism//lib/prism/node.rb#13681 -class Prism::RedoNode < ::Prism::Node - # Initialize a new RedoNode node. - # - # @return [RedoNode] a new instance of RedoNode - # - # source://prism//lib/prism/node.rb#13683 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#13740 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#13691 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13696 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#13706 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#13701 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RedoNode - # - # source://prism//lib/prism/node.rb#13711 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13696 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#13719 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#13724 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#13729 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#13734 - def type; end - end -end - -# The Reflection module provides the ability to reflect on the structure of -# the syntax tree itself, as opposed to looking at a single syntax tree. This -# is useful in metaprogramming contexts. -# -# source://prism//lib/prism/reflection.rb#13 -module Prism::Reflection - class << self - # Returns the fields for the given node. - # - # source://prism//lib/prism/reflection.rb#104 - sig { params(node: T.class_of(Prism::Node)).returns(T::Array[Prism::Reflection::Field]) } - def fields_for(node); end - end -end - -# A constant field represents a constant value on a node. Effectively, it -# represents an identifier found within the source. It resolves to a symbol -# in Ruby. -# -# source://prism//lib/prism/reflection.rb#45 -class Prism::Reflection::ConstantField < ::Prism::Reflection::Field; end - -# A constant list field represents a list of constant values on a node. It -# resolves to an array of symbols in Ruby. -# -# source://prism//lib/prism/reflection.rb#55 -class Prism::Reflection::ConstantListField < ::Prism::Reflection::Field; end - -# A field represents a single piece of data on a node. It is the base class -# for all other field types. -# -# source://prism//lib/prism/reflection.rb#16 -class Prism::Reflection::Field - # Initializes the field with the given name. - # - # @return [Field] a new instance of Field - # - # source://prism//lib/prism/reflection.rb#21 - sig { params(name: Symbol).void } - def initialize(name); end - - # The name of the field. - # - # source://prism//lib/prism/reflection.rb#18 - sig { returns(Symbol) } - def name; end -end - -# A flags field represents a bitset of flags on a node. It resolves to an -# integer in Ruby. Note that the flags cannot be accessed directly on the -# node because the integer is kept private. Instead, the various flags in -# the bitset should be accessed through their query methods. -# -# source://prism//lib/prism/reflection.rb#92 -class Prism::Reflection::FlagsField < ::Prism::Reflection::Field - # Initializes the flags field with the given name and flags. - # - # @return [FlagsField] a new instance of FlagsField - # - # source://prism//lib/prism/reflection.rb#97 - sig { params(name: Symbol, flags: T::Array[Symbol]).void } - def initialize(name, flags); end - - # The names of the flags in the bitset. - # - # source://prism//lib/prism/reflection.rb#94 - sig { returns(T::Array[Symbol]) } - def flags; end -end - -# A float field represents a double-precision floating point value. It is -# used exclusively to represent the value of a floating point literal. It -# resolves to a Float in Ruby. -# -# source://prism//lib/prism/reflection.rb#85 -class Prism::Reflection::FloatField < ::Prism::Reflection::Field; end - -# An integer field represents an integer value. It is used to represent the -# value of an integer literal, the depth of local variables, and the number -# of a numbered reference. It resolves to an Integer in Ruby. -# -# source://prism//lib/prism/reflection.rb#79 -class Prism::Reflection::IntegerField < ::Prism::Reflection::Field; end - -# A location field represents the location of some part of the node in the -# source code. For example, the location of a keyword or an operator. It -# resolves to a Prism::Location in Ruby. -# -# source://prism//lib/prism/reflection.rb#67 -class Prism::Reflection::LocationField < ::Prism::Reflection::Field; end - -# A node field represents a single child node in the syntax tree. It -# resolves to a Prism::Node in Ruby. -# -# source://prism//lib/prism/reflection.rb#28 -class Prism::Reflection::NodeField < ::Prism::Reflection::Field; end - -# A node list field represents a list of child nodes in the syntax tree. It -# resolves to an array of Prism::Node instances in Ruby. -# -# source://prism//lib/prism/reflection.rb#39 -class Prism::Reflection::NodeListField < ::Prism::Reflection::Field; end - -# An optional constant field represents a constant value on a node that may -# or may not be present. It resolves to either a symbol or nil in Ruby. -# -# source://prism//lib/prism/reflection.rb#50 -class Prism::Reflection::OptionalConstantField < ::Prism::Reflection::Field; end - -# An optional location field represents the location of some part of the -# node in the source code that may or may not be present. It resolves to -# either a Prism::Location or nil in Ruby. -# -# source://prism//lib/prism/reflection.rb#73 -class Prism::Reflection::OptionalLocationField < ::Prism::Reflection::Field; end - -# An optional node field represents a single child node in the syntax tree -# that may or may not be present. It resolves to either a Prism::Node or nil -# in Ruby. -# -# source://prism//lib/prism/reflection.rb#34 -class Prism::Reflection::OptionalNodeField < ::Prism::Reflection::Field; end - -# A string field represents a string value on a node. It almost always -# represents the unescaped value of a string-like literal. It resolves to a -# string in Ruby. -# -# source://prism//lib/prism/reflection.rb#61 -class Prism::Reflection::StringField < ::Prism::Reflection::Field; end - -# Flags for regular expression and match last line nodes. -# -# source://prism//lib/prism/node.rb#16737 -module Prism::RegularExpressionFlags; end - -# n - forces the ASCII-8BIT encoding -# -# source://prism//lib/prism/node.rb#16754 -Prism::RegularExpressionFlags::ASCII_8BIT = T.let(T.unsafe(nil), Integer) - -# e - forces the EUC-JP encoding -# -# source://prism//lib/prism/node.rb#16751 -Prism::RegularExpressionFlags::EUC_JP = T.let(T.unsafe(nil), Integer) - -# x - ignores whitespace and allows comments in regular expressions -# -# source://prism//lib/prism/node.rb#16742 -Prism::RegularExpressionFlags::EXTENDED = T.let(T.unsafe(nil), Integer) - -# internal bytes forced the encoding to binary -# -# source://prism//lib/prism/node.rb#16766 -Prism::RegularExpressionFlags::FORCED_BINARY_ENCODING = T.let(T.unsafe(nil), Integer) - -# internal bytes forced the encoding to US-ASCII -# -# source://prism//lib/prism/node.rb#16769 -Prism::RegularExpressionFlags::FORCED_US_ASCII_ENCODING = T.let(T.unsafe(nil), Integer) - -# internal bytes forced the encoding to UTF-8 -# -# source://prism//lib/prism/node.rb#16763 -Prism::RegularExpressionFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer) - -# i - ignores the case of characters when matching -# -# source://prism//lib/prism/node.rb#16739 -Prism::RegularExpressionFlags::IGNORE_CASE = T.let(T.unsafe(nil), Integer) - -# m - allows $ to match the end of lines within strings -# -# source://prism//lib/prism/node.rb#16745 -Prism::RegularExpressionFlags::MULTI_LINE = T.let(T.unsafe(nil), Integer) - -# o - only interpolates values into the regular expression once -# -# source://prism//lib/prism/node.rb#16748 -Prism::RegularExpressionFlags::ONCE = T.let(T.unsafe(nil), Integer) - -# u - forces the UTF-8 encoding -# -# source://prism//lib/prism/node.rb#16760 -Prism::RegularExpressionFlags::UTF_8 = T.let(T.unsafe(nil), Integer) - -# s - forces the Windows-31J encoding -# -# source://prism//lib/prism/node.rb#16757 -Prism::RegularExpressionFlags::WINDOWS_31J = T.let(T.unsafe(nil), Integer) - -# Represents a regular expression literal with no interpolation. -# -# /foo/i -# ^^^^^^ -# -# source://prism//lib/prism/node.rb#13749 -class Prism::RegularExpressionNode < ::Prism::Node - include ::Prism::RegularExpressionOptions - - # Initialize a new RegularExpressionNode node. - # - # @return [RegularExpressionNode] a new instance of RegularExpressionNode - # - # source://prism//lib/prism/node.rb#13751 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - content_loc: Prism::Location, - closing_loc: Prism::Location, - unescaped: String - ).void - end - def initialize(source, node_id, location, flags, opening_loc, content_loc, closing_loc, unescaped); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#13906 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#13763 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def ascii_8bit?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13821 - sig { returns(T::Boolean) } - def ascii_8bit?; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13768 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#13885 - sig { returns(String) } - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#13865 - sig { returns(Prism::Location) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#13778 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#13773 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def content: () -> String - # - # source://prism//lib/prism/node.rb#13880 - sig { returns(String) } - def content; end - - # attr_reader content_loc: Location - # - # source://prism//lib/prism/node.rb#13858 - sig { returns(Prism::Location) } - def content_loc; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> RegularExpressionNode - # - # source://prism//lib/prism/node.rb#13783 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - content_loc: Prism::Location, - closing_loc: Prism::Location, - unescaped: String - ).returns(Prism::RegularExpressionNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), content_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), unescaped: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13768 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String } - # - # source://prism//lib/prism/node.rb#13791 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # def euc_jp?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13816 - sig { returns(T::Boolean) } - def euc_jp?; end - - # def extended?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13801 - sig { returns(T::Boolean) } - def extended?; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def forced_binary_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13841 - sig { returns(T::Boolean) } - def forced_binary_encoding?; end - - # def forced_us_ascii_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13846 - sig { returns(T::Boolean) } - def forced_us_ascii_encoding?; end - - # def forced_utf8_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13836 - sig { returns(T::Boolean) } - def forced_utf8_encoding?; end - - # def ignore_case?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13796 - sig { returns(T::Boolean) } - def ignore_case?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#13890 - sig { override.returns(String) } - def inspect; end - - # def multi_line?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13806 - sig { returns(T::Boolean) } - def multi_line?; end - - # def once?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13811 - sig { returns(T::Boolean) } - def once?; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#13875 - sig { returns(String) } - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#13851 - sig { returns(Prism::Location) } - def opening_loc; end - - sig { returns(Integer) } - def options; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#13895 - sig { override.returns(Symbol) } - def type; end - - # attr_reader unescaped: String - # - # source://prism//lib/prism/node.rb#13872 - sig { returns(String) } - def unescaped; end - - # def utf_8?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13831 - sig { returns(T::Boolean) } - def utf_8?; end - - # def windows_31j?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13826 - sig { returns(T::Boolean) } - def windows_31j?; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#13900 - def type; end - end -end - -# source://prism//lib/prism/node_ext.rb#20 -module Prism::RegularExpressionOptions - # Returns a numeric value that represents the flags that were used to create - # the regular expression. - # - # source://prism//lib/prism/node_ext.rb#23 - def options; end -end - -# Represents a required keyword parameter to a method, block, or lambda definition. -# -# def a(b: ) -# ^^ -# end -# -# source://prism//lib/prism/node.rb#13921 -class Prism::RequiredKeywordParameterNode < ::Prism::Node - # Initialize a new RequiredKeywordParameterNode node. - # - # @return [RequiredKeywordParameterNode] a new instance of RequiredKeywordParameterNode - # - # source://prism//lib/prism/node.rb#13923 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location - ).void - end - def initialize(source, node_id, location, flags, name, name_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#13997 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#13933 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13938 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#13948 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#13943 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location) -> RequiredKeywordParameterNode - # - # source://prism//lib/prism/node.rb#13953 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol, - name_loc: Prism::Location - ).returns(Prism::RequiredKeywordParameterNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#13938 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol, name_loc: Location } - # - # source://prism//lib/prism/node.rb#13961 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#13981 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#13971 - sig { returns(Symbol) } - def name; end - - # attr_reader name_loc: Location - # - # source://prism//lib/prism/node.rb#13974 - sig { returns(Prism::Location) } - def name_loc; end - - # def repeated_parameter?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#13966 - sig { returns(T::Boolean) } - def repeated_parameter?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#13986 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#13991 - def type; end - end -end - -# Represents a required parameter to a method, block, or lambda definition. -# -# def a(b) -# ^ -# end -# -# source://prism//lib/prism/node.rb#14010 -class Prism::RequiredParameterNode < ::Prism::Node - # Initialize a new RequiredParameterNode node. - # - # @return [RequiredParameterNode] a new instance of RequiredParameterNode - # - # source://prism//lib/prism/node.rb#14012 - sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer, name: Symbol).void } - def initialize(source, node_id, location, flags, name); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#14078 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#14021 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14026 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#14036 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#14031 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> RequiredParameterNode - # - # source://prism//lib/prism/node.rb#14041 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: Symbol - ).returns(Prism::RequiredParameterNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14026 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol } - # - # source://prism//lib/prism/node.rb#14049 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#14062 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol - # - # source://prism//lib/prism/node.rb#14059 - sig { returns(Symbol) } - def name; end - - # def repeated_parameter?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#14054 - sig { returns(T::Boolean) } - def repeated_parameter?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#14067 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#14072 - def type; end - end -end - -# Represents an expression modified with a rescue. -# -# foo rescue nil -# ^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#14089 -class Prism::RescueModifierNode < ::Prism::Node - # Initialize a new RescueModifierNode node. - # - # @return [RescueModifierNode] a new instance of RescueModifierNode - # - # source://prism//lib/prism/node.rb#14091 - def initialize(source, node_id, location, flags, expression, keyword_loc, rescue_expression); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#14169 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#14102 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14107 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#14117 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#14112 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?keyword_loc: Location, ?rescue_expression: Prism::node) -> RescueModifierNode - # - # source://prism//lib/prism/node.rb#14122 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), expression: T.unsafe(nil), keyword_loc: T.unsafe(nil), rescue_expression: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14107 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, expression: Prism::node, keyword_loc: Location, rescue_expression: Prism::node } - # - # source://prism//lib/prism/node.rb#14130 - def deconstruct_keys(keys); end - - # attr_reader expression: Prism::node - # - # source://prism//lib/prism/node.rb#14135 - def expression; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#14153 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#14148 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#14138 - def keyword_loc; end - - # source://prism//lib/prism/parse_result/newlines.rb#115 - def newline_flag!(lines); end - - # attr_reader rescue_expression: Prism::node - # - # source://prism//lib/prism/node.rb#14145 - def rescue_expression; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#14158 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#14163 - def type; end - 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://prism//lib/prism/node.rb#14186 -class Prism::RescueNode < ::Prism::Node - # Initialize a new RescueNode node. - # - # @return [RescueNode] a new instance of RescueNode - # - # source://prism//lib/prism/node.rb#14188 - def initialize(source, node_id, location, flags, keyword_loc, exceptions, operator_loc, reference, statements, subsequent); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#14298 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#14202 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14207 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#14222 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#14212 - def compact_child_nodes; end - - # Returns the subsequent rescue clause of the rescue node. This method is - # deprecated in favor of #subsequent. - # - # source://prism//lib/prism/node_ext.rb#494 - def consequent; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?exceptions: Array[Prism::node], ?operator_loc: Location?, ?reference: Prism::node?, ?statements: StatementsNode?, ?subsequent: RescueNode?) -> RescueNode - # - # source://prism//lib/prism/node.rb#14227 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), exceptions: T.unsafe(nil), operator_loc: T.unsafe(nil), reference: T.unsafe(nil), statements: T.unsafe(nil), subsequent: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14207 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, exceptions: Array[Prism::node], operator_loc: Location?, reference: Prism::node?, statements: StatementsNode?, subsequent: RescueNode? } - # - # source://prism//lib/prism/node.rb#14235 - def deconstruct_keys(keys); end - - # attr_reader exceptions: Array[Prism::node] - # - # source://prism//lib/prism/node.rb#14247 - def exceptions; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#14282 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#14272 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#14240 - def keyword_loc; end - - # def operator: () -> String? - # - # source://prism//lib/prism/node.rb#14277 - def operator; end - - # attr_reader operator_loc: Location? - # - # source://prism//lib/prism/node.rb#14250 - def operator_loc; end - - # attr_reader reference: Prism::node? - # - # source://prism//lib/prism/node.rb#14263 - def reference; end - - # attr_reader statements: StatementsNode? - # - # source://prism//lib/prism/node.rb#14266 - def statements; end - - # attr_reader subsequent: RescueNode? - # - # source://prism//lib/prism/node.rb#14269 - def subsequent; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#14287 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#14292 - def type; end - end -end - -# Represents a rest parameter to a method, block, or lambda definition. -# -# def a(*b) -# ^^ -# end -# -# source://prism//lib/prism/node.rb#14315 -class Prism::RestParameterNode < ::Prism::Node - # Initialize a new RestParameterNode node. - # - # @return [RestParameterNode] a new instance of RestParameterNode - # - # source://prism//lib/prism/node.rb#14317 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: T.nilable(Symbol), - name_loc: T.nilable(Prism::Location), - operator_loc: Prism::Location - ).void - end - def initialize(source, node_id, location, flags, name, name_loc, operator_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#14410 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#14328 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14333 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#14343 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#14338 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> RestParameterNode - # - # source://prism//lib/prism/node.rb#14348 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - name: T.nilable(Symbol), - name_loc: T.nilable(Prism::Location), - operator_loc: Prism::Location - ).returns(Prism::RestParameterNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), name: T.unsafe(nil), name_loc: T.unsafe(nil), operator_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14333 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, name: Symbol?, name_loc: Location?, operator_loc: Location } - # - # source://prism//lib/prism/node.rb#14356 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#14394 - sig { override.returns(String) } - def inspect; end - - # attr_reader name: Symbol? - # - # source://prism//lib/prism/node.rb#14366 - sig { returns(T.nilable(Symbol)) } - def name; end - - # attr_reader name_loc: Location? - # - # source://prism//lib/prism/node.rb#14369 - sig { returns(T.nilable(Prism::Location)) } - def name_loc; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#14389 - sig { returns(String) } - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#14382 - sig { returns(Prism::Location) } - def operator_loc; end - - # def repeated_parameter?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#14361 - sig { returns(T::Boolean) } - def repeated_parameter?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#14399 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#14404 - def type; end - end -end - -# This represents the result of a call to ::parse or ::parse_file. It contains -# the requested structure, any comments that were encounters, and any errors -# that were encountered. -# -# source://prism//lib/prism/parse_result.rb#530 -class Prism::Result - # Create a new result object with the given values. - # - # @return [Result] a new instance of Result - # - # source://prism//lib/prism/parse_result.rb#552 - sig do - params( - comments: T::Array[Prism::Comment], - magic_comments: T::Array[Prism::MagicComment], - data_loc: T.nilable(Prism::Location), - errors: T::Array[Prism::ParseError], - warnings: T::Array[Prism::ParseWarning], - source: Prism::Source - ).void - end - def initialize(comments, magic_comments, data_loc, errors, warnings, source); end - - # The list of comments that were encountered during parsing. - # - # source://prism//lib/prism/parse_result.rb#532 - sig { returns(T::Array[Prism::Comment]) } - def comments; end - - # An optional location that represents the location of the __END__ marker - # and the rest of the content of the file. This content is loaded into the - # DATA constant when the file being parsed is the main file being executed. - # - # source://prism//lib/prism/parse_result.rb#540 - sig { returns(T.nilable(Prism::Location)) } - def data_loc; end - - # Implement the hash pattern matching interface for Result. - # - # source://prism//lib/prism/parse_result.rb#562 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # Returns the encoding of the source code that was parsed. - # - # source://prism//lib/prism/parse_result.rb#567 - sig { returns(Encoding) } - def encoding; end - - # The list of errors that were generated during parsing. - # - # source://prism//lib/prism/parse_result.rb#543 - sig { returns(T::Array[Prism::ParseError]) } - def errors; end - - # Returns true if there were errors during parsing and false if there were - # not. - # - # @return [Boolean] - # - # source://prism//lib/prism/parse_result.rb#579 - sig { returns(T::Boolean) } - def failure?; end - - # The list of magic comments that were encountered during parsing. - # - # source://prism//lib/prism/parse_result.rb#535 - sig { returns(T::Array[Prism::MagicComment]) } - def magic_comments; end - - # A Source instance that represents the source code that was parsed. - # - # source://prism//lib/prism/parse_result.rb#549 - sig { returns(Prism::Source) } - def source; end - - # Returns true if there were no errors during parsing and false if there - # were. - # - # @return [Boolean] - # - # source://prism//lib/prism/parse_result.rb#573 - sig { returns(T::Boolean) } - def success?; end - - # The list of warnings that were generated during parsing. - # - # source://prism//lib/prism/parse_result.rb#546 - sig { returns(T::Array[Prism::ParseWarning]) } - def warnings; end -end - -# Represents the use of the `retry` keyword. -# -# retry -# ^^^^^ -# -# source://prism//lib/prism/node.rb#14423 -class Prism::RetryNode < ::Prism::Node - # Initialize a new RetryNode node. - # - # @return [RetryNode] a new instance of RetryNode - # - # source://prism//lib/prism/node.rb#14425 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#14482 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#14433 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14438 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#14448 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#14443 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RetryNode - # - # source://prism//lib/prism/node.rb#14453 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14438 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#14461 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#14466 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#14471 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#14476 - def type; end - end -end - -# Represents the use of the `return` keyword. -# -# return 1 -# ^^^^^^^^ -# -# source://prism//lib/prism/node.rb#14491 -class Prism::ReturnNode < ::Prism::Node - # Initialize a new ReturnNode node. - # - # @return [ReturnNode] a new instance of ReturnNode - # - # source://prism//lib/prism/node.rb#14493 - def initialize(source, node_id, location, flags, keyword_loc, arguments); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#14569 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#14503 - def accept(visitor); end - - # attr_reader arguments: ArgumentsNode? - # - # source://prism//lib/prism/node.rb#14545 - def arguments; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14508 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#14520 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#14513 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?arguments: ArgumentsNode?) -> ReturnNode - # - # source://prism//lib/prism/node.rb#14525 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), arguments: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14508 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, arguments: ArgumentsNode? } - # - # source://prism//lib/prism/node.rb#14533 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#14553 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#14548 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#14538 - def keyword_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#14558 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#14563 - def type; end - end -end - -# Represents the `self` keyword. -# -# self -# ^^^^ -# -# source://prism//lib/prism/node.rb#14580 -class Prism::SelfNode < ::Prism::Node - # Initialize a new SelfNode node. - # - # @return [SelfNode] a new instance of SelfNode - # - # source://prism//lib/prism/node.rb#14582 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#14639 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#14590 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14595 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#14605 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#14600 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SelfNode - # - # source://prism//lib/prism/node.rb#14610 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14595 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#14618 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#14623 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#14628 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#14633 - def type; end - end -end - -# A module responsible for deserializing parse results. -# -# source://prism//lib/prism/serialize.rb#14 -module Prism::Serialize - class << self - # Deserialize the AST represented by the given string into a parse result. - # - # source://prism//lib/prism/serialize.rb#28 - def load(input, serialized); end - - # Deserialize the tokens represented by the given string into a parse - # result. - # - # source://prism//lib/prism/serialize.rb#40 - def load_tokens(source, serialized); end - end -end - -# source://prism//lib/prism/serialize.rb#44 -class Prism::Serialize::Loader - # @return [Loader] a new instance of Loader - # - # source://prism//lib/prism/serialize.rb#80 - def initialize(source, serialized); end - - # Returns the value of attribute constant_pool. - # - # source://prism//lib/prism/serialize.rb#77 - def constant_pool; end - - # Returns the value of attribute constant_pool_offset. - # - # source://prism//lib/prism/serialize.rb#77 - def constant_pool_offset; end - - # Returns the value of attribute encoding. - # - # source://prism//lib/prism/serialize.rb#76 - def encoding; end - - # Returns the value of attribute input. - # - # source://prism//lib/prism/serialize.rb#76 - def input; end - - # Returns the value of attribute io. - # - # source://prism//lib/prism/serialize.rb#76 - def io; end - - # source://prism//lib/prism/serialize.rb#118 - def load_comments; end - - # source://prism//lib/prism/serialize.rb#104 - def load_encoding; end - - # source://prism//lib/prism/serialize.rb#95 - def load_header; end - - # source://prism//lib/prism/serialize.rb#114 - def load_line_offsets; end - - # source://prism//lib/prism/serialize.rb#446 - def load_metadata; end - - # source://prism//lib/prism/serialize.rb#480 - def load_nodes; end - - # source://prism//lib/prism/serialize.rb#494 - def load_result; end - - # source://prism//lib/prism/serialize.rb#110 - def load_start_line; end - - # source://prism//lib/prism/serialize.rb#455 - def load_tokens; end - - # source://prism//lib/prism/serialize.rb#468 - def load_tokens_result; end - - # Returns the value of attribute serialized. - # - # source://prism//lib/prism/serialize.rb#76 - def serialized; end - - # Returns the value of attribute source. - # - # source://prism//lib/prism/serialize.rb#77 - def source; end - - # Returns the value of attribute start_line. - # - # source://prism//lib/prism/serialize.rb#78 - def start_line; end - - private - - # source://prism//lib/prism/serialize.rb#580 - def load_constant(index); end - - # source://prism//lib/prism/serialize.rb#533 - def load_double; end - - # source://prism//lib/prism/serialize.rb#548 - def load_embedded_string; end - - # source://prism//lib/prism/serialize.rb#610 - def load_error_level; end - - # source://prism//lib/prism/serialize.rb#522 - def load_integer; end - - # source://prism//lib/prism/serialize.rb#564 - def load_location; end - - # source://prism//lib/prism/serialize.rb#568 - def load_location_object; end - - # source://prism//lib/prism/serialize.rb#639 - def load_node; end - - # source://prism//lib/prism/serialize.rb#605 - def load_optional_constant; end - - # source://prism//lib/prism/serialize.rb#572 - def load_optional_location; end - - # source://prism//lib/prism/serialize.rb#576 - def load_optional_location_object; end - - # source://prism//lib/prism/serialize.rb#541 - def load_optional_node; end - - # source://prism//lib/prism/serialize.rb#601 - def load_required_constant; end - - # source://prism//lib/prism/serialize.rb#552 - def load_string; end - - # source://prism//lib/prism/serialize.rb#537 - def load_uint32; end - - # source://prism//lib/prism/serialize.rb#517 - def load_varsint; 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://prism//lib/prism/serialize.rb#503 - def load_varuint; end - - # source://prism//lib/prism/serialize.rb#625 - def load_warning_level; end -end - -# source://prism//lib/prism/serialize.rb#127 -Prism::Serialize::Loader::DIAGNOSTIC_TYPES = T.let(T.unsafe(nil), Array) - -# StringIO is synchronized and that adds a high overhead on TruffleRuby. -# -# source://prism//lib/prism/serialize.rb#72 -Prism::Serialize::Loader::FastStringIO = StringIO - -# The major version of prism that we are expecting to find in the serialized -# strings. -# -# source://prism//lib/prism/serialize.rb#17 -Prism::Serialize::MAJOR_VERSION = T.let(T.unsafe(nil), Integer) - -# The minor version of prism that we are expecting to find in the serialized -# strings. -# -# source://prism//lib/prism/serialize.rb#21 -Prism::Serialize::MINOR_VERSION = T.let(T.unsafe(nil), Integer) - -# The patch version of prism that we are expecting to find in the serialized -# strings. -# -# source://prism//lib/prism/serialize.rb#25 -Prism::Serialize::PATCH_VERSION = T.let(T.unsafe(nil), Integer) - -# The token types that can be indexed by their enum values. -# -# source://prism//lib/prism/serialize.rb#1721 -Prism::Serialize::TOKEN_TYPES = T.let(T.unsafe(nil), Array) - -# This node wraps a constant write to indicate that when the value is written, it should have its shareability state modified. -# -# C = { a: 1 } -# ^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#14649 -class Prism::ShareableConstantNode < ::Prism::Node - # Initialize a new ShareableConstantNode node. - # - # @return [ShareableConstantNode] a new instance of ShareableConstantNode - # - # source://prism//lib/prism/node.rb#14651 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - write: T.any(Prism::ConstantWriteNode, Prism::ConstantAndWriteNode, Prism::ConstantOrWriteNode, Prism::ConstantOperatorWriteNode, Prism::ConstantPathWriteNode, Prism::ConstantPathAndWriteNode, Prism::ConstantPathOrWriteNode, Prism::ConstantPathOperatorWriteNode) - ).void - end - def initialize(source, node_id, location, flags, write); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#14727 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#14660 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14665 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#14675 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#14670 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode) -> ShareableConstantNode - # - # source://prism//lib/prism/node.rb#14680 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - write: T.any(Prism::ConstantWriteNode, Prism::ConstantAndWriteNode, Prism::ConstantOrWriteNode, Prism::ConstantOperatorWriteNode, Prism::ConstantPathWriteNode, Prism::ConstantPathAndWriteNode, Prism::ConstantPathOrWriteNode, Prism::ConstantPathOperatorWriteNode) - ).returns(Prism::ShareableConstantNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), write: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14665 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode } - # - # source://prism//lib/prism/node.rb#14688 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # def experimental_copy?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#14703 - sig { returns(T::Boolean) } - def experimental_copy?; end - - # def experimental_everything?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#14698 - sig { returns(T::Boolean) } - def experimental_everything?; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#14711 - sig { override.returns(String) } - def inspect; end - - # def literal?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#14693 - sig { returns(T::Boolean) } - def literal?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#14716 - sig { override.returns(Symbol) } - def type; end - - # The constant write that should be modified with the shareability state. - # - # source://prism//lib/prism/node.rb#14708 - sig do - returns(T.any(Prism::ConstantWriteNode, Prism::ConstantAndWriteNode, Prism::ConstantOrWriteNode, Prism::ConstantOperatorWriteNode, Prism::ConstantPathWriteNode, Prism::ConstantPathAndWriteNode, Prism::ConstantPathOrWriteNode, Prism::ConstantPathOperatorWriteNode)) - end - def write; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#14721 - def type; end - end -end - -# Flags for shareable constant nodes. -# -# source://prism//lib/prism/node.rb#16773 -module Prism::ShareableConstantNodeFlags; end - -# constant writes that should be modified with shareable constant value experimental copy -# -# source://prism//lib/prism/node.rb#16781 -Prism::ShareableConstantNodeFlags::EXPERIMENTAL_COPY = T.let(T.unsafe(nil), Integer) - -# constant writes that should be modified with shareable constant value experimental everything -# -# source://prism//lib/prism/node.rb#16778 -Prism::ShareableConstantNodeFlags::EXPERIMENTAL_EVERYTHING = T.let(T.unsafe(nil), Integer) - -# constant writes that should be modified with shareable constant value literal -# -# source://prism//lib/prism/node.rb#16775 -Prism::ShareableConstantNodeFlags::LITERAL = T.let(T.unsafe(nil), Integer) - -# Represents a singleton class declaration involving the `class` keyword. -# -# class << self end -# ^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#14738 -class Prism::SingletonClassNode < ::Prism::Node - # Initialize a new SingletonClassNode node. - # - # @return [SingletonClassNode] a new instance of SingletonClassNode - # - # source://prism//lib/prism/node.rb#14740 - def initialize(source, node_id, location, flags, locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#14851 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#14754 - def accept(visitor); end - - # attr_reader body: Prism::node? - # - # source://prism//lib/prism/node.rb#14810 - def body; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14759 - def child_nodes; end - - # def class_keyword: () -> String - # - # source://prism//lib/prism/node.rb#14820 - def class_keyword; end - - # attr_reader class_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#14793 - def class_keyword_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#14772 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#14764 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?class_keyword_loc: Location, ?operator_loc: Location, ?expression: Prism::node, ?body: Prism::node?, ?end_keyword_loc: Location) -> SingletonClassNode - # - # source://prism//lib/prism/node.rb#14777 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), locals: T.unsafe(nil), class_keyword_loc: T.unsafe(nil), operator_loc: T.unsafe(nil), expression: T.unsafe(nil), body: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14759 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Prism::node, body: Prism::node?, end_keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#14785 - def deconstruct_keys(keys); end - - # def end_keyword: () -> String - # - # source://prism//lib/prism/node.rb#14830 - def end_keyword; end - - # attr_reader end_keyword_loc: Location - # - # source://prism//lib/prism/node.rb#14813 - def end_keyword_loc; end - - # attr_reader expression: Prism::node - # - # source://prism//lib/prism/node.rb#14807 - def expression; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#14835 - sig { override.returns(String) } - def inspect; end - - # attr_reader locals: Array[Symbol] - # - # source://prism//lib/prism/node.rb#14790 - def locals; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#14825 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#14800 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#14840 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#14845 - def type; end - 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://prism//lib/prism/parse_result.rb#7 -class Prism::Source - # Create a new source object with the given source code. - # - # @return [Source] a new instance of Source - # - # source://prism//lib/prism/parse_result.rb#30 - sig { params(source: String, start_line: Integer, offsets: T::Array[Integer]).void } - def initialize(source, start_line = T.unsafe(nil), offsets = T.unsafe(nil)); end - - # Return the column number in characters for the given byte offset. - # - # source://prism//lib/prism/parse_result.rb#82 - sig { params(byte_offset: Integer).returns(Integer) } - def character_column(byte_offset); end - - # Return the character offset for the given byte offset. - # - # source://prism//lib/prism/parse_result.rb#77 - sig { params(byte_offset: Integer).returns(Integer) } - def character_offset(byte_offset); end - - # Returns the column number in code units for the given encoding for the - # given byte offset. - # - # source://prism//lib/prism/parse_result.rb#104 - sig { params(byte_offset: Integer, encoding: Encoding).returns(Integer) } - def code_units_column(byte_offset, encoding); end - - # Returns the offset from the start of the file for the given byte offset - # counting in code units for the given encoding. - # - # This method is tested with UTF-8, UTF-16, and UTF-32. If there is the - # concept of code units that differs from the number of characters in other - # encodings, it is not captured here. - # - # source://prism//lib/prism/parse_result.rb#92 - sig { params(byte_offset: Integer, encoding: Encoding).returns(Integer) } - def code_units_offset(byte_offset, encoding); end - - # Return the column number for the given byte offset. - # - # source://prism//lib/prism/parse_result.rb#72 - sig { params(byte_offset: Integer).returns(Integer) } - def column(byte_offset); end - - # Returns the encoding of the source code, which is set by parameters to the - # parser or by the encoding magic comment. - # - # source://prism//lib/prism/parse_result.rb#38 - sig { returns(Encoding) } - def encoding; end - - # Binary search through the offsets to find the line number for the given - # byte offset. - # - # source://prism//lib/prism/parse_result.rb#55 - sig { params(byte_offset: Integer).returns(Integer) } - def line(byte_offset); end - - # Returns the byte offset of the end of the line corresponding to the given - # byte offset. - # - # source://prism//lib/prism/parse_result.rb#67 - def line_end(byte_offset); end - - # Return the byte offset of the start of the line corresponding to the given - # byte offset. - # - # source://prism//lib/prism/parse_result.rb#61 - sig { params(byte_offset: Integer).returns(Integer) } - def line_start(byte_offset); end - - # Returns the lines of the source code as an array of strings. - # - # source://prism//lib/prism/parse_result.rb#43 - sig { returns(T::Array[String]) } - def lines; end - - # The list of newline byte offsets in the source code. - # - # source://prism//lib/prism/parse_result.rb#27 - sig { returns(T::Array[Integer]) } - def offsets; end - - # Perform a byteslice on the source code using the given byte offset and - # byte length. - # - # source://prism//lib/prism/parse_result.rb#49 - sig { params(byte_offset: Integer, length: Integer).returns(String) } - def slice(byte_offset, length); end - - # The source code that this source object represents. - # - # source://prism//lib/prism/parse_result.rb#21 - sig { returns(String) } - def source; end - - # The line number where this source starts. - # - # source://prism//lib/prism/parse_result.rb#24 - sig { returns(Integer) } - def start_line; end - - private - - # Binary search through the offsets to find the line number for the given - # byte offset. - # - # source://prism//lib/prism/parse_result.rb#112 - def find_line(byte_offset); end - - class << self - # Create a new source object with the given source code. This method should - # be used instead of `new` and it will return either a `Source` or a - # specialized and more performant `ASCIISource` if no multibyte characters - # are present in the source code. - # - # source://prism//lib/prism/parse_result.rb#12 - def for(source, start_line = T.unsafe(nil), offsets = T.unsafe(nil)); end - end -end - -# Represents the use of the `__ENCODING__` keyword. -# -# __ENCODING__ -# ^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#14867 -class Prism::SourceEncodingNode < ::Prism::Node - # Initialize a new SourceEncodingNode node. - # - # @return [SourceEncodingNode] a new instance of SourceEncodingNode - # - # source://prism//lib/prism/node.rb#14869 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#14926 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#14877 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14882 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#14892 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#14887 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceEncodingNode - # - # source://prism//lib/prism/node.rb#14897 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14882 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#14905 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#14910 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#14915 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#14920 - def type; end - end -end - -# Represents the use of the `__FILE__` keyword. -# -# __FILE__ -# ^^^^^^^^ -# -# source://prism//lib/prism/node.rb#14935 -class Prism::SourceFileNode < ::Prism::Node - # Initialize a new SourceFileNode node. - # - # @return [SourceFileNode] a new instance of SourceFileNode - # - # source://prism//lib/prism/node.rb#14937 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - filepath: String - ).void - end - def initialize(source, node_id, location, flags, filepath); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#15018 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#14946 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14951 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#14961 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#14956 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?filepath: String) -> SourceFileNode - # - # source://prism//lib/prism/node.rb#14966 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - filepath: String - ).returns(Prism::SourceFileNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), filepath: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#14951 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, filepath: String } - # - # source://prism//lib/prism/node.rb#14974 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # Represents the file path being parsed. This corresponds directly to the `filepath` option given to the various `Prism::parse*` APIs. - # - # source://prism//lib/prism/node.rb#14999 - sig { returns(String) } - def filepath; end - - # def forced_binary_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#14984 - sig { returns(T::Boolean) } - def forced_binary_encoding?; end - - # def forced_utf8_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#14979 - sig { returns(T::Boolean) } - def forced_utf8_encoding?; end - - # def frozen?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#14989 - sig { returns(T::Boolean) } - def frozen?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#15002 - sig { override.returns(String) } - def inspect; end - - # def mutable?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#14994 - sig { returns(T::Boolean) } - def mutable?; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#15007 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#15012 - def type; end - end -end - -# Represents the use of the `__LINE__` keyword. -# -# __LINE__ -# ^^^^^^^^ -# -# source://prism//lib/prism/node.rb#15029 -class Prism::SourceLineNode < ::Prism::Node - # Initialize a new SourceLineNode node. - # - # @return [SourceLineNode] a new instance of SourceLineNode - # - # source://prism//lib/prism/node.rb#15031 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#15088 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#15039 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15044 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#15054 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#15049 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceLineNode - # - # source://prism//lib/prism/node.rb#15059 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15044 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#15067 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#15072 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#15077 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#15082 - def type; end - end -end - -# Represents the use of the splat operator. -# -# [*a] -# ^^ -# -# source://prism//lib/prism/node.rb#15097 -class Prism::SplatNode < ::Prism::Node - # Initialize a new SplatNode node. - # - # @return [SplatNode] a new instance of SplatNode - # - # source://prism//lib/prism/node.rb#15099 - def initialize(source, node_id, location, flags, operator_loc, expression); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#15175 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#15109 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15114 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#15126 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#15119 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?expression: Prism::node?) -> SplatNode - # - # source://prism//lib/prism/node.rb#15131 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), operator_loc: T.unsafe(nil), expression: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15114 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, expression: Prism::node? } - # - # source://prism//lib/prism/node.rb#15139 - def deconstruct_keys(keys); end - - # attr_reader expression: Prism::node? - # - # source://prism//lib/prism/node.rb#15151 - def expression; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#15159 - sig { override.returns(String) } - def inspect; end - - # def operator: () -> String - # - # source://prism//lib/prism/node.rb#15154 - def operator; end - - # attr_reader operator_loc: Location - # - # source://prism//lib/prism/node.rb#15144 - def operator_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#15164 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#15169 - def type; end - end -end - -# Represents a set of statements contained within some scope. -# -# foo; bar; baz -# ^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#15186 -class Prism::StatementsNode < ::Prism::Node - # Initialize a new StatementsNode node. - # - # @return [StatementsNode] a new instance of StatementsNode - # - # source://prism//lib/prism/node.rb#15188 - def initialize(source, node_id, location, flags, body); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#15249 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#15197 - def accept(visitor); end - - # attr_reader body: Array[Prism::node] - # - # source://prism//lib/prism/node.rb#15230 - def body; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15202 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#15212 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#15207 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Array[Prism::node]) -> StatementsNode - # - # source://prism//lib/prism/node.rb#15217 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), body: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15202 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, body: Array[Prism::node] } - # - # source://prism//lib/prism/node.rb#15225 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#15233 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#15238 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#15243 - def type; end - end -end - -# Flags for string nodes. -# -# source://prism//lib/prism/node.rb#16785 -module Prism::StringFlags; end - -# internal bytes forced the encoding to binary -# -# source://prism//lib/prism/node.rb#16790 -Prism::StringFlags::FORCED_BINARY_ENCODING = T.let(T.unsafe(nil), Integer) - -# internal bytes forced the encoding to UTF-8 -# -# source://prism//lib/prism/node.rb#16787 -Prism::StringFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer) - -# source://prism//lib/prism/node.rb#16793 -Prism::StringFlags::FROZEN = T.let(T.unsafe(nil), Integer) - -# source://prism//lib/prism/node.rb#16796 -Prism::StringFlags::MUTABLE = T.let(T.unsafe(nil), Integer) - -# 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://prism//lib/prism/node.rb#15266 -class Prism::StringNode < ::Prism::Node - include ::Prism::HeredocQuery - - # Initialize a new StringNode node. - # - # @return [StringNode] a new instance of StringNode - # - # source://prism//lib/prism/node.rb#15268 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: T.nilable(Prism::Location), - content_loc: Prism::Location, - closing_loc: T.nilable(Prism::Location), - unescaped: String - ).void - end - def initialize(source, node_id, location, flags, opening_loc, content_loc, closing_loc, unescaped); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#15400 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#15280 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15285 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#15379 - sig { returns(T.nilable(String)) } - def closing; end - - # attr_reader closing_loc: Location? - # - # source://prism//lib/prism/node.rb#15353 - sig { returns(T.nilable(Prism::Location)) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#15295 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#15290 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def content: () -> String - # - # source://prism//lib/prism/node.rb#15374 - sig { returns(String) } - def content; end - - # attr_reader content_loc: Location - # - # source://prism//lib/prism/node.rb#15346 - sig { returns(Prism::Location) } - def content_loc; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?content_loc: Location, ?closing_loc: Location?, ?unescaped: String) -> StringNode - # - # source://prism//lib/prism/node.rb#15300 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: T.nilable(Prism::Location), - content_loc: Prism::Location, - closing_loc: T.nilable(Prism::Location), - unescaped: String - ).returns(Prism::StringNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), content_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), unescaped: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15285 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String } - # - # source://prism//lib/prism/node.rb#15308 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def forced_binary_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#15318 - sig { returns(T::Boolean) } - def forced_binary_encoding?; end - - # def forced_utf8_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#15313 - sig { returns(T::Boolean) } - def forced_utf8_encoding?; end - - # def frozen?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#15323 - sig { returns(T::Boolean) } - def frozen?; end - - sig { returns(T::Boolean) } - def heredoc?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#15384 - sig { override.returns(String) } - def inspect; end - - # def mutable?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#15328 - sig { returns(T::Boolean) } - def mutable?; end - - # def opening: () -> String? - # - # source://prism//lib/prism/node.rb#15369 - sig { returns(T.nilable(String)) } - def opening; end - - # attr_reader opening_loc: Location? - # - # source://prism//lib/prism/node.rb#15333 - sig { returns(T.nilable(Prism::Location)) } - def opening_loc; end - - # Occasionally it's helpful to treat a string as if it were interpolated so - # that there's a consistent interface for working with strings. - # - # source://prism//lib/prism/node_ext.rb#72 - sig { returns(Prism::InterpolatedStringNode) } - def to_interpolated; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#15389 - sig { override.returns(Symbol) } - def type; end - - # attr_reader unescaped: String - # - # source://prism//lib/prism/node.rb#15366 - sig { returns(String) } - def unescaped; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#15394 - def type; end - end -end - -# Represents the use of the `super` keyword with parentheses or arguments. -# -# super() -# ^^^^^^^ -# -# super foo, bar -# ^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#15417 -class Prism::SuperNode < ::Prism::Node - # Initialize a new SuperNode node. - # - # @return [SuperNode] a new instance of SuperNode - # - # source://prism//lib/prism/node.rb#15419 - def initialize(source, node_id, location, flags, keyword_loc, lparen_loc, arguments, rparen_loc, block); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#15538 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#15432 - def accept(visitor); end - - # attr_reader arguments: ArgumentsNode? - # - # source://prism//lib/prism/node.rb#15488 - def arguments; end - - # attr_reader block: Prism::node? - # - # source://prism//lib/prism/node.rb#15504 - def block; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15437 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#15450 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#15442 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?, ?block: Prism::node?) -> SuperNode - # - # source://prism//lib/prism/node.rb#15455 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), lparen_loc: T.unsafe(nil), arguments: T.unsafe(nil), rparen_loc: T.unsafe(nil), block: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15437 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, block: Prism::node? } - # - # source://prism//lib/prism/node.rb#15463 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#15522 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#15507 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#15468 - def keyword_loc; end - - # def lparen: () -> String? - # - # source://prism//lib/prism/node.rb#15512 - def lparen; end - - # attr_reader lparen_loc: Location? - # - # source://prism//lib/prism/node.rb#15475 - def lparen_loc; end - - # def rparen: () -> String? - # - # source://prism//lib/prism/node.rb#15517 - def rparen; end - - # attr_reader rparen_loc: Location? - # - # source://prism//lib/prism/node.rb#15491 - def rparen_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#15527 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#15532 - def type; end - end -end - -# Flags for symbol nodes. -# -# source://prism//lib/prism/node.rb#16800 -module Prism::SymbolFlags; end - -# internal bytes forced the encoding to binary -# -# source://prism//lib/prism/node.rb#16805 -Prism::SymbolFlags::FORCED_BINARY_ENCODING = T.let(T.unsafe(nil), Integer) - -# internal bytes forced the encoding to US-ASCII -# -# source://prism//lib/prism/node.rb#16808 -Prism::SymbolFlags::FORCED_US_ASCII_ENCODING = T.let(T.unsafe(nil), Integer) - -# internal bytes forced the encoding to UTF-8 -# -# source://prism//lib/prism/node.rb#16802 -Prism::SymbolFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer) - -# Represents a symbol literal or a symbol contained within a `%i` list. -# -# :foo -# ^^^^ -# -# %i[foo] -# ^^^ -# -# source://prism//lib/prism/node.rb#15555 -class Prism::SymbolNode < ::Prism::Node - # Initialize a new SymbolNode node. - # - # @return [SymbolNode] a new instance of SymbolNode - # - # source://prism//lib/prism/node.rb#15557 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: T.nilable(Prism::Location), - value_loc: T.nilable(Prism::Location), - closing_loc: T.nilable(Prism::Location), - unescaped: String - ).void - end - def initialize(source, node_id, location, flags, opening_loc, value_loc, closing_loc, unescaped); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#15690 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#15569 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15574 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#15669 - sig { returns(T.nilable(String)) } - def closing; end - - # attr_reader closing_loc: Location? - # - # source://prism//lib/prism/node.rb#15643 - sig { returns(T.nilable(Prism::Location)) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#15584 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#15579 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?value_loc: Location?, ?closing_loc: Location?, ?unescaped: String) -> SymbolNode - # - # source://prism//lib/prism/node.rb#15589 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: T.nilable(Prism::Location), - value_loc: T.nilable(Prism::Location), - closing_loc: T.nilable(Prism::Location), - unescaped: String - ).returns(Prism::SymbolNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), value_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), unescaped: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15574 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String } - # - # source://prism//lib/prism/node.rb#15597 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def forced_binary_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#15607 - sig { returns(T::Boolean) } - def forced_binary_encoding?; end - - # def forced_us_ascii_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#15612 - sig { returns(T::Boolean) } - def forced_us_ascii_encoding?; end - - # def forced_utf8_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#15602 - sig { returns(T::Boolean) } - def forced_utf8_encoding?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#15674 - sig { override.returns(String) } - def inspect; end - - # def opening: () -> String? - # - # source://prism//lib/prism/node.rb#15659 - sig { returns(T.nilable(String)) } - def opening; end - - # attr_reader opening_loc: Location? - # - # source://prism//lib/prism/node.rb#15617 - sig { returns(T.nilable(Prism::Location)) } - def opening_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#15679 - sig { override.returns(Symbol) } - def type; end - - # attr_reader unescaped: String - # - # source://prism//lib/prism/node.rb#15656 - sig { returns(String) } - def unescaped; end - - # def value: () -> String? - # - # source://prism//lib/prism/node.rb#15664 - sig { returns(T.nilable(String)) } - def value; end - - # attr_reader value_loc: Location? - # - # source://prism//lib/prism/node.rb#15630 - sig { returns(T.nilable(Prism::Location)) } - def value_loc; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#15684 - def type; end - end -end - -# This represents a token from the Ruby source. -# -# source://prism//lib/prism/parse_result.rb#662 -class Prism::Token - # Create a new token object with the given type, value, and location. - # - # @return [Token] a new instance of Token - # - # source://prism//lib/prism/parse_result.rb#674 - sig { params(source: Prism::Source, type: Symbol, value: String, location: T.any(Integer, Prism::Location)).void } - def initialize(source, type, value, location); end - - # Returns true if the given other token is equal to this token. - # - # source://prism//lib/prism/parse_result.rb#709 - sig { params(other: T.untyped).returns(T::Boolean) } - def ==(other); end - - # Implement the hash pattern matching interface for Token. - # - # source://prism//lib/prism/parse_result.rb#682 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - # Returns a string representation of this token. - # - # source://prism//lib/prism/parse_result.rb#716 - def inspect; end - - # A Location object representing the location of this token in the source. - # - # source://prism//lib/prism/parse_result.rb#687 - sig { returns(Prism::Location) } - def location; end - - # Implement the pretty print interface for Token. - # - # source://prism//lib/prism/parse_result.rb#694 - sig { params(q: T.untyped).void } - def pretty_print(q); end - - # The type of token that this token is. - # - # source://prism//lib/prism/parse_result.rb#668 - sig { returns(Symbol) } - def type; end - - # A byteslice of the source that this token represents. - # - # source://prism//lib/prism/parse_result.rb#671 - sig { returns(String) } - def value; end - - private - - # The Source object that represents the source this token came from. - # - # source://prism//lib/prism/parse_result.rb#664 - sig { returns(Prism::Source) } - def source; end -end - -# This module is responsible for converting the prism syntax tree into other -# syntax trees. -# -# source://prism//lib/prism/translation.rb#6 -module Prism::Translation; end - -class Prism::Translation::Parser < Parser::Base - sig { overridable.returns(Integer) } - def version; end -end - -class Prism::Translation::Parser33 < Prism::Translation::Parser - sig { override.returns(Integer) } - def version; end -end - -class Prism::Translation::Parser34 < Prism::Translation::Parser - sig { override.returns(Integer) } - def version; end -end - -# This class provides a compatibility layer between prism and Ripper. It -# functions by parsing the entire tree first and then walking it and -# executing each of the Ripper callbacks as it goes. To use this class, you -# treat `Prism::Translation::Ripper` effectively as you would treat the -# `Ripper` class. -# -# Note that this class will serve the most common use cases, but Ripper's -# API is extensive and undocumented. It relies on reporting the state of the -# parser at any given time. We do our best to replicate that here, but -# because it is a different architecture it is not possible to perfectly -# replicate the behavior of Ripper. -# -# The main known difference is that we may omit dispatching some events in -# some cases. This impacts the following events: -# -# - on_assign_error -# - on_comma -# - on_ignored_nl -# - on_ignored_sp -# - on_kw -# - on_label_end -# - on_lbrace -# - on_lbracket -# - on_lparen -# - on_nl -# - on_op -# - on_operator_ambiguous -# - on_rbrace -# - on_rbracket -# - on_rparen -# - on_semicolon -# - on_sp -# - on_symbeg -# - on_tstring_beg -# - on_tstring_end -# -# source://prism//lib/prism/translation/ripper.rb#43 -class Prism::Translation::Ripper < ::Prism::Compiler - # Create a new Translation::Ripper object with the given source. - # - # @return [Ripper] a new instance of Ripper - # - # source://prism//lib/prism/translation/ripper.rb#444 - def initialize(source, filename = T.unsafe(nil), lineno = T.unsafe(nil)); end - - # The current column number of the parser. - # - # source://prism//lib/prism/translation/ripper.rb#441 - def column; end - - # True if the parser encountered an error during parsing. - # - # @return [Boolean] - # - # source://prism//lib/prism/translation/ripper.rb#457 - sig { returns(T::Boolean) } - def error?; end - - # The filename of the source being parsed. - # - # source://prism//lib/prism/translation/ripper.rb#435 - def filename; end - - # The current line number of the parser. - # - # source://prism//lib/prism/translation/ripper.rb#438 - def lineno; end - - # Parse the source and return the result. - # - # source://prism//lib/prism/translation/ripper.rb#462 - sig { returns(T.untyped) } - def parse; end - - # The source that is being parsed. - # - # source://prism//lib/prism/translation/ripper.rb#432 - def source; end - - # alias $foo $bar - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#561 - def visit_alias_global_variable_node(node); end - - # alias foo bar - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#551 - def visit_alias_method_node(node); end - - # foo => bar | baz - # ^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#585 - def visit_alternation_pattern_node(node); end - - # a and b - # ^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#605 - def visit_and_node(node); end - - # foo(bar) - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#796 - def visit_arguments_node(node); end - - # [] - # ^^ - # - # source://prism//lib/prism/translation/ripper.rb#615 - def visit_array_node(node); end - - # foo => [bar] - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#775 - def visit_array_pattern_node(node); end - - # { a: 1 } - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#803 - def visit_assoc_node(node); end - - # def foo(**); bar(**); end - # ^^ - # - # { **foo } - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#816 - def visit_assoc_splat_node(node); end - - # $+ - # ^^ - # - # source://prism//lib/prism/translation/ripper.rb#825 - def visit_back_reference_read_node(node); end - - # begin end - # ^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#832 - def visit_begin_node(node); end - - # foo(&bar) - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#896 - def visit_block_argument_node(node); end - - # foo { |; bar| } - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#902 - def visit_block_local_variable_node(node); end - - # Visit a BlockNode. - # - # source://prism//lib/prism/translation/ripper.rb#908 - def visit_block_node(node); end - - # def foo(&bar); end - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#944 - def visit_block_parameter_node(node); end - - # A block's parameters. - # - # source://prism//lib/prism/translation/ripper.rb#958 - def visit_block_parameters_node(node); end - - # break - # ^^^^^ - # - # break foo - # ^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#982 - def visit_break_node(node); end - - # foo.bar &&= baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1194 - def visit_call_and_write_node(node); end - - # foo - # ^^^ - # - # foo.bar - # ^^^^^^^ - # - # foo.bar() {} - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1002 - def visit_call_node(node); end - - # foo.bar += baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1172 - def visit_call_operator_write_node(node); end - - # foo.bar ||= baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1216 - def visit_call_or_write_node(node); end - - # foo.bar, = 1 - # ^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1238 - def visit_call_target_node(node); end - - # foo => bar => baz - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1263 - def visit_capture_pattern_node(node); end - - # case foo; in bar; end - # ^^^^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1286 - def visit_case_match_node(node); end - - # case foo; when bar; end - # ^^^^^^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1273 - def visit_case_node(node); end - - # class Foo; end - # ^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1299 - def visit_class_node(node); end - - # @@foo &&= bar - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1352 - def visit_class_variable_and_write_node(node); end - - # @@foo += bar - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1338 - def visit_class_variable_operator_write_node(node); end - - # @@foo ||= bar - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1366 - def visit_class_variable_or_write_node(node); end - - # @@foo - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1317 - def visit_class_variable_read_node(node); end - - # @@foo, = bar - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1380 - def visit_class_variable_target_node(node); end - - # @@foo = 1 - # ^^^^^^^^^ - # - # @@foo, @@bar = 1 - # ^^^^^ ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1327 - def visit_class_variable_write_node(node); end - - # Foo &&= bar - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1422 - def visit_constant_and_write_node(node); end - - # Foo += bar - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1408 - def visit_constant_operator_write_node(node); end - - # Foo ||= bar - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1436 - def visit_constant_or_write_node(node); end - - # Foo::Bar &&= baz - # ^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1523 - def visit_constant_path_and_write_node(node); end - - # Foo::Bar - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1457 - def visit_constant_path_node(node); end - - # Foo::Bar += baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1509 - def visit_constant_path_operator_write_node(node); end - - # Foo::Bar ||= baz - # ^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1537 - def visit_constant_path_or_write_node(node); end - - # Foo::Bar, = baz - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1551 - def visit_constant_path_target_node(node); end - - # Foo::Bar = 1 - # ^^^^^^^^^^^^ - # - # Foo::Foo, Bar::Bar = 1 - # ^^^^^^^^ ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1480 - def visit_constant_path_write_node(node); end - - # Foo - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1387 - def visit_constant_read_node(node); end - - # Foo, = bar - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1450 - def visit_constant_target_node(node); end - - # Foo = 1 - # ^^^^^^^ - # - # Foo, Bar = 1 - # ^^^ ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1397 - def visit_constant_write_node(node); end - - # def foo; end - # ^^^^^^^^^^^^ - # - # def self.foo; end - # ^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1560 - def visit_def_node(node); end - - # defined? a - # ^^^^^^^^^^ - # - # defined?(a) - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1607 - def visit_defined_node(node); end - - # if foo then bar else baz end - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1614 - def visit_else_node(node); end - - # "foo #{bar}" - # ^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1630 - def visit_embedded_statements_node(node); end - - # "foo #@bar" - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1651 - def visit_embedded_variable_node(node); end - - # Visit an EnsureNode node. - # - # source://prism//lib/prism/translation/ripper.rb#1662 - def visit_ensure_node(node); end - - # false - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1680 - def visit_false_node(node); end - - # foo => [*, bar, *] - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1687 - def visit_find_pattern_node(node); end - - # if foo .. bar; end - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1712 - def visit_flip_flop_node(node); end - - # 1.0 - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1726 - def visit_float_node(node); end - - # for foo in bar do end - # ^^^^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1732 - def visit_for_node(node); end - - # def foo(...); bar(...); end - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1749 - def visit_forwarding_arguments_node(node); end - - # def foo(...); end - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1756 - def visit_forwarding_parameter_node(node); end - - # super - # ^^^^^ - # - # super {} - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1766 - def visit_forwarding_super_node(node); end - - # $foo &&= bar - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1815 - def visit_global_variable_and_write_node(node); end - - # $foo += bar - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1801 - def visit_global_variable_operator_write_node(node); end - - # $foo ||= bar - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1829 - def visit_global_variable_or_write_node(node); end - - # $foo - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1780 - def visit_global_variable_read_node(node); end - - # $foo, = bar - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1843 - def visit_global_variable_target_node(node); end - - # $foo = 1 - # ^^^^^^^^ - # - # $foo, $bar = 1 - # ^^^^ ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1790 - def visit_global_variable_write_node(node); end - - # {} - # ^^ - # - # source://prism//lib/prism/translation/ripper.rb#1850 - def visit_hash_node(node); end - - # foo => {} - # ^^ - # - # source://prism//lib/prism/translation/ripper.rb#1865 - def visit_hash_pattern_node(node); end - - # if foo then bar end - # ^^^^^^^^^^^^^^^^^^^ - # - # bar if foo - # ^^^^^^^^^^ - # - # foo ? bar : baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1907 - def visit_if_node(node); end - - # 1i - # ^^ - # - # source://prism//lib/prism/translation/ripper.rb#1943 - def visit_imaginary_node(node); end - - # { foo: } - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1949 - def visit_implicit_node(node); end - - # foo { |bar,| } - # ^ - # - # source://prism//lib/prism/translation/ripper.rb#1954 - def visit_implicit_rest_node(node); end - - # case foo; in bar; end - # ^^^^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1961 - def visit_in_node(node); end - - # foo[bar] &&= baz - # ^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1996 - def visit_index_and_write_node(node); end - - # foo[bar] += baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#1979 - def visit_index_operator_write_node(node); end - - # foo[bar] ||= baz - # ^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2013 - def visit_index_or_write_node(node); end - - # foo[bar], = 1 - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2030 - def visit_index_target_node(node); end - - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2072 - def visit_instance_variable_and_write_node(node); end - - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2058 - def visit_instance_variable_operator_write_node(node); end - - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2086 - def visit_instance_variable_or_write_node(node); end - - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2040 - def visit_instance_variable_read_node(node); end - - # @foo, = bar - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2100 - def visit_instance_variable_target_node(node); end - - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2047 - def visit_instance_variable_write_node(node); end - - # 1 - # ^ - # - # source://prism//lib/prism/translation/ripper.rb#2107 - def visit_integer_node(node); end - - # if /foo #{bar}/ then end - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2113 - def visit_interpolated_match_last_line_node(node); end - - # /foo #{bar}/ - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2132 - def visit_interpolated_regular_expression_node(node); end - - # "foo #{bar}" - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2151 - def visit_interpolated_string_node(node); end - - # :"foo #{bar}" - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2179 - def visit_interpolated_symbol_node(node); end - - # `foo #{bar}` - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2192 - def visit_interpolated_x_string_node(node); end - - # -> { it } - # ^^ - # - # source://prism//lib/prism/translation/ripper.rb#2222 - def visit_it_local_variable_read_node(node); end - - # -> { it } - # ^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2229 - def visit_it_parameters_node(node); end - - # foo(bar: baz) - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2234 - def visit_keyword_hash_node(node); end - - # def foo(**bar); end - # ^^^^^ - # - # def foo(**); end - # ^^ - # - # source://prism//lib/prism/translation/ripper.rb#2246 - def visit_keyword_rest_parameter_node(node); end - - # -> {} - # - # source://prism//lib/prism/translation/ripper.rb#2260 - def visit_lambda_node(node); end - - # foo &&= bar - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2352 - def visit_local_variable_and_write_node(node); end - - # foo += bar - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2338 - def visit_local_variable_operator_write_node(node); end - - # foo ||= bar - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2366 - def visit_local_variable_or_write_node(node); end - - # foo - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2320 - def visit_local_variable_read_node(node); end - - # foo, = bar - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2380 - def visit_local_variable_target_node(node); end - - # foo = 1 - # ^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2327 - def visit_local_variable_write_node(node); end - - # if /foo/ then end - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2387 - def visit_match_last_line_node(node); end - - # foo in bar - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2402 - def visit_match_predicate_node(node); end - - # foo => bar - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2411 - def visit_match_required_node(node); end - - # /(?<foo>foo)/ =~ bar - # ^^^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2420 - def visit_match_write_node(node); end - - # A node that is missing from the syntax tree. This is only used in the - # case of a syntax error. - # - # source://prism//lib/prism/translation/ripper.rb#2426 - def visit_missing_node(node); end - - # module Foo; end - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2432 - def visit_module_node(node); end - - # (foo, bar), bar = qux - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2449 - def visit_multi_target_node(node); end - - # foo, bar = baz - # ^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2503 - def visit_multi_write_node(node); end - - # next - # ^^^^ - # - # next foo - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2523 - def visit_next_node(node); end - - # nil - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2537 - def visit_nil_node(node); end - - # def foo(**nil); end - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2544 - def visit_no_keywords_parameter_node(node); end - - # -> { _1 + _2 } - # ^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2553 - def visit_numbered_parameters_node(node); end - - # $1 - # ^^ - # - # source://prism//lib/prism/translation/ripper.rb#2558 - def visit_numbered_reference_read_node(node); end - - # def foo(bar: baz); end - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2565 - def visit_optional_keyword_parameter_node(node); end - - # def foo(bar = 1); end - # ^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2575 - def visit_optional_parameter_node(node); end - - # a or b - # ^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2585 - def visit_or_node(node); end - - # def foo(bar, *baz); end - # ^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2595 - def visit_parameters_node(node); end - - # () - # ^^ - # - # (1) - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2622 - def visit_parentheses_node(node); end - - # foo => ^(bar) - # ^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2636 - def visit_pinned_expression_node(node); end - - # foo = 1 and bar => ^foo - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2645 - def visit_pinned_variable_node(node); end - - # END {} - # ^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2651 - def visit_post_execution_node(node); end - - # BEGIN {} - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2666 - def visit_pre_execution_node(node); end - - # The top-level program node. - # - # source://prism//lib/prism/translation/ripper.rb#2680 - def visit_program_node(node); end - - # 0..5 - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2691 - def visit_range_node(node); end - - # 1r - # ^^ - # - # source://prism//lib/prism/translation/ripper.rb#2705 - def visit_rational_node(node); end - - # redo - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2711 - def visit_redo_node(node); end - - # /foo/ - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2718 - def visit_regular_expression_node(node); end - - # def foo(bar:); end - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2740 - def visit_required_keyword_parameter_node(node); end - - # def foo(bar); end - # ^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2747 - def visit_required_parameter_node(node); end - - # foo rescue bar - # ^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2754 - def visit_rescue_modifier_node(node); end - - # begin; rescue; end - # ^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2764 - def visit_rescue_node(node); end - - # def foo(*bar); end - # ^^^^ - # - # def foo(*); end - # ^ - # - # source://prism//lib/prism/translation/ripper.rb#2822 - def visit_rest_parameter_node(node); end - - # retry - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2834 - def visit_retry_node(node); end - - # return - # ^^^^^^ - # - # return 1 - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2844 - def visit_return_node(node); end - - # self - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2858 - def visit_self_node(node); end - - # A shareable constant. - # - # source://prism//lib/prism/translation/ripper.rb#2864 - def visit_shareable_constant_node(node); end - - # class << self; end - # ^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2870 - def visit_singleton_class_node(node); end - - # __ENCODING__ - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2880 - def visit_source_encoding_node(node); end - - # __FILE__ - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2887 - def visit_source_file_node(node); end - - # __LINE__ - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2894 - def visit_source_line_node(node); end - - # foo(*bar) - # ^^^^ - # - # def foo((bar, *baz)); end - # ^^^^ - # - # def foo(*); bar(*); end - # ^ - # - # source://prism//lib/prism/translation/ripper.rb#2907 - def visit_splat_node(node); end - - # A list of statements. - # - # source://prism//lib/prism/translation/ripper.rb#2912 - def visit_statements_node(node); end - - # "foo" - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#2929 - def visit_string_node(node); end - - # super(foo) - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#3061 - def visit_super_node(node); end - - # :foo - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#3082 - def visit_symbol_node(node); end - - # true - # ^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#3106 - def visit_true_node(node); end - - # undef foo - # ^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#3113 - def visit_undef_node(node); end - - # unless foo; bar end - # ^^^^^^^^^^^^^^^^^^^ - # - # bar unless foo - # ^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#3125 - def visit_unless_node(node); end - - # until foo; bar end - # ^^^^^^^^^^^^^^^^^ - # - # bar until foo - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#3153 - def visit_until_node(node); end - - # case foo; when bar; end - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#3177 - def visit_when_node(node); end - - # while foo; bar end - # ^^^^^^^^^^^^^^^^^^ - # - # bar while foo - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#3198 - def visit_while_node(node); end - - # `foo` - # ^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#3222 - def visit_x_string_node(node); end - - # yield - # ^^^^^ - # - # yield 1 - # ^^^^^^^ - # - # source://prism//lib/prism/translation/ripper.rb#3245 - def visit_yield_node(node); end - - private - - # :stopdoc: - # - # source://prism//lib/prism/translation/ripper.rb#3389 - def _dispatch_0; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def _dispatch_1(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def _dispatch_2(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def _dispatch_3(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3393 - def _dispatch_4(_, _, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3394 - def _dispatch_5(_, _, _, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3395 - def _dispatch_7(_, _, _, _, _, _, _); 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://prism//lib/prism/translation/ripper.rb#3379 - def bounds(location); end - - # Returns true if the given node is a command node. - # - # @return [Boolean] - # - # source://prism//lib/prism/translation/ripper.rb#1163 - def command?(node); end - - # This method is called when the parser found syntax error. - # - # source://prism//lib/prism/translation/ripper.rb#3417 - def compile_error(msg); end - - # This method is provided by the Ripper C extension. It is called when a - # string needs to be dedented because of a tilde heredoc. It is expected - # that it will modify the string in place and return the number of bytes - # that were removed. - # - # source://prism//lib/prism/translation/ripper.rb#3432 - def dedent_string(string, width); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_BEGIN(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_CHAR(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_END(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on___end__(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_alias(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_alias_error(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_aref(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_aref_field(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_arg_ambiguous(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_arg_paren(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_args_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_args_add_block(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_args_add_star(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_args_forward; end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_args_new; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_array(_); end - - # source://prism//lib/prism/translation/ripper.rb#3393 - def on_aryptn(_, _, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_assign(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_assign_error(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_assoc_new(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_assoc_splat(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_assoclist_from_args(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_backref(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_backtick(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_bare_assoc_hash(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_begin(_); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_binary(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_block_var(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_blockarg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3393 - def on_bodystmt(_, _, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_brace_block(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_break(_); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_call(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_case(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_class(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_class_name_error(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_comma(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_command(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3393 - def on_command_call(_, _, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_comment(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_const(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_const_path_field(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_const_path_ref(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_const_ref(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_cvar(_); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_def(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_defined(_); end - - # source://prism//lib/prism/translation/ripper.rb#3394 - def on_defs(_, _, _, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_do_block(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_dot2(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_dot3(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_dyna_symbol(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_else(_); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_elsif(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_embdoc(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_embdoc_beg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_embdoc_end(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_embexpr_beg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_embexpr_end(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_embvar(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_ensure(_); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_excessed_comma; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_fcall(_); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_field(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_float(_); end - - # source://prism//lib/prism/translation/ripper.rb#3393 - def on_fndptn(_, _, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_for(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_gvar(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_hash(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_heredoc_beg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_heredoc_dedent(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_heredoc_end(_); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_hshptn(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_ident(_); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_if(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_if_mod(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_ifop(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_ignored_nl(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_ignored_sp(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_imaginary(_); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_in(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_int(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_ivar(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_kw(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_kwrest_param(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_label(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_label_end(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_lambda(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_lbrace(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_lbracket(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_lparen(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_magic_comment(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_massign(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_method_add_arg(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_method_add_block(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_mlhs_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_mlhs_add_post(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_mlhs_add_star(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_mlhs_new; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_mlhs_paren(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_module(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_mrhs_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_mrhs_add_star(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_mrhs_new; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_mrhs_new_from_args(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_next(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_nl(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_nokw_param(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_op(_); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_opassign(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_operator_ambiguous(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_param_error(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3395 - def on_params(_, _, _, _, _, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_paren(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_parse_error(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_period(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_program(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_qsymbols_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_qsymbols_beg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_qsymbols_new; end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_qwords_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_qwords_beg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_qwords_new; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_rational(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_rbrace(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_rbracket(_); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_redo; end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_regexp_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_regexp_beg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_regexp_end(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_regexp_literal(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_regexp_new; end - - # source://prism//lib/prism/translation/ripper.rb#3393 - def on_rescue(_, _, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_rescue_mod(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_rest_param(_); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_retry; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_return(_); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_return0; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_rparen(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_sclass(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_semicolon(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_sp(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_stmts_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_stmts_new; end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_string_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_string_concat(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_string_content; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_string_dvar(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_string_embexpr(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_string_literal(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_super(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_symbeg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_symbol(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_symbol_literal(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_symbols_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_symbols_beg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_symbols_new; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_tlambda(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_tlambeg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_top_const_field(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_top_const_ref(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_tstring_beg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_tstring_content(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_tstring_end(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_unary(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_undef(_); end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_unless(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_unless_mod(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_until(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_until_mod(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_var_alias(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_var_field(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_var_ref(_); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_vcall(_); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_void_stmt; end - - # source://prism//lib/prism/translation/ripper.rb#3392 - def on_when(_, _, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_while(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_while_mod(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_word_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_word_new; end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_words_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_words_beg(_); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_words_new; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_words_sep(_); end - - # source://prism//lib/prism/translation/ripper.rb#3391 - def on_xstring_add(_, _); end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_xstring_literal(_); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_xstring_new; end - - # source://prism//lib/prism/translation/ripper.rb#3390 - def on_yield(_); end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_yield0; end - - # source://prism//lib/prism/translation/ripper.rb#3389 - def on_zsuper; end - - # Lazily initialize the parse result. - # - # source://prism//lib/prism/translation/ripper.rb#3271 - def result; end - - # Returns true if there is a comma between the two locations. - # - # @return [Boolean] - # - # source://prism//lib/prism/translation/ripper.rb#3284 - def trailing_comma?(left, right); end - - # Visit one side of an alias global variable node. - # - # source://prism//lib/prism/translation/ripper.rb#570 - def visit_alias_global_variable_node_value(node); end - - # Visit a list of elements, like the elements of an array or arguments. - # - # source://prism//lib/prism/translation/ripper.rb#756 - def visit_arguments(elements); end - - # Visit the clauses of a begin node to form an on_bodystmt call. - # - # source://prism//lib/prism/translation/ripper.rb#840 - def visit_begin_node_clauses(location, node, allow_newline); end - - # Visit the body of a structure that can have either a set of statements - # or statements wrapped in rescue/else/ensure. - # - # source://prism//lib/prism/translation/ripper.rb#875 - def visit_body_node(location, node, allow_newline = T.unsafe(nil)); end - - # Visit the arguments and block of a call node and return the arguments - # and block as they should be used. - # - # source://prism//lib/prism/translation/ripper.rb#1136 - def visit_call_node_arguments(arguments_node, block_node, trailing_comma); end - - # Visit a constant path that is part of a write node. - # - # source://prism//lib/prism/translation/ripper.rb#1489 - def visit_constant_path_write_node_target(node); end - - # Visit a destructured positional parameter node. - # - # source://prism//lib/prism/translation/ripper.rb#2609 - def visit_destructured_parameter_node(node); end - - # Visit a string that is expressed using a <<~ heredoc. - # - # source://prism//lib/prism/translation/ripper.rb#2980 - def visit_heredoc_node(parts, base); end - - # Ripper gives back the escaped string content but strips out the common - # leading whitespace. Prism gives back the unescaped string content and - # a location for the escaped string content. Unfortunately these don't - # work well together, so here we need to re-derive the common leading - # whitespace. - # - # source://prism//lib/prism/translation/ripper.rb#2955 - def visit_heredoc_node_whitespace(parts); end - - # Visit a heredoc node that is representing a string. - # - # source://prism//lib/prism/translation/ripper.rb#3026 - def visit_heredoc_string_node(node); end - - # Visit a heredoc node that is representing an xstring. - # - # source://prism//lib/prism/translation/ripper.rb#3043 - def visit_heredoc_x_string_node(node); end - - # Visit the targets of a multi-target node. - # - # source://prism//lib/prism/translation/ripper.rb#2462 - def visit_multi_target_node_targets(lefts, rest, rights, skippable); end - - # Visit a node that represents a number. We need to explicitly handle the - # unary - operator. - # - # source://prism//lib/prism/translation/ripper.rb#3323 - def visit_number_node(node); end - - # Visit a pattern within a pattern match. This is used to bypass the - # parenthesis node that can be used to wrap patterns. - # - # source://prism//lib/prism/translation/ripper.rb#595 - def visit_pattern_node(node); end - - # Visit the list of statements of a statements node. We support nil - # statements in the list. This would normally not be allowed by the - # structure of the prism parse tree, but we manually add them here so that - # we can mirror Ripper's void stmt. - # - # source://prism//lib/prism/translation/ripper.rb#2921 - def visit_statements_node_body(body); end - - # Visit an individual part of a string-like node. - # - # source://prism//lib/prism/translation/ripper.rb#2211 - def visit_string_content(part); end - - # Visit the string content of a particular node. This method is used to - # split into the various token types. - # - # source://prism//lib/prism/translation/ripper.rb#3296 - def visit_token(token, allow_keywords = T.unsafe(nil)); end - - # Dispatch a words_sep event that contains the space between the elements - # of list literals. - # - # source://prism//lib/prism/translation/ripper.rb#745 - def visit_words_sep(opening_loc, previous, current); end - - # Visit a node that represents a write value. This is used to handle the - # special case of an implicit array that is generated without brackets. - # - # source://prism//lib/prism/translation/ripper.rb#3341 - def visit_write_value(node); end - - # Returns true if there is a semicolon between the two locations. - # - # @return [Boolean] - # - # source://prism//lib/prism/translation/ripper.rb#3289 - def void_stmt?(left, right, allow_newline); end - - # This method is called when weak warning is produced by the parser. - # +fmt+ and +args+ is printf style. - # - # source://prism//lib/prism/translation/ripper.rb#3408 - def warn(fmt, *args); end - - # This method is called when strong warning is produced by the parser. - # +fmt+ and +args+ is printf style. - # - # source://prism//lib/prism/translation/ripper.rb#3413 - def warning(fmt, *args); end - - class << self - # Tokenizes the Ruby program and returns an array of an array, - # which is formatted like - # <code>[[lineno, column], type, token, state]</code>. - # The +filename+ argument is mostly ignored. - # By default, this method does not handle syntax errors in +src+, - # use the +raise_errors+ keyword to raise a SyntaxError for an error in +src+. - # - # require "ripper" - # require "pp" - # - # pp Ripper.lex("def m(a) nil end") - # #=> [[[1, 0], :on_kw, "def", FNAME ], - # [[1, 3], :on_sp, " ", FNAME ], - # [[1, 4], :on_ident, "m", ENDFN ], - # [[1, 5], :on_lparen, "(", BEG|LABEL], - # [[1, 6], :on_ident, "a", ARG ], - # [[1, 7], :on_rparen, ")", ENDFN ], - # [[1, 8], :on_sp, " ", BEG ], - # [[1, 9], :on_kw, "nil", END ], - # [[1, 12], :on_sp, " ", END ], - # [[1, 13], :on_kw, "end", END ]] - # - # source://prism//lib/prism/translation/ripper.rb#72 - def lex(src, filename = T.unsafe(nil), lineno = T.unsafe(nil), raise_errors: T.unsafe(nil)); end - - # Parses the given Ruby program read from +src+. - # +src+ must be a String or an IO or a object with a #gets method. - # - # source://prism//lib/prism/translation/ripper.rb#46 - def parse(src, filename = T.unsafe(nil), lineno = T.unsafe(nil)); end - - # Parses +src+ and create S-exp tree. - # Returns more readable tree rather than Ripper.sexp_raw. - # This method is mainly for developer use. - # The +filename+ argument is mostly ignored. - # By default, this method does not handle syntax errors in +src+, - # returning +nil+ in such cases. Use the +raise_errors+ keyword - # to raise a SyntaxError for an error in +src+. - # - # require "ripper" - # require "pp" - # - # pp Ripper.sexp("def m(a) nil end") - # #=> [:program, - # [[:def, - # [:@ident, "m", [1, 4]], - # [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil, nil, nil, nil]], - # [:bodystmt, [[:var_ref, [:@kw, "nil", [1, 9]]]], nil, nil, nil]]]] - # - # source://prism//lib/prism/translation/ripper.rb#381 - def sexp(src, filename = T.unsafe(nil), lineno = T.unsafe(nil), raise_errors: T.unsafe(nil)); end - - # Parses +src+ and create S-exp tree. - # This method is mainly for developer use. - # The +filename+ argument is mostly ignored. - # By default, this method does not handle syntax errors in +src+, - # returning +nil+ in such cases. Use the +raise_errors+ keyword - # to raise a SyntaxError for an error in +src+. - # - # require "ripper" - # require "pp" - # - # pp Ripper.sexp_raw("def m(a) nil end") - # #=> [:program, - # [:stmts_add, - # [:stmts_new], - # [:def, - # [:@ident, "m", [1, 4]], - # [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil]], - # [:bodystmt, - # [:stmts_add, [:stmts_new], [:var_ref, [:@kw, "nil", [1, 9]]]], - # nil, - # nil, - # nil]]]] - # - # source://prism//lib/prism/translation/ripper.rb#416 - def sexp_raw(src, filename = T.unsafe(nil), lineno = T.unsafe(nil), raise_errors: T.unsafe(nil)); end - end -end - -# A list of all of the Ruby binary operators. -# -# source://prism//lib/prism/translation/ripper.rb#337 -Prism::Translation::Ripper::BINARY_OPERATORS = T.let(T.unsafe(nil), Array) - -# This array contains name of all ripper events. -# -# source://prism//lib/prism/translation/ripper.rb#289 -Prism::Translation::Ripper::EVENTS = T.let(T.unsafe(nil), Array) - -# A list of all of the Ruby keywords. -# -# source://prism//lib/prism/translation/ripper.rb#292 -Prism::Translation::Ripper::KEYWORDS = T.let(T.unsafe(nil), Array) - -# This array contains name of parser events. -# -# source://prism//lib/prism/translation/ripper.rb#283 -Prism::Translation::Ripper::PARSER_EVENTS = T.let(T.unsafe(nil), Array) - -# This contains a table of all of the parser events and their -# corresponding arity. -# -# source://prism//lib/prism/translation/ripper.rb#84 -Prism::Translation::Ripper::PARSER_EVENT_TABLE = T.let(T.unsafe(nil), Hash) - -# This array contains name of scanner events. -# -# source://prism//lib/prism/translation/ripper.rb#286 -Prism::Translation::Ripper::SCANNER_EVENTS = T.let(T.unsafe(nil), Array) - -# This contains a table of all of the scanner events and their -# corresponding arity. -# -# source://prism//lib/prism/translation/ripper.rb#227 -Prism::Translation::Ripper::SCANNER_EVENT_TABLE = T.let(T.unsafe(nil), Hash) - -# This class mirrors the ::Ripper::SexpBuilder subclass of ::Ripper that -# returns the arrays of [type, *children]. -# -# source://prism//lib/prism/translation/ripper/sexp.rb#10 -class Prism::Translation::Ripper::SexpBuilder < ::Prism::Translation::Ripper - # :stopdoc: - # - # source://prism//lib/prism/translation/ripper/sexp.rb#13 - def error; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_BEGIN(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_CHAR(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_END(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on___end__(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_alias(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_alias_error(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_aref(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_aref_field(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_arg_ambiguous(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_arg_paren(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_args_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_args_add_block(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_args_add_star(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_args_forward(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_args_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_array(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_aryptn(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_assign(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_assign_error(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_assoc_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_assoc_splat(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_assoclist_from_args(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_backref(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_backtick(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_bare_assoc_hash(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_begin(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_binary(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_block_var(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_blockarg(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_bodystmt(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_brace_block(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_break(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_call(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_case(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_class(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_class_name_error(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_comma(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_command(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_command_call(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_comment(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_const(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_const_path_field(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_const_path_ref(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_const_ref(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_cvar(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_def(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_defined(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_defs(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_do_block(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_dot2(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_dot3(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_dyna_symbol(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_else(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_elsif(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_embdoc(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_embdoc_beg(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_embdoc_end(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_embexpr_beg(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_embexpr_end(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_embvar(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_ensure(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_excessed_comma(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_fcall(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_field(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_float(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_fndptn(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_for(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_gvar(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_hash(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_heredoc_beg(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_heredoc_end(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_hshptn(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_ident(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_if(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_if_mod(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_ifop(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_ignored_nl(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_ignored_sp(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_imaginary(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_in(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_int(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_ivar(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_kw(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_kwrest_param(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_label(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_label_end(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_lambda(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_lbrace(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_lbracket(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_lparen(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_magic_comment(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_massign(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_method_add_arg(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_method_add_block(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_mlhs_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_mlhs_add_post(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_mlhs_add_star(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_mlhs_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_mlhs_paren(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_module(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_mrhs_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_mrhs_add_star(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_mrhs_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_mrhs_new_from_args(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_next(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_nl(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_nokw_param(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_op(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_opassign(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_operator_ambiguous(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_param_error(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_params(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_paren(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_period(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_program(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_qsymbols_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_qsymbols_beg(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_qsymbols_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_qwords_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_qwords_beg(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_qwords_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_rational(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_rbrace(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_rbracket(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_redo(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_regexp_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_regexp_beg(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_regexp_end(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_regexp_literal(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_regexp_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_rescue(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_rescue_mod(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_rest_param(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_retry(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_return(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_return0(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_rparen(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_sclass(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_semicolon(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_sp(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_stmts_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_stmts_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_string_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_string_concat(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_string_content(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_string_dvar(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_string_embexpr(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_string_literal(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_super(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_symbeg(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_symbol(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_symbol_literal(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_symbols_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_symbols_beg(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_symbols_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_tlambda(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_tlambeg(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_top_const_field(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_top_const_ref(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_tstring_beg(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_tstring_content(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_tstring_end(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_unary(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_undef(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_unless(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_unless_mod(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_until(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_until_mod(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_var_alias(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_var_field(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_var_ref(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_vcall(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_void_stmt(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_when(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_while(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_while_mod(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_word_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_word_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_words_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_words_beg(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_words_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#55 - def on_words_sep(tok); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_xstring_add(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_xstring_literal(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_xstring_new(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_yield(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_yield0(*args); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#47 - def on_zsuper(*args); end - - private - - # source://prism//lib/prism/translation/ripper/sexp.rb#61 - def compile_error(mesg); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#17 - def dedent_element(e, width); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#61 - def on_error(mesg); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#24 - def on_heredoc_dedent(val, width); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#61 - def on_parse_error(mesg); 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://prism//lib/prism/translation/ripper/sexp.rb#74 -class Prism::Translation::Ripper::SexpBuilderPP < ::Prism::Translation::Ripper::SexpBuilder - private - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def _dispatch_event_new; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def _dispatch_event_push(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_args_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def on_args_new; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#79 - def on_heredoc_dedent(val, width); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_mlhs_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#109 - def on_mlhs_add_post(list, post); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#105 - def on_mlhs_add_star(list, star); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def on_mlhs_new; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#101 - def on_mlhs_paren(list); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_mrhs_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def on_mrhs_new; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_qsymbols_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def on_qsymbols_new; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_qwords_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def on_qwords_new; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_regexp_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def on_regexp_new; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_stmts_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def on_stmts_new; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_string_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_symbols_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def on_symbols_new; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_word_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def on_word_new; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_words_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def on_words_new; end - - # source://prism//lib/prism/translation/ripper/sexp.rb#96 - def on_xstring_add(list, item); end - - # source://prism//lib/prism/translation/ripper/sexp.rb#92 - def on_xstring_new; end -end - -# This module is the entry-point for converting a prism syntax tree into the -# seattlerb/ruby_parser gem's syntax tree. -# -# source://prism//lib/prism/translation/ruby_parser.rb#14 -class Prism::Translation::RubyParser - # Parse the given source and translate it into the seattlerb/ruby_parser - # gem's Sexp format. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1592 - def parse(source, filepath = T.unsafe(nil)); end - - # Parse the given file and translate it into the seattlerb/ruby_parser - # gem's Sexp format. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1598 - def parse_file(filepath); end - - private - - # Translate the given parse result and filepath into the - # seattlerb/ruby_parser gem's Sexp format. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1620 - def translate(result, filepath); end - - class << self - # Parse the given source and translate it into the seattlerb/ruby_parser - # gem's Sexp format. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1605 - def parse(source, filepath = T.unsafe(nil)); end - - # Parse the given file and translate it into the seattlerb/ruby_parser - # gem's Sexp format. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1611 - def parse_file(filepath); end - end -end - -# A prism visitor that builds Sexp objects. -# -# source://prism//lib/prism/translation/ruby_parser.rb#16 -class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler - # Initialize a new compiler with the given file name. - # - # @return [Compiler] a new instance of Compiler - # - # source://prism//lib/prism/translation/ruby_parser.rb#31 - def initialize(file, in_def: T.unsafe(nil), in_pattern: T.unsafe(nil)); end - - # This is the name of the file that we are compiling. We set it on every - # Sexp object that is generated, and also use it to compile __FILE__ - # nodes. - # - # source://prism//lib/prism/translation/ruby_parser.rb#20 - def file; end - - # Class variables will change their type based on if they are inside of - # a method definition or not, so we need to track that state. - # - # source://prism//lib/prism/translation/ruby_parser.rb#24 - def in_def; end - - # Some nodes will change their representation if they are inside of a - # pattern, so we need to track that state. - # - # source://prism//lib/prism/translation/ruby_parser.rb#28 - def in_pattern; end - - # alias $foo $bar - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#45 - def visit_alias_global_variable_node(node); end - - # alias foo bar - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#39 - def visit_alias_method_node(node); end - - # foo => bar | baz - # ^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#51 - def visit_alternation_pattern_node(node); end - - # a and b - # ^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#57 - def visit_and_node(node); end - - # foo(bar) - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#108 - def visit_arguments_node(node); end - - # [] - # ^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#75 - def visit_array_node(node); end - - # foo => [bar] - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#85 - def visit_array_pattern_node(node); end - - # { a: 1 } - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#114 - def visit_assoc_node(node); end - - # def foo(**); bar(**); end - # ^^ - # - # { **foo } - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#123 - def visit_assoc_splat_node(node); end - - # $+ - # ^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#133 - def visit_back_reference_read_node(node); end - - # begin end - # ^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#139 - def visit_begin_node(node); end - - # foo(&bar) - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#172 - def visit_block_argument_node(node); end - - # foo { |; bar| } - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#180 - def visit_block_local_variable_node(node); end - - # A block on a keyword or method call. - # - # source://prism//lib/prism/translation/ruby_parser.rb#185 - def visit_block_node(node); end - - # def foo(&bar); end - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#191 - def visit_block_parameter_node(node); end - - # A block's parameters. - # - # source://prism//lib/prism/translation/ruby_parser.rb#196 - def visit_block_parameters_node(node); end - - # break - # ^^^^^ - # - # break foo - # ^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#236 - def visit_break_node(node); end - - # foo.bar &&= baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#304 - def visit_call_and_write_node(node); end - - # foo - # ^^^ - # - # foo.bar - # ^^^^^^^ - # - # foo.bar() {} - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#254 - def visit_call_node(node); end - - # foo.bar += baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#294 - def visit_call_operator_write_node(node); end - - # foo.bar ||= baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#314 - def visit_call_or_write_node(node); end - - # foo.bar, = 1 - # ^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#337 - def visit_call_target_node(node); end - - # foo => bar => baz - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#343 - def visit_capture_pattern_node(node); end - - # case foo; in bar; end - # ^^^^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#355 - def visit_case_match_node(node); end - - # case foo; when bar; end - # ^^^^^^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#349 - def visit_case_node(node); end - - # class Foo; end - # ^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#361 - def visit_class_node(node); end - - # @@foo &&= bar - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#402 - def visit_class_variable_and_write_node(node); end - - # @@foo += bar - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#396 - def visit_class_variable_operator_write_node(node); end - - # @@foo ||= bar - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#408 - def visit_class_variable_or_write_node(node); end - - # @@foo - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#381 - def visit_class_variable_read_node(node); end - - # @@foo, = bar - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#414 - def visit_class_variable_target_node(node); end - - # @@foo = 1 - # ^^^^^^^^^ - # - # @@foo, @@bar = 1 - # ^^^^^ ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#390 - def visit_class_variable_write_node(node); end - - # Foo &&= bar - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#447 - def visit_constant_and_write_node(node); end - - # Foo += bar - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#441 - def visit_constant_operator_write_node(node); end - - # Foo ||= bar - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#453 - def visit_constant_or_write_node(node); end - - # Foo::Bar &&= baz - # ^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#490 - def visit_constant_path_and_write_node(node); end - - # Foo::Bar - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#465 - def visit_constant_path_node(node); end - - # Foo::Bar += baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#484 - def visit_constant_path_operator_write_node(node); end - - # Foo::Bar ||= baz - # ^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#496 - def visit_constant_path_or_write_node(node); end - - # Foo::Bar, = baz - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#502 - def visit_constant_path_target_node(node); end - - # Foo::Bar = 1 - # ^^^^^^^^^^^^ - # - # Foo::Foo, Bar::Bar = 1 - # ^^^^^^^^ ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#478 - def visit_constant_path_write_node(node); end - - # Foo - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#426 - def visit_constant_read_node(node); end - - # Foo, = bar - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#459 - def visit_constant_target_node(node); end - - # Foo = 1 - # ^^^^^^^ - # - # Foo, Bar = 1 - # ^^^ ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#435 - def visit_constant_write_node(node); end - - # def foo; end - # ^^^^^^^^^^^^ - # - # def self.foo; end - # ^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#518 - def visit_def_node(node); end - - # defined? a - # ^^^^^^^^^^ - # - # defined?(a) - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#549 - def visit_defined_node(node); end - - # if foo then bar else baz end - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#555 - def visit_else_node(node); end - - # "foo #{bar}" - # ^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#561 - def visit_embedded_statements_node(node); end - - # "foo #@bar" - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#569 - def visit_embedded_variable_node(node); end - - # begin; foo; ensure; bar; end - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#575 - def visit_ensure_node(node); end - - # false - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#581 - def visit_false_node(node); end - - # foo => [*, bar, *] - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#587 - def visit_find_pattern_node(node); end - - # if foo .. bar; end - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#593 - def visit_flip_flop_node(node); end - - # 1.0 - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#603 - def visit_float_node(node); end - - # for foo in bar do end - # ^^^^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#609 - def visit_for_node(node); end - - # def foo(...); bar(...); end - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#615 - def visit_forwarding_arguments_node(node); end - - # def foo(...); end - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#621 - def visit_forwarding_parameter_node(node); end - - # super - # ^^^^^ - # - # super {} - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#630 - def visit_forwarding_super_node(node); end - - # $foo &&= bar - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#657 - def visit_global_variable_and_write_node(node); end - - # $foo += bar - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#651 - def visit_global_variable_operator_write_node(node); end - - # $foo ||= bar - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#663 - def visit_global_variable_or_write_node(node); end - - # $foo - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#636 - def visit_global_variable_read_node(node); end - - # $foo, = bar - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#669 - def visit_global_variable_target_node(node); end - - # $foo = 1 - # ^^^^^^^^ - # - # $foo, $bar = 1 - # ^^^^ ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#645 - def visit_global_variable_write_node(node); end - - # {} - # ^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#675 - def visit_hash_node(node); end - - # foo => {} - # ^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#681 - def visit_hash_pattern_node(node); end - - # if foo then bar end - # ^^^^^^^^^^^^^^^^^^^ - # - # bar if foo - # ^^^^^^^^^^ - # - # foo ? bar : baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#702 - def visit_if_node(node); end - - # 1i - # - # source://prism//lib/prism/translation/ruby_parser.rb#707 - def visit_imaginary_node(node); end - - # { foo: } - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#713 - def visit_implicit_node(node); end - - # foo { |bar,| } - # ^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#718 - def visit_implicit_rest_node(node); end - - # case foo; in bar; end - # ^^^^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#723 - def visit_in_node(node); end - - # foo[bar] &&= baz - # ^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#749 - def visit_index_and_write_node(node); end - - # foo[bar] += baz - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#736 - def visit_index_operator_write_node(node); end - - # foo[bar] ||= baz - # ^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#762 - def visit_index_or_write_node(node); end - - # foo[bar], = 1 - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#775 - def visit_index_target_node(node); end - - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#805 - def visit_instance_variable_and_write_node(node); end - - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#799 - def visit_instance_variable_operator_write_node(node); end - - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#811 - def visit_instance_variable_or_write_node(node); end - - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#784 - def visit_instance_variable_read_node(node); end - - # @foo, = bar - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#817 - def visit_instance_variable_target_node(node); end - - # ^^^^^^^^ - # - # @foo, @bar = 1 - # ^^^^ ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#793 - def visit_instance_variable_write_node(node); end - - # 1 - # ^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#823 - def visit_integer_node(node); end - - # if /foo #{bar}/ then end - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#829 - def visit_interpolated_match_last_line_node(node); end - - # /foo #{bar}/ - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#846 - def visit_interpolated_regular_expression_node(node); end - - # "foo #{bar}" - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#861 - def visit_interpolated_string_node(node); end - - # :"foo #{bar}" - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#868 - def visit_interpolated_symbol_node(node); end - - # `foo #{bar}` - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#875 - def visit_interpolated_x_string_node(node); end - - # -> { it } - # ^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#947 - def visit_it_local_variable_read_node(node); end - - # foo(bar: baz) - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#953 - def visit_keyword_hash_node(node); end - - # def foo(**bar); end - # ^^^^^ - # - # def foo(**); end - # ^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#962 - def visit_keyword_rest_parameter_node(node); end - - # -> {} - # - # source://prism//lib/prism/translation/ruby_parser.rb#967 - def visit_lambda_node(node); end - - # foo &&= bar - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1010 - def visit_local_variable_and_write_node(node); end - - # foo += bar - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1004 - def visit_local_variable_operator_write_node(node); end - - # foo ||= bar - # ^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1016 - def visit_local_variable_or_write_node(node); end - - # foo - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#985 - def visit_local_variable_read_node(node); end - - # foo, = bar - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1022 - def visit_local_variable_target_node(node); end - - # foo = 1 - # ^^^^^^^ - # - # foo, bar = 1 - # ^^^ ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#998 - def visit_local_variable_write_node(node); end - - # if /foo/ then end - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1028 - def visit_match_last_line_node(node); end - - # foo in bar - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1034 - def visit_match_predicate_node(node); end - - # foo => bar - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1040 - def visit_match_required_node(node); end - - # /(?<foo>foo)/ =~ bar - # ^^^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1046 - def visit_match_write_node(node); end - - # A node that is missing from the syntax tree. This is only used in the - # case of a syntax error. The parser gem doesn't have such a concept, so - # we invent our own here. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1053 - def visit_missing_node(node); end - - # module Foo; end - # ^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1059 - def visit_module_node(node); end - - # foo, bar = baz - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1079 - def visit_multi_target_node(node); end - - # foo, bar = baz - # ^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1089 - def visit_multi_write_node(node); end - - # next - # ^^^^ - # - # next foo - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1113 - def visit_next_node(node); end - - # nil - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1126 - def visit_nil_node(node); end - - # def foo(**nil); end - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1132 - def visit_no_keywords_parameter_node(node); end - - # -> { _1 + _2 } - # ^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1138 - def visit_numbered_parameters_node(node); end - - # $1 - # ^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1144 - def visit_numbered_reference_read_node(node); end - - # def foo(bar: baz); end - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1150 - def visit_optional_keyword_parameter_node(node); end - - # def foo(bar = 1); end - # ^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1156 - def visit_optional_parameter_node(node); end - - # a or b - # ^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1162 - def visit_or_node(node); end - - # def foo(bar, *baz); end - # ^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1180 - def visit_parameters_node(node); end - - # () - # ^^ - # - # (1) - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1218 - def visit_parentheses_node(node); end - - # foo => ^(bar) - # ^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1228 - def visit_pinned_expression_node(node); end - - # foo = 1 and bar => ^foo - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1234 - def visit_pinned_variable_node(node); end - - # END {} - # - # source://prism//lib/prism/translation/ruby_parser.rb#1243 - def visit_post_execution_node(node); end - - # BEGIN {} - # - # source://prism//lib/prism/translation/ruby_parser.rb#1248 - def visit_pre_execution_node(node); end - - # The top-level program node. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1253 - def visit_program_node(node); end - - # 0..5 - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1259 - def visit_range_node(node); end - - # 1r - # ^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1281 - def visit_rational_node(node); end - - # redo - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1287 - def visit_redo_node(node); end - - # /foo/ - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1293 - def visit_regular_expression_node(node); end - - # def foo(bar:); end - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1299 - def visit_required_keyword_parameter_node(node); end - - # def foo(bar); end - # ^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1305 - def visit_required_parameter_node(node); end - - # foo rescue bar - # ^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1311 - def visit_rescue_modifier_node(node); end - - # begin; rescue; end - # ^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1317 - def visit_rescue_node(node); end - - # def foo(*bar); end - # ^^^^ - # - # def foo(*); end - # ^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1337 - def visit_rest_parameter_node(node); end - - # retry - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1343 - def visit_retry_node(node); end - - # return - # ^^^^^^ - # - # return 1 - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1352 - def visit_return_node(node); end - - # self - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1365 - def visit_self_node(node); end - - # A shareable constant. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1370 - def visit_shareable_constant_node(node); end - - # class << self; end - # ^^^^^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1376 - def visit_singleton_class_node(node); end - - # __ENCODING__ - # ^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1384 - def visit_source_encoding_node(node); end - - # __FILE__ - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1391 - def visit_source_file_node(node); end - - # __LINE__ - # ^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1397 - def visit_source_line_node(node); end - - # foo(*bar) - # ^^^^ - # - # def foo((bar, *baz)); end - # ^^^^ - # - # def foo(*); bar(*); end - # ^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1409 - def visit_splat_node(node); end - - # A list of statements. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1418 - def visit_statements_node(node); end - - # "foo" - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1430 - def visit_string_node(node); end - - # super(foo) - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1436 - def visit_super_node(node); end - - # :foo - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1450 - def visit_symbol_node(node); end - - # true - # ^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1456 - def visit_true_node(node); end - - # undef foo - # ^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1462 - def visit_undef_node(node); end - - # unless foo; bar end - # ^^^^^^^^^^^^^^^^^^^ - # - # bar unless foo - # ^^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1472 - def visit_unless_node(node); end - - # until foo; bar end - # ^^^^^^^^^^^^^^^^^ - # - # bar until foo - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1481 - def visit_until_node(node); end - - # case foo; when bar; end - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1487 - def visit_when_node(node); end - - # while foo; bar end - # ^^^^^^^^^^^^^^^^^^ - # - # bar while foo - # ^^^^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1496 - def visit_while_node(node); end - - # `foo` - # ^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1502 - def visit_x_string_node(node); end - - # yield - # ^^^^^ - # - # yield 1 - # ^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1518 - def visit_yield_node(node); end - - private - - # If a class variable is written within a method definition, it has a - # different type than everywhere else. - # - # source://prism//lib/prism/translation/ruby_parser.rb#420 - def class_variable_write_type; end - - # Create a new compiler with the given options. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1525 - def copy_compiler(in_def: T.unsafe(nil), in_pattern: T.unsafe(nil)); end - - # Call nodes with operators following them will either be op_asgn or - # op_asgn2 nodes. That is determined by their call operator and their - # right-hand side. - # - # @return [Boolean] - # - # source://prism//lib/prism/translation/ruby_parser.rb#325 - def op_asgn?(node); end - - # Call nodes with operators following them can use &. as an operator, - # which changes their type by prefixing "safe_". - # - # source://prism//lib/prism/translation/ruby_parser.rb#331 - def op_asgn_type(node, type); end - - # Create a new Sexp object from the given prism node and arguments. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1530 - def s(node, *arguments); end - - # Visit a block node, which will modify the AST by wrapping the given - # visited node in an iter node. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1540 - def visit_block(node, sexp, block); end - - # def foo((bar, baz)); end - # ^^^^^^^^^^ - # - # source://prism//lib/prism/translation/ruby_parser.rb#1195 - def visit_destructured_parameter(node); end - - # Visit the interpolated content of the string-like node. - # - # source://prism//lib/prism/translation/ruby_parser.rb#882 - def visit_interpolated_parts(parts); end - - # Pattern constants get wrapped in another layer of :const. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1561 - def visit_pattern_constant(node); end - - # If the bounds of a range node are empty parentheses, then they do not - # get replaced by their usual s(:nil), but instead are s(:begin). - # - # source://prism//lib/prism/translation/ruby_parser.rb#1271 - def visit_range_bounds_node(node); end - - # Visit the value of a write, which will be on the right-hand side of - # a write operator. Because implicit arrays can have splats, those could - # potentially be wrapped in an svalue node. - # - # source://prism//lib/prism/translation/ruby_parser.rb#1575 - def visit_write_value(node); end -end - -# Represents the use of the literal `true` keyword. -# -# true -# ^^^^ -# -# source://prism//lib/prism/node.rb#15704 -class Prism::TrueNode < ::Prism::Node - # Initialize a new TrueNode node. - # - # @return [TrueNode] a new instance of TrueNode - # - # source://prism//lib/prism/node.rb#15706 - def initialize(source, node_id, location, flags); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#15763 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#15714 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15719 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#15729 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#15724 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> TrueNode - # - # source://prism//lib/prism/node.rb#15734 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15719 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } - # - # source://prism//lib/prism/node.rb#15742 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#15747 - sig { override.returns(String) } - def inspect; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#15752 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#15757 - def type; end - end -end - -# Represents the use of the `undef` keyword. -# -# undef :foo, :bar, :baz -# ^^^^^^^^^^^^^^^^^^^^^^ -# -# source://prism//lib/prism/node.rb#15772 -class Prism::UndefNode < ::Prism::Node - # Initialize a new UndefNode node. - # - # @return [UndefNode] a new instance of UndefNode - # - # source://prism//lib/prism/node.rb#15774 - def initialize(source, node_id, location, flags, names, keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#15848 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#15784 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15789 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#15799 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#15794 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?names: Array[SymbolNode | InterpolatedSymbolNode], ?keyword_loc: Location) -> UndefNode - # - # source://prism//lib/prism/node.rb#15804 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), names: T.unsafe(nil), keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15789 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, names: Array[SymbolNode | InterpolatedSymbolNode], keyword_loc: Location } - # - # source://prism//lib/prism/node.rb#15812 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#15832 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#15827 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#15820 - def keyword_loc; end - - # attr_reader names: Array[SymbolNode | InterpolatedSymbolNode] - # - # source://prism//lib/prism/node.rb#15817 - def names; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#15837 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#15842 - def type; end - 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://prism//lib/prism/node.rb#15863 -class Prism::UnlessNode < ::Prism::Node - # Initialize a new UnlessNode node. - # - # @return [UnlessNode] a new instance of UnlessNode - # - # source://prism//lib/prism/node.rb#15865 - def initialize(source, node_id, location, flags, keyword_loc, predicate, then_keyword_loc, statements, else_clause, end_keyword_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#16014 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#15879 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15884 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#15898 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#15889 - def compact_child_nodes; end - - # Returns the else clause of the unless node. This method is deprecated in - # favor of #else_clause. - # - # source://prism//lib/prism/node_ext.rb#503 - def consequent; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?predicate: Prism::node, ?then_keyword_loc: Location?, ?statements: StatementsNode?, ?else_clause: ElseNode?, ?end_keyword_loc: Location?) -> UnlessNode - # - # source://prism//lib/prism/node.rb#15903 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), predicate: T.unsafe(nil), then_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil), else_clause: T.unsafe(nil), end_keyword_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#15884 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, predicate: Prism::node, then_keyword_loc: Location?, statements: StatementsNode?, else_clause: ElseNode?, end_keyword_loc: Location? } - # - # source://prism//lib/prism/node.rb#15911 - def deconstruct_keys(keys); end - - # The else clause of the unless expression, if present. - # - # unless cond then bar else baz end - # ^^^^^^^^ - # - # source://prism//lib/prism/node.rb#15964 - def else_clause; end - - # def end_keyword: () -> String? - # - # source://prism//lib/prism/node.rb#15993 - def end_keyword; end - - # The location of the `end` keyword, if present. - # - # unless cond then bar end - # ^^^ - # - # source://prism//lib/prism/node.rb#15970 - def end_keyword_loc; end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#15998 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#15983 - def keyword; end - - # The location of the `unless` keyword. - # - # unless cond then bar end - # ^^^^^^ - # - # bar unless cond - # ^^^^^^ - # - # source://prism//lib/prism/node.rb#15922 - def keyword_loc; end - - # source://prism//lib/prism/parse_result/newlines.rb#97 - def newline_flag!(lines); end - - # The condition to be evaluated for the unless expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). - # - # unless cond then bar end - # ^^^^ - # - # bar unless cond - # ^^^^ - # - # source://prism//lib/prism/node.rb#15935 - def predicate; end - - # The body of statements that will executed if the unless condition is - # falsey. Will be `nil` if no body is provided. - # - # unless cond then bar end - # ^^^ - # - # source://prism//lib/prism/node.rb#15958 - def statements; end - - # def then_keyword: () -> String? - # - # source://prism//lib/prism/node.rb#15988 - def then_keyword; end - - # The location of the `then` keyword, if present. - # - # unless cond then bar end - # ^^^^ - # - # source://prism//lib/prism/node.rb#15941 - def then_keyword_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#16003 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#16008 - def type; end - 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://prism//lib/prism/node.rb#16032 -class Prism::UntilNode < ::Prism::Node - # Initialize a new UntilNode node. - # - # @return [UntilNode] a new instance of UntilNode - # - # source://prism//lib/prism/node.rb#16034 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - closing_loc: T.nilable(Prism::Location), - predicate: Prism::Node, - statements: T.nilable(Prism::StatementsNode) - ).void - end - def initialize(source, node_id, location, flags, keyword_loc, closing_loc, predicate, statements); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#16139 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#16046 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def begin_modifier?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#16082 - sig { returns(T::Boolean) } - def begin_modifier?; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#16051 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#16118 - sig { returns(T.nilable(String)) } - def closing; end - - # attr_reader closing_loc: Location? - # - # source://prism//lib/prism/node.rb#16094 - sig { returns(T.nilable(Prism::Location)) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#16064 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#16056 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?) -> UntilNode - # - # source://prism//lib/prism/node.rb#16069 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - closing_loc: T.nilable(Prism::Location), - predicate: Prism::Node, - statements: T.nilable(Prism::StatementsNode) - ).returns(Prism::UntilNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), predicate: T.unsafe(nil), statements: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#16051 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, closing_loc: Location?, predicate: Prism::node, statements: StatementsNode? } - # - # source://prism//lib/prism/node.rb#16077 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#16123 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#16113 - sig { returns(String) } - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#16087 - sig { returns(Prism::Location) } - def keyword_loc; end - - # source://prism//lib/prism/parse_result/newlines.rb#103 - def newline_flag!(lines); end - - # attr_reader predicate: Prism::node - # - # source://prism//lib/prism/node.rb#16107 - sig { returns(Prism::Node) } - def predicate; end - - # attr_reader statements: StatementsNode? - # - # source://prism//lib/prism/node.rb#16110 - sig { returns(T.nilable(Prism::StatementsNode)) } - def statements; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#16128 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#16133 - def type; end - end -end - -# The version constant is set by reading the result of calling pm_version. -Prism::VERSION = T.let(T.unsafe(nil), String) - -# A visitor is a class that provides a default implementation for every accept -# method defined on the nodes. This means it can walk a tree without the -# caller needing to define any special handling. This allows you to handle a -# subset of the tree, while still walking the whole tree. -# -# For example, to find all of the method calls that call the `foo` method, you -# could write: -# -# class FooCalls < Prism::Visitor -# def visit_call_node(node) -# if node.name == "foo" -# # Do something with the node -# end -# -# # Call super so that the visitor continues walking the tree -# super -# end -# end -# -# source://prism//lib/prism/visitor.rb#54 -class Prism::Visitor < ::Prism::BasicVisitor - # Visit a AliasGlobalVariableNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::AliasGlobalVariableNode).void } - def visit_alias_global_variable_node(node); end - - # Visit a AliasMethodNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::AliasMethodNode).void } - def visit_alias_method_node(node); end - - # Visit a AlternationPatternNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::AlternationPatternNode).void } - def visit_alternation_pattern_node(node); end - - # Visit a AndNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::AndNode).void } - def visit_and_node(node); end - - # Visit a ArgumentsNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ArgumentsNode).void } - def visit_arguments_node(node); end - - # Visit a ArrayNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ArrayNode).void } - def visit_array_node(node); end - - # Visit a ArrayPatternNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ArrayPatternNode).void } - def visit_array_pattern_node(node); end - - # Visit a AssocNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::AssocNode).void } - def visit_assoc_node(node); end - - # Visit a AssocSplatNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::AssocSplatNode).void } - def visit_assoc_splat_node(node); end - - # Visit a BackReferenceReadNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::BackReferenceReadNode).void } - def visit_back_reference_read_node(node); end - - # Visit a BeginNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::BeginNode).void } - def visit_begin_node(node); end - - # Visit a BlockArgumentNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::BlockArgumentNode).void } - def visit_block_argument_node(node); end - - # Visit a BlockLocalVariableNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::BlockLocalVariableNode).void } - def visit_block_local_variable_node(node); end - - # Visit a BlockNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::BlockNode).void } - def visit_block_node(node); end - - # Visit a BlockParameterNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::BlockParameterNode).void } - def visit_block_parameter_node(node); end - - # Visit a BlockParametersNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::BlockParametersNode).void } - def visit_block_parameters_node(node); end - - # Visit a BreakNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::BreakNode).void } - def visit_break_node(node); end - - # Visit a CallAndWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::CallAndWriteNode).void } - def visit_call_and_write_node(node); end - - # Visit a CallNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::CallNode).void } - def visit_call_node(node); end - - # Visit a CallOperatorWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::CallOperatorWriteNode).void } - def visit_call_operator_write_node(node); end - - # Visit a CallOrWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::CallOrWriteNode).void } - def visit_call_or_write_node(node); end - - # Visit a CallTargetNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::CallTargetNode).void } - def visit_call_target_node(node); end - - # Visit a CapturePatternNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::CapturePatternNode).void } - def visit_capture_pattern_node(node); end - - # Visit a CaseMatchNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::CaseMatchNode).void } - def visit_case_match_node(node); end - - # Visit a CaseNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::CaseNode).void } - def visit_case_node(node); end - - # Visit a ClassNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ClassNode).void } - def visit_class_node(node); end - - # Visit a ClassVariableAndWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ClassVariableAndWriteNode).void } - def visit_class_variable_and_write_node(node); end - - # Visit a ClassVariableOperatorWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ClassVariableOperatorWriteNode).void } - def visit_class_variable_operator_write_node(node); end - - # Visit a ClassVariableOrWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ClassVariableOrWriteNode).void } - def visit_class_variable_or_write_node(node); end - - # Visit a ClassVariableReadNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ClassVariableReadNode).void } - def visit_class_variable_read_node(node); end - - # Visit a ClassVariableTargetNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ClassVariableTargetNode).void } - def visit_class_variable_target_node(node); end - - # Visit a ClassVariableWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ClassVariableWriteNode).void } - def visit_class_variable_write_node(node); end - - # Visit a ConstantAndWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantAndWriteNode).void } - def visit_constant_and_write_node(node); end - - # Visit a ConstantOperatorWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantOperatorWriteNode).void } - def visit_constant_operator_write_node(node); end - - # Visit a ConstantOrWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantOrWriteNode).void } - def visit_constant_or_write_node(node); end - - # Visit a ConstantPathAndWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantPathAndWriteNode).void } - def visit_constant_path_and_write_node(node); end - - # Visit a ConstantPathNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantPathNode).void } - def visit_constant_path_node(node); end - - # Visit a ConstantPathOperatorWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantPathOperatorWriteNode).void } - def visit_constant_path_operator_write_node(node); end - - # Visit a ConstantPathOrWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantPathOrWriteNode).void } - def visit_constant_path_or_write_node(node); end - - # Visit a ConstantPathTargetNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantPathTargetNode).void } - def visit_constant_path_target_node(node); end - - # Visit a ConstantPathWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantPathWriteNode).void } - def visit_constant_path_write_node(node); end - - # Visit a ConstantReadNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantReadNode).void } - def visit_constant_read_node(node); end - - # Visit a ConstantTargetNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantTargetNode).void } - def visit_constant_target_node(node); end - - # Visit a ConstantWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ConstantWriteNode).void } - def visit_constant_write_node(node); end - - # Visit a DefNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::DefNode).void } - def visit_def_node(node); end - - # Visit a DefinedNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::DefinedNode).void } - def visit_defined_node(node); end - - # Visit a ElseNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ElseNode).void } - def visit_else_node(node); end - - # Visit a EmbeddedStatementsNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::EmbeddedStatementsNode).void } - def visit_embedded_statements_node(node); end - - # Visit a EmbeddedVariableNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::EmbeddedVariableNode).void } - def visit_embedded_variable_node(node); end - - # Visit a EnsureNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::EnsureNode).void } - def visit_ensure_node(node); end - - # Visit a FalseNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::FalseNode).void } - def visit_false_node(node); end - - # Visit a FindPatternNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::FindPatternNode).void } - def visit_find_pattern_node(node); end - - # Visit a FlipFlopNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::FlipFlopNode).void } - def visit_flip_flop_node(node); end - - # Visit a FloatNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::FloatNode).void } - def visit_float_node(node); end - - # Visit a ForNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ForNode).void } - def visit_for_node(node); end - - # Visit a ForwardingArgumentsNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ForwardingArgumentsNode).void } - def visit_forwarding_arguments_node(node); end - - # Visit a ForwardingParameterNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ForwardingParameterNode).void } - def visit_forwarding_parameter_node(node); end - - # Visit a ForwardingSuperNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ForwardingSuperNode).void } - def visit_forwarding_super_node(node); end - - # Visit a GlobalVariableAndWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::GlobalVariableAndWriteNode).void } - def visit_global_variable_and_write_node(node); end - - # Visit a GlobalVariableOperatorWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::GlobalVariableOperatorWriteNode).void } - def visit_global_variable_operator_write_node(node); end - - # Visit a GlobalVariableOrWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::GlobalVariableOrWriteNode).void } - def visit_global_variable_or_write_node(node); end - - # Visit a GlobalVariableReadNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::GlobalVariableReadNode).void } - def visit_global_variable_read_node(node); end - - # Visit a GlobalVariableTargetNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::GlobalVariableTargetNode).void } - def visit_global_variable_target_node(node); end - - # Visit a GlobalVariableWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::GlobalVariableWriteNode).void } - def visit_global_variable_write_node(node); end - - # Visit a HashNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::HashNode).void } - def visit_hash_node(node); end - - # Visit a HashPatternNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::HashPatternNode).void } - def visit_hash_pattern_node(node); end - - # Visit a IfNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::IfNode).void } - def visit_if_node(node); end - - # Visit a ImaginaryNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ImaginaryNode).void } - def visit_imaginary_node(node); end - - # Visit a ImplicitNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ImplicitNode).void } - def visit_implicit_node(node); end - - # Visit a ImplicitRestNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ImplicitRestNode).void } - def visit_implicit_rest_node(node); end - - # Visit a InNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InNode).void } - def visit_in_node(node); end - - # Visit a IndexAndWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::IndexAndWriteNode).void } - def visit_index_and_write_node(node); end - - # Visit a IndexOperatorWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::IndexOperatorWriteNode).void } - def visit_index_operator_write_node(node); end - - # Visit a IndexOrWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::IndexOrWriteNode).void } - def visit_index_or_write_node(node); end - - # Visit a IndexTargetNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::IndexTargetNode).void } - def visit_index_target_node(node); end - - # Visit a InstanceVariableAndWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InstanceVariableAndWriteNode).void } - def visit_instance_variable_and_write_node(node); end - - # Visit a InstanceVariableOperatorWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InstanceVariableOperatorWriteNode).void } - def visit_instance_variable_operator_write_node(node); end - - # Visit a InstanceVariableOrWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InstanceVariableOrWriteNode).void } - def visit_instance_variable_or_write_node(node); end - - # Visit a InstanceVariableReadNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InstanceVariableReadNode).void } - def visit_instance_variable_read_node(node); end - - # Visit a InstanceVariableTargetNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InstanceVariableTargetNode).void } - def visit_instance_variable_target_node(node); end - - # Visit a InstanceVariableWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InstanceVariableWriteNode).void } - def visit_instance_variable_write_node(node); end - - # Visit a IntegerNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::IntegerNode).void } - def visit_integer_node(node); end - - # Visit a InterpolatedMatchLastLineNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InterpolatedMatchLastLineNode).void } - def visit_interpolated_match_last_line_node(node); end - - # Visit a InterpolatedRegularExpressionNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InterpolatedRegularExpressionNode).void } - def visit_interpolated_regular_expression_node(node); end - - # Visit a InterpolatedStringNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InterpolatedStringNode).void } - def visit_interpolated_string_node(node); end - - # Visit a InterpolatedSymbolNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InterpolatedSymbolNode).void } - def visit_interpolated_symbol_node(node); end - - # Visit a InterpolatedXStringNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::InterpolatedXStringNode).void } - def visit_interpolated_x_string_node(node); end - - # Visit a ItLocalVariableReadNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ItLocalVariableReadNode).void } - def visit_it_local_variable_read_node(node); end - - # Visit a ItParametersNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ItParametersNode).void } - def visit_it_parameters_node(node); end - - # Visit a KeywordHashNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::KeywordHashNode).void } - def visit_keyword_hash_node(node); end - - # Visit a KeywordRestParameterNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::KeywordRestParameterNode).void } - def visit_keyword_rest_parameter_node(node); end - - # Visit a LambdaNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::LambdaNode).void } - def visit_lambda_node(node); end - - # Visit a LocalVariableAndWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::LocalVariableAndWriteNode).void } - def visit_local_variable_and_write_node(node); end - - # Visit a LocalVariableOperatorWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::LocalVariableOperatorWriteNode).void } - def visit_local_variable_operator_write_node(node); end - - # Visit a LocalVariableOrWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::LocalVariableOrWriteNode).void } - def visit_local_variable_or_write_node(node); end - - # Visit a LocalVariableReadNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::LocalVariableReadNode).void } - def visit_local_variable_read_node(node); end - - # Visit a LocalVariableTargetNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::LocalVariableTargetNode).void } - def visit_local_variable_target_node(node); end - - # Visit a LocalVariableWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::LocalVariableWriteNode).void } - def visit_local_variable_write_node(node); end - - # Visit a MatchLastLineNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::MatchLastLineNode).void } - def visit_match_last_line_node(node); end - - # Visit a MatchPredicateNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::MatchPredicateNode).void } - def visit_match_predicate_node(node); end - - # Visit a MatchRequiredNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::MatchRequiredNode).void } - def visit_match_required_node(node); end - - # Visit a MatchWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::MatchWriteNode).void } - def visit_match_write_node(node); end - - # Visit a MissingNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::MissingNode).void } - def visit_missing_node(node); end - - # Visit a ModuleNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ModuleNode).void } - def visit_module_node(node); end - - # Visit a MultiTargetNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::MultiTargetNode).void } - def visit_multi_target_node(node); end - - # Visit a MultiWriteNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::MultiWriteNode).void } - def visit_multi_write_node(node); end - - # Visit a NextNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::NextNode).void } - def visit_next_node(node); end - - # Visit a NilNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::NilNode).void } - def visit_nil_node(node); end - - # Visit a NoKeywordsParameterNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::NoKeywordsParameterNode).void } - def visit_no_keywords_parameter_node(node); end - - # Visit a NumberedParametersNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::NumberedParametersNode).void } - def visit_numbered_parameters_node(node); end - - # Visit a NumberedReferenceReadNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::NumberedReferenceReadNode).void } - def visit_numbered_reference_read_node(node); end - - # Visit a OptionalKeywordParameterNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::OptionalKeywordParameterNode).void } - def visit_optional_keyword_parameter_node(node); end - - # Visit a OptionalParameterNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::OptionalParameterNode).void } - def visit_optional_parameter_node(node); end - - # Visit a OrNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::OrNode).void } - def visit_or_node(node); end - - # Visit a ParametersNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ParametersNode).void } - def visit_parameters_node(node); end - - # Visit a ParenthesesNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ParenthesesNode).void } - def visit_parentheses_node(node); end - - # Visit a PinnedExpressionNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::PinnedExpressionNode).void } - def visit_pinned_expression_node(node); end - - # Visit a PinnedVariableNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::PinnedVariableNode).void } - def visit_pinned_variable_node(node); end - - # Visit a PostExecutionNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::PostExecutionNode).void } - def visit_post_execution_node(node); end - - # Visit a PreExecutionNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::PreExecutionNode).void } - def visit_pre_execution_node(node); end - - # Visit a ProgramNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ProgramNode).void } - def visit_program_node(node); end - - # Visit a RangeNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::RangeNode).void } - def visit_range_node(node); end - - # Visit a RationalNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::RationalNode).void } - def visit_rational_node(node); end - - # Visit a RedoNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::RedoNode).void } - def visit_redo_node(node); end - - # Visit a RegularExpressionNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::RegularExpressionNode).void } - def visit_regular_expression_node(node); end - - # Visit a RequiredKeywordParameterNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::RequiredKeywordParameterNode).void } - def visit_required_keyword_parameter_node(node); end - - # Visit a RequiredParameterNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::RequiredParameterNode).void } - def visit_required_parameter_node(node); end - - # Visit a RescueModifierNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::RescueModifierNode).void } - def visit_rescue_modifier_node(node); end - - # Visit a RescueNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::RescueNode).void } - def visit_rescue_node(node); end - - # Visit a RestParameterNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::RestParameterNode).void } - def visit_rest_parameter_node(node); end - - # Visit a RetryNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::RetryNode).void } - def visit_retry_node(node); end - - # Visit a ReturnNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ReturnNode).void } - def visit_return_node(node); end - - # Visit a SelfNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::SelfNode).void } - def visit_self_node(node); end - - # Visit a ShareableConstantNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::ShareableConstantNode).void } - def visit_shareable_constant_node(node); end - - # Visit a SingletonClassNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::SingletonClassNode).void } - def visit_singleton_class_node(node); end - - # Visit a SourceEncodingNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::SourceEncodingNode).void } - def visit_source_encoding_node(node); end - - # Visit a SourceFileNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::SourceFileNode).void } - def visit_source_file_node(node); end - - # Visit a SourceLineNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::SourceLineNode).void } - def visit_source_line_node(node); end - - # Visit a SplatNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::SplatNode).void } - def visit_splat_node(node); end - - # Visit a StatementsNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::StatementsNode).void } - def visit_statements_node(node); end - - # Visit a StringNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::StringNode).void } - def visit_string_node(node); end - - # Visit a SuperNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::SuperNode).void } - def visit_super_node(node); end - - # Visit a SymbolNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::SymbolNode).void } - def visit_symbol_node(node); end - - # Visit a TrueNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::TrueNode).void } - def visit_true_node(node); end - - # Visit a UndefNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::UndefNode).void } - def visit_undef_node(node); end - - # Visit a UnlessNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::UnlessNode).void } - def visit_unless_node(node); end - - # Visit a UntilNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::UntilNode).void } - def visit_until_node(node); end - - # Visit a WhenNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::WhenNode).void } - def visit_when_node(node); end - - # Visit a WhileNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::WhileNode).void } - def visit_while_node(node); end - - # Visit a XStringNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::XStringNode).void } - def visit_x_string_node(node); end - - # Visit a YieldNode node - # - # source://prism//lib/prism/visitor.rb#29 - sig { params(node: Prism::YieldNode).void } - def visit_yield_node(node); end -end - -# Represents the use of the `when` keyword within a case statement. -# -# case true -# when true -# ^^^^^^^^^ -# end -# -# source://prism//lib/prism/node.rb#16155 -class Prism::WhenNode < ::Prism::Node - # Initialize a new WhenNode node. - # - # @return [WhenNode] a new instance of WhenNode - # - # source://prism//lib/prism/node.rb#16157 - def initialize(source, node_id, location, flags, keyword_loc, conditions, then_keyword_loc, statements); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#16257 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#16169 - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#16174 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#16187 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#16179 - def compact_child_nodes; end - - # attr_reader conditions: Array[Prism::node] - # - # source://prism//lib/prism/node.rb#16212 - def conditions; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?conditions: Array[Prism::node], ?then_keyword_loc: Location?, ?statements: StatementsNode?) -> WhenNode - # - # source://prism//lib/prism/node.rb#16192 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), conditions: T.unsafe(nil), then_keyword_loc: T.unsafe(nil), statements: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#16174 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, conditions: Array[Prism::node], then_keyword_loc: Location?, statements: StatementsNode? } - # - # source://prism//lib/prism/node.rb#16200 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#16241 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#16231 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#16205 - def keyword_loc; end - - # attr_reader statements: StatementsNode? - # - # source://prism//lib/prism/node.rb#16228 - def statements; end - - # def then_keyword: () -> String? - # - # source://prism//lib/prism/node.rb#16236 - def then_keyword; end - - # attr_reader then_keyword_loc: Location? - # - # source://prism//lib/prism/node.rb#16215 - def then_keyword_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#16246 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#16251 - def type; end - 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://prism//lib/prism/node.rb#16274 -class Prism::WhileNode < ::Prism::Node - # Initialize a new WhileNode node. - # - # @return [WhileNode] a new instance of WhileNode - # - # source://prism//lib/prism/node.rb#16276 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - closing_loc: T.nilable(Prism::Location), - predicate: Prism::Node, - statements: T.nilable(Prism::StatementsNode) - ).void - end - def initialize(source, node_id, location, flags, keyword_loc, closing_loc, predicate, statements); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#16381 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#16288 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def begin_modifier?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#16324 - sig { returns(T::Boolean) } - def begin_modifier?; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#16293 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String? - # - # source://prism//lib/prism/node.rb#16360 - sig { returns(T.nilable(String)) } - def closing; end - - # attr_reader closing_loc: Location? - # - # source://prism//lib/prism/node.rb#16336 - sig { returns(T.nilable(Prism::Location)) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#16306 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#16298 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?) -> WhileNode - # - # source://prism//lib/prism/node.rb#16311 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - keyword_loc: Prism::Location, - closing_loc: T.nilable(Prism::Location), - predicate: Prism::Node, - statements: T.nilable(Prism::StatementsNode) - ).returns(Prism::WhileNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), predicate: T.unsafe(nil), statements: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#16293 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, closing_loc: Location?, predicate: Prism::node, statements: StatementsNode? } - # - # source://prism//lib/prism/node.rb#16319 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#16365 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#16355 - sig { returns(String) } - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#16329 - sig { returns(Prism::Location) } - def keyword_loc; end - - # source://prism//lib/prism/parse_result/newlines.rb#109 - def newline_flag!(lines); end - - # attr_reader predicate: Prism::node - # - # source://prism//lib/prism/node.rb#16349 - sig { returns(Prism::Node) } - def predicate; end - - # attr_reader statements: StatementsNode? - # - # source://prism//lib/prism/node.rb#16352 - sig { returns(T.nilable(Prism::StatementsNode)) } - def statements; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#16370 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#16375 - def type; end - end -end - -# Represents an xstring literal with no interpolation. -# -# `foo` -# ^^^^^ -# -# source://prism//lib/prism/node.rb#16395 -class Prism::XStringNode < ::Prism::Node - include ::Prism::HeredocQuery - - # Initialize a new XStringNode node. - # - # @return [XStringNode] a new instance of XStringNode - # - # source://prism//lib/prism/node.rb#16397 - sig do - params( - source: Prism::Source, - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - content_loc: Prism::Location, - closing_loc: Prism::Location, - unescaped: String - ).void - end - def initialize(source, node_id, location, flags, opening_loc, content_loc, closing_loc, unescaped); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#16507 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#16409 - sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } - def accept(visitor); end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#16414 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def child_nodes; end - - # def closing: () -> String - # - # source://prism//lib/prism/node.rb#16486 - sig { returns(String) } - def closing; end - - # attr_reader closing_loc: Location - # - # source://prism//lib/prism/node.rb#16466 - sig { returns(Prism::Location) } - def closing_loc; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#16424 - sig { override.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#16419 - sig { override.returns(T::Array[Prism::Node]) } - def compact_child_nodes; end - - # def content: () -> String - # - # source://prism//lib/prism/node.rb#16481 - sig { returns(String) } - def content; end - - # attr_reader content_loc: Location - # - # source://prism//lib/prism/node.rb#16459 - sig { returns(Prism::Location) } - def content_loc; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> XStringNode - # - # source://prism//lib/prism/node.rb#16429 - sig do - params( - node_id: Integer, - location: Prism::Location, - flags: Integer, - opening_loc: Prism::Location, - content_loc: Prism::Location, - closing_loc: Prism::Location, - unescaped: String - ).returns(Prism::XStringNode) - end - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), opening_loc: T.unsafe(nil), content_loc: T.unsafe(nil), closing_loc: T.unsafe(nil), unescaped: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#16414 - sig { override.returns(T::Array[T.nilable(Prism::Node)]) } - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String } - # - # source://prism//lib/prism/node.rb#16437 - sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def forced_binary_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#16447 - sig { returns(T::Boolean) } - def forced_binary_encoding?; end - - # def forced_utf8_encoding?: () -> bool - # - # @return [Boolean] - # - # source://prism//lib/prism/node.rb#16442 - sig { returns(T::Boolean) } - def forced_utf8_encoding?; end - - sig { returns(T::Boolean) } - def heredoc?; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#16491 - sig { override.returns(String) } - def inspect; end - - # def opening: () -> String - # - # source://prism//lib/prism/node.rb#16476 - sig { returns(String) } - def opening; end - - # attr_reader opening_loc: Location - # - # source://prism//lib/prism/node.rb#16452 - sig { returns(Prism::Location) } - def opening_loc; end - - # Occasionally it's helpful to treat a string as if it were interpolated so - # that there's a consistent interface for working with strings. - # - # source://prism//lib/prism/node_ext.rb#90 - sig { returns(Prism::InterpolatedXStringNode) } - def to_interpolated; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#16496 - sig { override.returns(Symbol) } - def type; end - - # attr_reader unescaped: String - # - # source://prism//lib/prism/node.rb#16473 - sig { returns(String) } - def unescaped; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#16501 - def type; end - end -end - -# Represents the use of the `yield` keyword. -# -# yield 1 -# ^^^^^^^ -# -# source://prism//lib/prism/node.rb#16521 -class Prism::YieldNode < ::Prism::Node - # Initialize a new YieldNode node. - # - # @return [YieldNode] a new instance of YieldNode - # - # source://prism//lib/prism/node.rb#16523 - def initialize(source, node_id, location, flags, keyword_loc, lparen_loc, arguments, rparen_loc); end - - # Implements case-equality for the node. This is effectively == but without - # comparing the value of locations. Locations are checked only for presence. - # - # source://prism//lib/prism/node.rb#16637 - def ===(other); end - - # def accept: (Visitor visitor) -> void - # - # source://prism//lib/prism/node.rb#16535 - def accept(visitor); end - - # attr_reader arguments: ArgumentsNode? - # - # source://prism//lib/prism/node.rb#16590 - def arguments; end - - # def child_nodes: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#16540 - def child_nodes; end - - # def comment_targets: () -> Array[Node | Location] - # - # source://prism//lib/prism/node.rb#16552 - def comment_targets; end - - # def compact_child_nodes: () -> Array[Node] - # - # source://prism//lib/prism/node.rb#16545 - def compact_child_nodes; end - - # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?) -> YieldNode - # - # source://prism//lib/prism/node.rb#16557 - def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), keyword_loc: T.unsafe(nil), lparen_loc: T.unsafe(nil), arguments: T.unsafe(nil), rparen_loc: T.unsafe(nil)); end - - # def child_nodes: () -> Array[nil | Node] - # def deconstruct: () -> Array[nil | Node] - # - # source://prism//lib/prism/node.rb#16540 - def deconstruct; end - - # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location? } - # - # source://prism//lib/prism/node.rb#16565 - def deconstruct_keys(keys); end - - sig { override.returns(T::Array[Prism::Reflection::Field]) } - def fields; end - - # def inspect -> String - # - # source://prism//lib/prism/node.rb#16621 - sig { override.returns(String) } - def inspect; end - - # def keyword: () -> String - # - # source://prism//lib/prism/node.rb#16606 - def keyword; end - - # attr_reader keyword_loc: Location - # - # source://prism//lib/prism/node.rb#16570 - def keyword_loc; end - - # def lparen: () -> String? - # - # source://prism//lib/prism/node.rb#16611 - def lparen; end - - # attr_reader lparen_loc: Location? - # - # source://prism//lib/prism/node.rb#16577 - def lparen_loc; end - - # def rparen: () -> String? - # - # source://prism//lib/prism/node.rb#16616 - def rparen; end - - # attr_reader rparen_loc: Location? - # - # source://prism//lib/prism/node.rb#16593 - def rparen_loc; end - - # Return a symbol representation of this node type. See `Node#type`. - # - # source://prism//lib/prism/node.rb#16626 - sig { override.returns(Symbol) } - def type; end - - class << self - # Return a symbol representation of this node type. See `Node::type`. - # - # source://prism//lib/prism/node.rb#16631 - def type; end - end -end |