diff --git a/Gemfile.lock b/Gemfile.lock index 94e36dd68f..07a7c750fa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -39,19 +39,20 @@ GEM prettyprint prettier_print (1.2.1) prettyprint (0.2.0) - prism (1.7.0) + prism (1.8.0) psych (5.3.1) date stringio racc (1.8.1) rainbow (3.1.1) rake (13.3.1) - rbi (0.3.6) + rbi (0.3.9) prism (~> 1.0) rbs (>= 3.4.4) - rbs (4.0.0.dev.4) + rbs (4.0.0.dev.5) logger prism (>= 1.3.0) + tsort rdoc (7.0.3) erb psych (>= 4.0.0) @@ -176,13 +177,13 @@ CHECKSUMS pp (0.6.3) sha256=2951d514450b93ccfeb1df7d021cae0da16e0a7f95ee1e2273719669d0ab9df6 prettier_print (1.2.1) sha256=a72838b5f23facff21f90a5423cdcdda19e4271092b41f4ea7f50b83929e6ff9 prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193 - prism (1.7.0) sha256=10062f734bf7985c8424c44fac382ac04a58124ea3d220ec3ba9fe4f2da65103 + prism (1.8.0) sha256=84453a16ef5530ea62c5f03ec16b52a459575ad4e7b9c2b360fd8ce2c39c1254 psych (5.3.1) sha256=eb7a57cef10c9d70173ff74e739d843ac3b2c019a003de48447b2963d81b1974 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c - rbi (0.3.6) sha256=577e94ddd123d7c83794dd62c06c5f9bf32a22e9a3a0d2f9baf32f7c81b2b5fa - rbs (4.0.0.dev.4) sha256=a4a22ba03d2450e2a18c312b0b05cdc7b8b5d5c9fe255fc32cfea12ff1dd058b + rbi (0.3.9) sha256=d6a187bd0b376e999d3d82a5e5798a61178be98b894b7b35741c14162c9ea015 + rbs (4.0.0.dev.5) sha256=273938e5a9c7f06b041be583588f2aa1976149bda2ce213e33e129c51534e174 rdoc (7.0.3) sha256=dfe3d0981d19b7bba71d9dbaeb57c9f4e3a7a4103162148a559c4fc687ea81f9 regexp_parser (2.10.0) sha256=cb6f0ddde88772cd64bff1dbbf68df66d376043fe2e66a9ef77fcb1b0c548c61 reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835 diff --git a/lib/ruby_indexer/test/index_test.rb b/lib/ruby_indexer/test/index_test.rb index 52a2d939db..f236bd00bf 100644 --- a/lib/ruby_indexer/test/index_test.rb +++ b/lib/ruby_indexer/test/index_test.rb @@ -107,15 +107,12 @@ class Something RUBY result = @index.fuzzy_search("Zws") - assert_equal(2, result.length) assert_equal(["Zws", "Qtl::Zwo::Something"], result.map(&:name)) result = @index.fuzzy_search("qtlzwssomeking") - assert_equal(5, result.length) - assert_equal(["Qtl::Zwo::Something", "Qtl::Zws", "Qtl::Zwo", "Qtl", "Zws"], result.map(&:name)) + assert_equal(["Qtl::Zwo::Something", "Qtl::Zws", "Qtl::Zwo", "Qtl", "Zws", "blocking"], result.map(&:name)) result = @index.fuzzy_search("QltZwo") - assert_equal(4, result.length) assert_equal(["Qtl::Zwo", "Qtl::Zws", "Qtl::Zwo::Something", "Qtl"], result.map(&:name)) end diff --git a/lib/ruby_indexer/test/rbs_indexer_test.rb b/lib/ruby_indexer/test/rbs_indexer_test.rb index fc832cf4a7..4e026ca3c7 100644 --- a/lib/ruby_indexer/test/rbs_indexer_test.rb +++ b/lib/ruby_indexer/test/rbs_indexer_test.rb @@ -28,7 +28,7 @@ def test_index_core_classes def test_index_core_modules entries = @index["Kernel"] #: as !nil refute_nil(entries) - assert_equal(1, entries.length) + assert_equal(2, entries.length) entry = entries.first #: as Entry::Module assert_match(%r{/gems/rbs-.*/core/kernel.rbs}, entry.file_path) assert_equal("kernel.rbs", entry.file_name) diff --git a/sorbet/rbi/gems/prism@1.6.0.rbi b/sorbet/rbi/gems/prism@1.8.0.rbi similarity index 84% rename from sorbet/rbi/gems/prism@1.6.0.rbi rename to sorbet/rbi/gems/prism@1.8.0.rbi index e0e533552c..ef2f2bf8a9 100644 --- a/sorbet/rbi/gems/prism@1.6.0.rbi +++ b/sorbet/rbi/gems/prism@1.8.0.rbi @@ -39,17 +39,17 @@ module Prism class << self # Mirror the Prism.dump API by using the serialization API. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def dump(*_arg0); end # Mirror the Prism.dump_file API by using the serialization API. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def dump_file(*_arg0); end # Mirror the Prism.lex API by using the serialization API. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def lex(*_arg0); end # :call-seq: @@ -61,13 +61,13 @@ module Prism # # For supported options, see Prism::parse. # - # source://prism//lib/prism.rb#69 + # source://prism//lib/prism.rb#68 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. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def lex_file(*_arg0); end # :call-seq: @@ -77,7 +77,7 @@ module Prism # returns the same tokens. Raises SyntaxError if the syntax in source is # invalid. # - # source://prism//lib/prism.rb#79 + # source://prism//lib/prism.rb#78 sig { params(source: String).returns(T::Array[T.untyped]) } def lex_ripper(source); end @@ -86,92 +86,92 @@ module Prism # # Load the serialized AST using the source as a reference into a tree. # - # source://prism//lib/prism.rb#87 + # source://prism//lib/prism.rb#86 sig { params(source: String, serialized: String, freeze: T.nilable(T::Boolean)).returns(Prism::ParseResult) } def load(source, serialized, freeze = T.unsafe(nil)); end # Mirror the Prism.parse API by using the serialization API. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def parse(*_arg0); end # Mirror the Prism.parse_comments API by using the serialization API. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def parse_comments(*_arg0); end # Mirror the Prism.parse_failure? API by using the serialization API. # # @return [Boolean] # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 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. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 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. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def parse_file_comments(*_arg0); end # Mirror the Prism.parse_file_failure? API by using the serialization API. # # @return [Boolean] # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def parse_file_failure?(*_arg0); end # Mirror the Prism.parse_file_success? API by using the serialization API. # # @return [Boolean] # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def parse_file_success?(*_arg0); end # Mirror the Prism.parse_lex API by using the serialization API. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def parse_lex(*_arg0); end # Mirror the Prism.parse_lex_file API by using the serialization API. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def parse_lex_file(*_arg0); end # Mirror the Prism.parse_stream API by using the serialization API. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def parse_stream(*_arg0); end # Mirror the Prism.parse_success? API by using the serialization API. # # @return [Boolean] # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def parse_success?(*_arg0); end # Mirror the Prism.profile API by using the serialization API. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def profile(*_arg0); end # Mirror the Prism.profile_file API by using the serialization API. # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def profile_file(*_arg0); end # Create a new scope with the given locals and forwarding options that is # suitable for passing into one of the Prism.* methods that accepts the # `scopes` option. # - # source://prism//lib/prism/parse_result.rb#908 + # source://prism//lib/prism/parse_result.rb#895 sig { params(locals: T::Array[Symbol], forwarding: T::Array[Symbol]).returns(Prism::Scope) } def scope(locals: T.unsafe(nil), forwarding: T.unsafe(nil)); end end @@ -186,17 +186,17 @@ end # eagerly converted to UTF-8, this class will be used as well. This is because # at that point we will treat everything as single-byte characters. # -# source://prism//lib/prism/parse_result.rb#254 +# source://prism//lib/prism/parse_result.rb#241 class Prism::ASCIISource < ::Prism::Source # Return the column number in characters for the given byte offset. # - # source://prism//lib/prism/parse_result.rb#261 + # source://prism//lib/prism/parse_result.rb#248 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#256 + # source://prism//lib/prism/parse_result.rb#243 sig { params(byte_offset: Integer).returns(Integer) } def character_offset(byte_offset); end @@ -204,7 +204,7 @@ class Prism::ASCIISource < ::Prism::Source # same interface. We can do this because code units are always equivalent to # byte offsets for ASCII-only sources. # - # source://prism//lib/prism/parse_result.rb#278 + # source://prism//lib/prism/parse_result.rb#265 sig do params( encoding: Encoding @@ -216,7 +216,7 @@ class Prism::ASCIISource < ::Prism::Source # `code_units_offset`, which is a more expensive operation. This is # essentially the same as `Prism::Source#column`. # - # source://prism//lib/prism/parse_result.rb#285 + # source://prism//lib/prism/parse_result.rb#272 sig { params(byte_offset: Integer, encoding: Encoding).returns(Integer) } def code_units_column(byte_offset, encoding); end @@ -227,7 +227,7 @@ class Prism::ASCIISource < ::Prism::Source # 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#271 + # source://prism//lib/prism/parse_result.rb#258 sig { params(byte_offset: Integer, encoding: Encoding).returns(Integer) } def code_units_offset(byte_offset, encoding); end end @@ -237,13 +237,13 @@ end # alias $foo $bar # ^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#319 +# source://prism//lib/prism/node.rb#326 class Prism::AliasGlobalVariableNode < ::Prism::Node # Initialize a new AliasGlobalVariableNode node. # # @return [AliasGlobalVariableNode] a new instance of AliasGlobalVariableNode # - # source://prism//lib/prism/node.rb#321 + # source://prism//lib/prism/node.rb#328 sig do params( source: Prism::Source, @@ -260,36 +260,36 @@ class Prism::AliasGlobalVariableNode < ::Prism::Node # 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#414 + # source://prism//lib/prism/node.rb#429 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#332 + # source://prism//lib/prism/node.rb#339 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#337 + # source://prism//lib/prism/node.rb#344 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#347 + # source://prism//lib/prism/node.rb#362 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#342 + # source://prism//lib/prism/node.rb#357 sig { override.returns(T::Array[Prism::Node]) } 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#352 + # source://prism//lib/prism/node.rb#367 sig do params( node_id: Integer, @@ -305,28 +305,35 @@ class Prism::AliasGlobalVariableNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#357 + # source://prism//lib/prism/node.rb#372 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#360 + # source://prism//lib/prism/node.rb#375 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [new_name] + # + # source://prism//lib/prism/node.rb#349 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#398 + # source://prism//lib/prism/node.rb#413 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#393 + # source://prism//lib/prism/node.rb#408 sig { returns(String) } def keyword; end @@ -335,7 +342,7 @@ class Prism::AliasGlobalVariableNode < ::Prism::Node # alias $foo $bar # ^^^^^ # - # source://prism//lib/prism/node.rb#380 + # source://prism//lib/prism/node.rb#395 sig { returns(Prism::Location) } def keyword_loc; end @@ -344,7 +351,7 @@ class Prism::AliasGlobalVariableNode < ::Prism::Node # alias $foo $bar # ^^^^ # - # source://prism//lib/prism/node.rb#368 + # source://prism//lib/prism/node.rb#383 sig { returns(T.any(Prism::GlobalVariableReadNode, Prism::BackReferenceReadNode, Prism::NumberedReferenceReadNode)) } def new_name; end @@ -353,7 +360,7 @@ class Prism::AliasGlobalVariableNode < ::Prism::Node # alias $foo $bar # ^^^^ # - # source://prism//lib/prism/node.rb#374 + # source://prism//lib/prism/node.rb#389 sig do returns(T.any(Prism::GlobalVariableReadNode, Prism::BackReferenceReadNode, Prism::NumberedReferenceReadNode, Prism::SymbolNode, Prism::MissingNode)) end @@ -362,19 +369,19 @@ class Prism::AliasGlobalVariableNode < ::Prism::Node # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#388 + # source://prism//lib/prism/node.rb#403 def save_keyword_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#403 + # source://prism//lib/prism/node.rb#418 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#408 + # source://prism//lib/prism/node.rb#423 def type; end end end @@ -384,13 +391,13 @@ end # alias foo bar # ^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#426 +# source://prism//lib/prism/node.rb#441 class Prism::AliasMethodNode < ::Prism::Node # Initialize a new AliasMethodNode node. # # @return [AliasMethodNode] a new instance of AliasMethodNode # - # source://prism//lib/prism/node.rb#428 + # source://prism//lib/prism/node.rb#443 sig do params( source: Prism::Source, @@ -407,36 +414,36 @@ class Prism::AliasMethodNode < ::Prism::Node # 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#533 + # source://prism//lib/prism/node.rb#556 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#439 + # source://prism//lib/prism/node.rb#454 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#444 + # source://prism//lib/prism/node.rb#459 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#454 + # source://prism//lib/prism/node.rb#477 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#449 + # source://prism//lib/prism/node.rb#472 sig { override.returns(T::Array[Prism::Node]) } 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#459 + # source://prism//lib/prism/node.rb#482 sig do params( node_id: Integer, @@ -452,28 +459,35 @@ class Prism::AliasMethodNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#464 + # source://prism//lib/prism/node.rb#487 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#467 + # source://prism//lib/prism/node.rb#490 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [new_name] + # + # source://prism//lib/prism/node.rb#464 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#517 + # source://prism//lib/prism/node.rb#540 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#512 + # source://prism//lib/prism/node.rb#535 sig { returns(String) } def keyword; end @@ -482,7 +496,7 @@ class Prism::AliasMethodNode < ::Prism::Node # alias foo bar # ^^^^^ # - # source://prism//lib/prism/node.rb#499 + # source://prism//lib/prism/node.rb#522 sig { returns(Prism::Location) } def keyword_loc; end @@ -497,7 +511,7 @@ class Prism::AliasMethodNode < ::Prism::Node # alias :"#{foo}" :"#{bar}" # ^^^^^^^^^ # - # source://prism//lib/prism/node.rb#481 + # source://prism//lib/prism/node.rb#504 sig { returns(T.any(Prism::SymbolNode, Prism::InterpolatedSymbolNode)) } def new_name; end @@ -512,7 +526,7 @@ class Prism::AliasMethodNode < ::Prism::Node # alias :"#{foo}" :"#{bar}" # ^^^^^^^^^ # - # source://prism//lib/prism/node.rb#493 + # source://prism//lib/prism/node.rb#516 sig do returns(T.any(Prism::SymbolNode, Prism::InterpolatedSymbolNode, Prism::GlobalVariableReadNode, Prism::MissingNode)) end @@ -521,19 +535,19 @@ class Prism::AliasMethodNode < ::Prism::Node # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#507 + # source://prism//lib/prism/node.rb#530 def save_keyword_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#522 + # source://prism//lib/prism/node.rb#545 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#527 + # source://prism//lib/prism/node.rb#550 def type; end end end @@ -543,13 +557,13 @@ end # foo => bar | baz # ^^^^^^^^^ # -# source://prism//lib/prism/node.rb#545 +# source://prism//lib/prism/node.rb#568 class Prism::AlternationPatternNode < ::Prism::Node # Initialize a new AlternationPatternNode node. # # @return [AlternationPatternNode] a new instance of AlternationPatternNode # - # source://prism//lib/prism/node.rb#547 + # source://prism//lib/prism/node.rb#570 sig do params( source: Prism::Source, @@ -566,36 +580,36 @@ class Prism::AlternationPatternNode < ::Prism::Node # 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#640 + # source://prism//lib/prism/node.rb#671 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#558 + # source://prism//lib/prism/node.rb#581 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#563 + # source://prism//lib/prism/node.rb#586 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#573 + # source://prism//lib/prism/node.rb#604 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#568 + # source://prism//lib/prism/node.rb#599 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) -> AlternationPatternNode # - # source://prism//lib/prism/node.rb#578 + # source://prism//lib/prism/node.rb#609 sig do params( node_id: Integer, @@ -611,22 +625,29 @@ class Prism::AlternationPatternNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#583 + # source://prism//lib/prism/node.rb#614 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#586 + # source://prism//lib/prism/node.rb#617 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [left] + # + # source://prism//lib/prism/node.rb#591 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#624 + # source://prism//lib/prism/node.rb#655 sig { override.returns(String) } def inspect; end @@ -635,13 +656,13 @@ class Prism::AlternationPatternNode < ::Prism::Node # foo => bar | baz # ^^^ # - # source://prism//lib/prism/node.rb#594 + # source://prism//lib/prism/node.rb#625 sig { returns(Prism::Node) } def left; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#619 + # source://prism//lib/prism/node.rb#650 sig { returns(String) } def operator; end @@ -650,7 +671,7 @@ class Prism::AlternationPatternNode < ::Prism::Node # foo => bar | baz # ^ # - # source://prism//lib/prism/node.rb#606 + # source://prism//lib/prism/node.rb#637 sig { returns(Prism::Location) } def operator_loc; end @@ -659,26 +680,26 @@ class Prism::AlternationPatternNode < ::Prism::Node # foo => bar | baz # ^^^ # - # source://prism//lib/prism/node.rb#600 + # source://prism//lib/prism/node.rb#631 sig { returns(Prism::Node) } def right; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#614 + # source://prism//lib/prism/node.rb#645 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#629 + # source://prism//lib/prism/node.rb#660 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#634 + # source://prism//lib/prism/node.rb#665 def type; end end end @@ -688,13 +709,13 @@ end # left and right # ^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#652 +# source://prism//lib/prism/node.rb#683 class Prism::AndNode < ::Prism::Node # Initialize a new AndNode node. # # @return [AndNode] a new instance of AndNode # - # source://prism//lib/prism/node.rb#654 + # source://prism//lib/prism/node.rb#685 sig do params( source: Prism::Source, @@ -711,36 +732,36 @@ class Prism::AndNode < ::Prism::Node # 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#753 + # source://prism//lib/prism/node.rb#792 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#665 + # source://prism//lib/prism/node.rb#696 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#670 + # source://prism//lib/prism/node.rb#701 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#680 + # source://prism//lib/prism/node.rb#719 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#675 + # source://prism//lib/prism/node.rb#714 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) -> AndNode # - # source://prism//lib/prism/node.rb#685 + # source://prism//lib/prism/node.rb#724 sig do params( node_id: Integer, @@ -756,22 +777,29 @@ class Prism::AndNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#690 + # source://prism//lib/prism/node.rb#729 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#693 + # source://prism//lib/prism/node.rb#732 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [left] + # + # source://prism//lib/prism/node.rb#706 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#737 + # source://prism//lib/prism/node.rb#776 sig { override.returns(String) } def inspect; end @@ -783,13 +811,13 @@ class Prism::AndNode < ::Prism::Node # 1 && 2 # ^ # - # source://prism//lib/prism/node.rb#704 + # source://prism//lib/prism/node.rb#743 sig { returns(Prism::Node) } def left; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#732 + # source://prism//lib/prism/node.rb#771 sig { returns(String) } def operator; end @@ -798,7 +826,7 @@ class Prism::AndNode < ::Prism::Node # left and right # ^^^ # - # source://prism//lib/prism/node.rb#719 + # source://prism//lib/prism/node.rb#758 sig { returns(Prism::Location) } def operator_loc; end @@ -810,26 +838,26 @@ class Prism::AndNode < ::Prism::Node # 1 and 2 # ^ # - # source://prism//lib/prism/node.rb#713 + # source://prism//lib/prism/node.rb#752 sig { returns(Prism::Node) } def right; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#727 + # source://prism//lib/prism/node.rb#766 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#742 + # source://prism//lib/prism/node.rb#781 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#747 + # source://prism//lib/prism/node.rb#786 def type; end end end @@ -839,13 +867,13 @@ end # return foo, bar, baz # ^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#765 +# source://prism//lib/prism/node.rb#804 class Prism::ArgumentsNode < ::Prism::Node # Initialize a new ArgumentsNode node. # # @return [ArgumentsNode] a new instance of ArgumentsNode # - # source://prism//lib/prism/node.rb#767 + # source://prism//lib/prism/node.rb#806 sig do params( source: Prism::Source, @@ -860,12 +888,12 @@ class Prism::ArgumentsNode < ::Prism::Node # 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#856 + # source://prism//lib/prism/node.rb#902 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#776 + # source://prism//lib/prism/node.rb#815 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -874,25 +902,25 @@ class Prism::ArgumentsNode < ::Prism::Node # foo(bar, baz) # ^^^^^^^^ # - # source://prism//lib/prism/node.rb#837 + # source://prism//lib/prism/node.rb#883 sig { returns(T::Array[Prism::Node]) } def arguments; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#781 + # source://prism//lib/prism/node.rb#820 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#791 + # source://prism//lib/prism/node.rb#837 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#786 + # source://prism//lib/prism/node.rb#832 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end @@ -900,7 +928,7 @@ class Prism::ArgumentsNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#809 + # source://prism//lib/prism/node.rb#855 sig { returns(T::Boolean) } def contains_forwarding?; end @@ -908,7 +936,7 @@ class Prism::ArgumentsNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#819 + # source://prism//lib/prism/node.rb#865 sig { returns(T::Boolean) } def contains_keyword_splat?; end @@ -916,7 +944,7 @@ class Prism::ArgumentsNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#814 + # source://prism//lib/prism/node.rb#860 sig { returns(T::Boolean) } def contains_keywords?; end @@ -924,7 +952,7 @@ class Prism::ArgumentsNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#829 + # source://prism//lib/prism/node.rb#875 sig { returns(T::Boolean) } def contains_multiple_splats?; end @@ -932,13 +960,13 @@ class Prism::ArgumentsNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#824 + # source://prism//lib/prism/node.rb#870 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#796 + # source://prism//lib/prism/node.rb#842 sig do params( node_id: Integer, @@ -952,67 +980,72 @@ class Prism::ArgumentsNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#801 + # source://prism//lib/prism/node.rb#847 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#804 + # source://prism//lib/prism/node.rb#850 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#825 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#840 + # source://prism//lib/prism/node.rb#886 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#845 + # source://prism//lib/prism/node.rb#891 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#850 + # source://prism//lib/prism/node.rb#896 def type; end end end # Flags for arguments nodes. # -# source://prism//lib/prism/node.rb#18630 +# source://prism//lib/prism/node.rb#19772 module Prism::ArgumentsNodeFlags; end # if the arguments contain forwarding # -# source://prism//lib/prism/node.rb#18632 +# source://prism//lib/prism/node.rb#19774 Prism::ArgumentsNodeFlags::CONTAINS_FORWARDING = T.let(T.unsafe(nil), Integer) # if the arguments contain keywords # -# source://prism//lib/prism/node.rb#18635 +# source://prism//lib/prism/node.rb#19777 Prism::ArgumentsNodeFlags::CONTAINS_KEYWORDS = T.let(T.unsafe(nil), Integer) # if the arguments contain a keyword splat # -# source://prism//lib/prism/node.rb#18638 +# source://prism//lib/prism/node.rb#19780 Prism::ArgumentsNodeFlags::CONTAINS_KEYWORD_SPLAT = T.let(T.unsafe(nil), Integer) # if the arguments contain multiple splats # -# source://prism//lib/prism/node.rb#18644 +# source://prism//lib/prism/node.rb#19786 Prism::ArgumentsNodeFlags::CONTAINS_MULTIPLE_SPLATS = T.let(T.unsafe(nil), Integer) # if the arguments contain a splat # -# source://prism//lib/prism/node.rb#18641 +# source://prism//lib/prism/node.rb#19783 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. @@ -1020,13 +1053,13 @@ Prism::ArgumentsNodeFlags::CONTAINS_SPLAT = T.let(T.unsafe(nil), Integer) # [1, 2, 3] # ^^^^^^^^^ # -# source://prism//lib/prism/node.rb#868 +# source://prism//lib/prism/node.rb#914 class Prism::ArrayNode < ::Prism::Node # Initialize a new ArrayNode node. # # @return [ArrayNode] a new instance of ArrayNode # - # source://prism//lib/prism/node.rb#870 + # source://prism//lib/prism/node.rb#916 sig do params( source: Prism::Source, @@ -1043,24 +1076,24 @@ class Prism::ArrayNode < ::Prism::Node # 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#996 + # source://prism//lib/prism/node.rb#1049 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#881 + # source://prism//lib/prism/node.rb#927 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#886 + # source://prism//lib/prism/node.rb#932 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#975 + # source://prism//lib/prism/node.rb#1028 sig { returns(T.nilable(String)) } def closing; end @@ -1071,19 +1104,19 @@ class Prism::ArrayNode < ::Prism::Node # %I(apple orange banana) # ")" # foo = 1, 2, 3 # nil # - # source://prism//lib/prism/node.rb#951 + # source://prism//lib/prism/node.rb#1004 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#896 + # source://prism//lib/prism/node.rb#949 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#891 + # source://prism//lib/prism/node.rb#944 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end @@ -1091,13 +1124,13 @@ class Prism::ArrayNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#914 + # source://prism//lib/prism/node.rb#967 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#901 + # source://prism//lib/prism/node.rb#954 sig do params( node_id: Integer, @@ -1113,19 +1146,24 @@ class Prism::ArrayNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#906 + # source://prism//lib/prism/node.rb#959 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#909 + # source://prism//lib/prism/node.rb#962 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#937 + def each_child_node; 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#919 + # source://prism//lib/prism/node.rb#972 sig { returns(T::Array[Prism::Node]) } def elements; end @@ -1134,13 +1172,13 @@ class Prism::ArrayNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#980 + # source://prism//lib/prism/node.rb#1033 sig { override.returns(String) } def inspect; end # def opening: () -> String? # - # source://prism//lib/prism/node.rb#970 + # source://prism//lib/prism/node.rb#1023 sig { returns(T.nilable(String)) } def opening; end @@ -1151,44 +1189,44 @@ class Prism::ArrayNode < ::Prism::Node # %I(apple orange banana) # "%I(" # foo = 1, 2, 3 # nil # - # source://prism//lib/prism/node.rb#927 + # source://prism//lib/prism/node.rb#980 sig { returns(T.nilable(Prism::Location)) } def opening_loc; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#965 + # source://prism//lib/prism/node.rb#1018 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#941 + # source://prism//lib/prism/node.rb#994 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#985 + # source://prism//lib/prism/node.rb#1038 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#990 + # source://prism//lib/prism/node.rb#1043 def type; end end end # Flags for array nodes. # -# source://prism//lib/prism/node.rb#18648 +# source://prism//lib/prism/node.rb#19790 module Prism::ArrayNodeFlags; end # if array contains splat nodes # -# source://prism//lib/prism/node.rb#18650 +# source://prism//lib/prism/node.rb#19792 Prism::ArrayNodeFlags::CONTAINS_SPLAT = T.let(T.unsafe(nil), Integer) # Represents an array pattern in pattern matching. @@ -1208,13 +1246,13 @@ Prism::ArrayNodeFlags::CONTAINS_SPLAT = T.let(T.unsafe(nil), Integer) # foo in Bar[1, 2, 3] # ^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#1022 +# source://prism//lib/prism/node.rb#1075 class Prism::ArrayPatternNode < ::Prism::Node # Initialize a new ArrayPatternNode node. # # @return [ArrayPatternNode] a new instance of ArrayPatternNode # - # source://prism//lib/prism/node.rb#1024 + # source://prism//lib/prism/node.rb#1077 sig do params( source: Prism::Source, @@ -1234,24 +1272,24 @@ class Prism::ArrayPatternNode < ::Prism::Node # 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#1176 + # source://prism//lib/prism/node.rb#1239 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#1038 + # source://prism//lib/prism/node.rb#1091 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1043 + # source://prism//lib/prism/node.rb#1096 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#1155 + # source://prism//lib/prism/node.rb#1218 sig { returns(T.nilable(String)) } def closing; end @@ -1260,19 +1298,19 @@ class Prism::ArrayPatternNode < ::Prism::Node # foo in [1, 2] # ^ # - # source://prism//lib/prism/node.rb#1131 + # source://prism//lib/prism/node.rb#1194 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#1058 + # source://prism//lib/prism/node.rb#1121 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#1048 + # source://prism//lib/prism/node.rb#1111 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end @@ -1287,13 +1325,13 @@ class Prism::ArrayPatternNode < ::Prism::Node # foo in Bar::Baz[1, 2, 3] # ^^^^^^^^ # - # source://prism//lib/prism/node.rb#1085 + # source://prism//lib/prism/node.rb#1148 sig { returns(T.nilable(T.any(Prism::ConstantPathNode, Prism::ConstantReadNode))) } def constant; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: ConstantPathNode | ConstantReadNode | nil, ?requireds: Array[Prism::node], ?rest: Prism::node?, ?posts: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?) -> ArrayPatternNode # - # source://prism//lib/prism/node.rb#1063 + # source://prism//lib/prism/node.rb#1126 sig do params( node_id: Integer, @@ -1312,28 +1350,35 @@ class Prism::ArrayPatternNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1068 + # source://prism//lib/prism/node.rb#1131 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: ConstantPathNode | ConstantReadNode | nil, requireds: Array[Prism::node], rest: Prism::node?, posts: Array[Prism::node], opening_loc: Location?, closing_loc: Location? } # - # source://prism//lib/prism/node.rb#1071 + # source://prism//lib/prism/node.rb#1134 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [constant] + # + # source://prism//lib/prism/node.rb#1101 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#1160 + # source://prism//lib/prism/node.rb#1223 sig { override.returns(String) } def inspect; end # def opening: () -> String? # - # source://prism//lib/prism/node.rb#1150 + # source://prism//lib/prism/node.rb#1213 sig { returns(T.nilable(String)) } def opening; end @@ -1342,7 +1387,7 @@ class Prism::ArrayPatternNode < ::Prism::Node # foo in [1, 2] # ^ # - # source://prism//lib/prism/node.rb#1109 + # source://prism//lib/prism/node.rb#1172 sig { returns(T.nilable(Prism::Location)) } def opening_loc; end @@ -1351,7 +1396,7 @@ class Prism::ArrayPatternNode < ::Prism::Node # foo in *bar, baz # ^^^ # - # source://prism//lib/prism/node.rb#1103 + # source://prism//lib/prism/node.rb#1166 sig { returns(T::Array[Prism::Node]) } def posts; end @@ -1360,7 +1405,7 @@ class Prism::ArrayPatternNode < ::Prism::Node # foo in [1, 2] # ^ ^ # - # source://prism//lib/prism/node.rb#1091 + # source://prism//lib/prism/node.rb#1154 sig { returns(T::Array[Prism::Node]) } def requireds; end @@ -1369,32 +1414,32 @@ class Prism::ArrayPatternNode < ::Prism::Node # foo in *bar # ^^^^ # - # source://prism//lib/prism/node.rb#1097 + # source://prism//lib/prism/node.rb#1160 sig { returns(T.nilable(Prism::Node)) } def rest; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#1145 + # source://prism//lib/prism/node.rb#1208 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#1123 + # source://prism//lib/prism/node.rb#1186 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#1165 + # source://prism//lib/prism/node.rb#1228 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#1170 + # source://prism//lib/prism/node.rb#1233 def type; end end end @@ -1404,13 +1449,13 @@ end # { a => b } # ^^^^^^ # -# source://prism//lib/prism/node.rb#1193 +# source://prism//lib/prism/node.rb#1256 class Prism::AssocNode < ::Prism::Node # Initialize a new AssocNode node. # # @return [AssocNode] a new instance of AssocNode # - # source://prism//lib/prism/node.rb#1195 + # source://prism//lib/prism/node.rb#1258 sig do params( source: Prism::Source, @@ -1427,36 +1472,36 @@ class Prism::AssocNode < ::Prism::Node # 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#1303 + # source://prism//lib/prism/node.rb#1374 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#1206 + # source://prism//lib/prism/node.rb#1269 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1211 + # source://prism//lib/prism/node.rb#1274 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#1221 + # source://prism//lib/prism/node.rb#1292 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#1216 + # source://prism//lib/prism/node.rb#1287 sig { override.returns(T::Array[Prism::Node]) } 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#1226 + # source://prism//lib/prism/node.rb#1297 sig do params( node_id: Integer, @@ -1472,22 +1517,29 @@ class Prism::AssocNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1231 + # source://prism//lib/prism/node.rb#1302 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#1234 + # source://prism//lib/prism/node.rb#1305 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [key] + # + # source://prism//lib/prism/node.rb#1279 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#1287 + # source://prism//lib/prism/node.rb#1358 sig { override.returns(String) } def inspect; end @@ -1502,13 +1554,13 @@ class Prism::AssocNode < ::Prism::Node # { def a; end => 1 } # ^^^^^^^^^^ # - # source://prism//lib/prism/node.rb#1248 + # source://prism//lib/prism/node.rb#1319 sig { returns(Prism::Node) } def key; end # def operator: () -> String? # - # source://prism//lib/prism/node.rb#1282 + # source://prism//lib/prism/node.rb#1353 sig { returns(T.nilable(String)) } def operator; end @@ -1517,19 +1569,19 @@ class Prism::AssocNode < ::Prism::Node # { foo => bar } # ^^ # - # source://prism//lib/prism/node.rb#1263 + # source://prism//lib/prism/node.rb#1334 sig { returns(T.nilable(Prism::Location)) } def operator_loc; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#1277 + # source://prism//lib/prism/node.rb#1348 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#1292 + # source://prism//lib/prism/node.rb#1363 sig { override.returns(Symbol) } def type; end @@ -1541,14 +1593,14 @@ class Prism::AssocNode < ::Prism::Node # { x: 1 } # ^ # - # source://prism//lib/prism/node.rb#1257 + # source://prism//lib/prism/node.rb#1328 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#1297 + # source://prism//lib/prism/node.rb#1368 def type; end end end @@ -1558,13 +1610,13 @@ end # { **foo } # ^^^^^ # -# source://prism//lib/prism/node.rb#1315 +# source://prism//lib/prism/node.rb#1386 class Prism::AssocSplatNode < ::Prism::Node # Initialize a new AssocSplatNode node. # # @return [AssocSplatNode] a new instance of AssocSplatNode # - # source://prism//lib/prism/node.rb#1317 + # source://prism//lib/prism/node.rb#1388 sig do params( source: Prism::Source, @@ -1580,36 +1632,36 @@ class Prism::AssocSplatNode < ::Prism::Node # 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#1405 + # source://prism//lib/prism/node.rb#1483 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#1327 + # source://prism//lib/prism/node.rb#1398 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1332 + # source://prism//lib/prism/node.rb#1403 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#1344 + # source://prism//lib/prism/node.rb#1422 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#1337 + # source://prism//lib/prism/node.rb#1415 sig { override.returns(T::Array[Prism::Node]) } 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#1349 + # source://prism//lib/prism/node.rb#1427 sig do params( node_id: Integer, @@ -1624,28 +1676,35 @@ class Prism::AssocSplatNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1354 + # source://prism//lib/prism/node.rb#1432 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#1357 + # source://prism//lib/prism/node.rb#1435 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#1408 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#1389 + # source://prism//lib/prism/node.rb#1467 sig { override.returns(String) } def inspect; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#1384 + # source://prism//lib/prism/node.rb#1462 sig { returns(String) } def operator; end @@ -1654,19 +1713,19 @@ class Prism::AssocSplatNode < ::Prism::Node # { **x } # ^^ # - # source://prism//lib/prism/node.rb#1371 + # source://prism//lib/prism/node.rb#1449 sig { returns(Prism::Location) } def operator_loc; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#1379 + # source://prism//lib/prism/node.rb#1457 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#1394 + # source://prism//lib/prism/node.rb#1472 sig { override.returns(Symbol) } def type; end @@ -1675,21 +1734,21 @@ class Prism::AssocSplatNode < ::Prism::Node # { **foo } # ^^^ # - # source://prism//lib/prism/node.rb#1365 + # source://prism//lib/prism/node.rb#1443 sig { returns(T.nilable(Prism::Node)) } def value; end class << self # Return a symbol representation of this node type. See `Node::type`. # - # source://prism//lib/prism/node.rb#1399 + # source://prism//lib/prism/node.rb#1477 def type; end end end # The FFI backend is used on other Ruby implementations. # -# source://prism//lib/prism.rb#104 +# source://prism//lib/prism.rb#103 Prism::BACKEND = T.let(T.unsafe(nil), Symbol) # Represents reading a reference to a field in the previous match. @@ -1697,49 +1756,49 @@ Prism::BACKEND = T.let(T.unsafe(nil), Symbol) # $' # ^^ # -# source://prism//lib/prism/node.rb#1416 +# source://prism//lib/prism/node.rb#1494 class Prism::BackReferenceReadNode < ::Prism::Node # Initialize a new BackReferenceReadNode node. # # @return [BackReferenceReadNode] a new instance of BackReferenceReadNode # - # source://prism//lib/prism/node.rb#1418 + # source://prism//lib/prism/node.rb#1496 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#1483 + # source://prism//lib/prism/node.rb#1567 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#1427 + # source://prism//lib/prism/node.rb#1505 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1432 + # source://prism//lib/prism/node.rb#1510 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#1442 + # source://prism//lib/prism/node.rb#1526 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#1437 + # source://prism//lib/prism/node.rb#1521 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> BackReferenceReadNode # - # source://prism//lib/prism/node.rb#1447 + # source://prism//lib/prism/node.rb#1531 sig do params( node_id: Integer, @@ -1753,22 +1812,27 @@ class Prism::BackReferenceReadNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1452 + # source://prism//lib/prism/node.rb#1536 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#1455 + # source://prism//lib/prism/node.rb#1539 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#1515 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#1467 + # source://prism//lib/prism/node.rb#1551 sig { override.returns(String) } def inspect; end @@ -1778,20 +1842,20 @@ class Prism::BackReferenceReadNode < ::Prism::Node # # $+ # name `:$+` # - # source://prism//lib/prism/node.rb#1464 + # source://prism//lib/prism/node.rb#1548 sig { returns(Symbol) } def name; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#1472 + # source://prism//lib/prism/node.rb#1556 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#1477 + # source://prism//lib/prism/node.rb#1561 def type; end end end @@ -1830,13 +1894,13 @@ end # end # ^^^^^ # -# source://prism//lib/prism/node.rb#1495 +# source://prism//lib/prism/node.rb#1579 class Prism::BeginNode < ::Prism::Node # Initialize a new BeginNode node. # # @return [BeginNode] a new instance of BeginNode # - # source://prism//lib/prism/node.rb#1497 + # source://prism//lib/prism/node.rb#1581 sig do params( source: Prism::Source, @@ -1856,18 +1920,18 @@ class Prism::BeginNode < ::Prism::Node # 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#1643 + # source://prism//lib/prism/node.rb#1737 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#1511 + # source://prism//lib/prism/node.rb#1595 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def begin_keyword: () -> String? # - # source://prism//lib/prism/node.rb#1617 + # source://prism//lib/prism/node.rb#1711 sig { returns(T.nilable(String)) } def begin_keyword; end @@ -1876,31 +1940,31 @@ class Prism::BeginNode < ::Prism::Node # begin x end # ^^^^^ # - # source://prism//lib/prism/node.rb#1552 + # source://prism//lib/prism/node.rb#1646 sig { returns(T.nilable(Prism::Location)) } def begin_keyword_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1516 + # source://prism//lib/prism/node.rb#1600 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#1531 + # source://prism//lib/prism/node.rb#1625 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#1521 + # source://prism//lib/prism/node.rb#1615 sig { override.returns(T::Array[Prism::Node]) } 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#1536 + # source://prism//lib/prism/node.rb#1630 sig do params( node_id: Integer, @@ -1919,28 +1983,35 @@ class Prism::BeginNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1541 + # source://prism//lib/prism/node.rb#1635 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#1544 + # source://prism//lib/prism/node.rb#1638 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [statements] + # + # source://prism//lib/prism/node.rb#1605 + def each_child_node; end + # Represents the else clause within the begin block. # # begin x; rescue y; else z; end # ^^^^^^ # - # source://prism//lib/prism/node.rb#1586 + # source://prism//lib/prism/node.rb#1680 sig { returns(T.nilable(Prism::ElseNode)) } def else_clause; end # def end_keyword: () -> String? # - # source://prism//lib/prism/node.rb#1622 + # source://prism//lib/prism/node.rb#1716 sig { returns(T.nilable(String)) } def end_keyword; end @@ -1949,7 +2020,7 @@ class Prism::BeginNode < ::Prism::Node # begin x end # ^^^ # - # source://prism//lib/prism/node.rb#1598 + # source://prism//lib/prism/node.rb#1692 sig { returns(T.nilable(Prism::Location)) } def end_keyword_loc; end @@ -1958,7 +2029,7 @@ class Prism::BeginNode < ::Prism::Node # begin x; ensure y; end # ^^^^^^^^ # - # source://prism//lib/prism/node.rb#1592 + # source://prism//lib/prism/node.rb#1686 sig { returns(T.nilable(Prism::EnsureNode)) } def ensure_clause; end @@ -1967,7 +2038,7 @@ class Prism::BeginNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#1627 + # source://prism//lib/prism/node.rb#1721 sig { override.returns(String) } def inspect; end @@ -1979,20 +2050,20 @@ class Prism::BeginNode < ::Prism::Node # begin x; rescue y; end # ^^^^^^^^ # - # source://prism//lib/prism/node.rb#1580 + # source://prism//lib/prism/node.rb#1674 sig { returns(T.nilable(Prism::RescueNode)) } def rescue_clause; end # Save the begin_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#1566 + # source://prism//lib/prism/node.rb#1660 def save_begin_keyword_loc(repository); end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#1612 + # source://prism//lib/prism/node.rb#1706 def save_end_keyword_loc(repository); end # Represents the statements within the begin block. @@ -2000,20 +2071,20 @@ class Prism::BeginNode < ::Prism::Node # begin x end # ^ # - # source://prism//lib/prism/node.rb#1574 + # source://prism//lib/prism/node.rb#1668 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#1632 + # source://prism//lib/prism/node.rb#1726 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#1637 + # source://prism//lib/prism/node.rb#1731 def type; end end end @@ -2023,13 +2094,13 @@ end # bar(&args) # ^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#1658 +# source://prism//lib/prism/node.rb#1752 class Prism::BlockArgumentNode < ::Prism::Node # Initialize a new BlockArgumentNode node. # # @return [BlockArgumentNode] a new instance of BlockArgumentNode # - # source://prism//lib/prism/node.rb#1660 + # source://prism//lib/prism/node.rb#1754 sig do params( source: Prism::Source, @@ -2045,36 +2116,36 @@ class Prism::BlockArgumentNode < ::Prism::Node # 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#1748 + # source://prism//lib/prism/node.rb#1849 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#1670 + # source://prism//lib/prism/node.rb#1764 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1675 + # source://prism//lib/prism/node.rb#1769 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#1687 + # source://prism//lib/prism/node.rb#1788 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#1680 + # source://prism//lib/prism/node.rb#1781 sig { override.returns(T::Array[Prism::Node]) } 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#1692 + # source://prism//lib/prism/node.rb#1793 sig do params( node_id: Integer, @@ -2089,22 +2160,29 @@ class Prism::BlockArgumentNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1697 + # source://prism//lib/prism/node.rb#1798 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#1700 + # source://prism//lib/prism/node.rb#1801 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [expression] + # + # source://prism//lib/prism/node.rb#1774 + def each_child_node; end + # The expression that is being passed as a block argument. This can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression). # # foo(&args) # ^^^^^ # - # source://prism//lib/prism/node.rb#1708 + # source://prism//lib/prism/node.rb#1809 sig { returns(T.nilable(Prism::Node)) } def expression; end @@ -2113,13 +2191,13 @@ class Prism::BlockArgumentNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#1732 + # source://prism//lib/prism/node.rb#1833 sig { override.returns(String) } def inspect; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#1727 + # source://prism//lib/prism/node.rb#1828 sig { returns(String) } def operator; end @@ -2128,26 +2206,26 @@ class Prism::BlockArgumentNode < ::Prism::Node # foo(&args) # ^ # - # source://prism//lib/prism/node.rb#1714 + # source://prism//lib/prism/node.rb#1815 sig { returns(Prism::Location) } def operator_loc; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#1722 + # source://prism//lib/prism/node.rb#1823 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#1737 + # source://prism//lib/prism/node.rb#1838 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#1742 + # source://prism//lib/prism/node.rb#1843 def type; end end end @@ -2157,49 +2235,49 @@ end # a { |; b| } # ^ # -# source://prism//lib/prism/node.rb#1759 +# source://prism//lib/prism/node.rb#1860 class Prism::BlockLocalVariableNode < ::Prism::Node # Initialize a new BlockLocalVariableNode node. # # @return [BlockLocalVariableNode] a new instance of BlockLocalVariableNode # - # source://prism//lib/prism/node.rb#1761 + # source://prism//lib/prism/node.rb#1862 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#1830 + # source://prism//lib/prism/node.rb#1937 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#1770 + # source://prism//lib/prism/node.rb#1871 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1775 + # source://prism//lib/prism/node.rb#1876 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#1785 + # source://prism//lib/prism/node.rb#1892 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#1780 + # source://prism//lib/prism/node.rb#1887 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#1790 + # source://prism//lib/prism/node.rb#1897 sig do params( node_id: Integer, @@ -2213,22 +2291,27 @@ class Prism::BlockLocalVariableNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1795 + # source://prism//lib/prism/node.rb#1902 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#1798 + # source://prism//lib/prism/node.rb#1905 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#1881 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#1814 + # source://prism//lib/prism/node.rb#1921 sig { override.returns(String) } def inspect; end @@ -2237,7 +2320,7 @@ class Prism::BlockLocalVariableNode < ::Prism::Node # a { |; b| } # name `:b` # ^ # - # source://prism//lib/prism/node.rb#1811 + # source://prism//lib/prism/node.rb#1918 sig { returns(Symbol) } def name; end @@ -2245,20 +2328,20 @@ class Prism::BlockLocalVariableNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#1803 + # source://prism//lib/prism/node.rb#1910 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#1819 + # source://prism//lib/prism/node.rb#1926 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#1824 + # source://prism//lib/prism/node.rb#1931 def type; end end end @@ -2268,13 +2351,13 @@ end # [1, 2, 3].each { |i| puts x } # ^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#1841 +# source://prism//lib/prism/node.rb#1948 class Prism::BlockNode < ::Prism::Node # Initialize a new BlockNode node. # # @return [BlockNode] a new instance of BlockNode # - # source://prism//lib/prism/node.rb#1843 + # source://prism//lib/prism/node.rb#1950 sig do params( source: Prism::Source, @@ -2293,12 +2376,12 @@ class Prism::BlockNode < ::Prism::Node # 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#1972 + # source://prism//lib/prism/node.rb#2087 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#1856 + # source://prism//lib/prism/node.rb#1963 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -2307,19 +2390,19 @@ class Prism::BlockNode < ::Prism::Node # [1, 2, 3].each { |i| puts x } # ^^^^^^ # - # source://prism//lib/prism/node.rb#1911 + # source://prism//lib/prism/node.rb#2026 sig { returns(T.nilable(T.any(Prism::StatementsNode, Prism::BeginNode))) } def body; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1861 + # source://prism//lib/prism/node.rb#1968 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#1951 + # source://prism//lib/prism/node.rb#2066 sig { returns(String) } def closing; end @@ -2328,25 +2411,25 @@ class Prism::BlockNode < ::Prism::Node # [1, 2, 3].each { |i| puts x } # ^ # - # source://prism//lib/prism/node.rb#1933 + # source://prism//lib/prism/node.rb#2048 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#1874 + # source://prism//lib/prism/node.rb#1989 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#1866 + # source://prism//lib/prism/node.rb#1981 sig { override.returns(T::Array[Prism::Node]) } 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#1879 + # source://prism//lib/prism/node.rb#1994 sig do params( node_id: Integer, @@ -2364,22 +2447,29 @@ class Prism::BlockNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#1884 + # source://prism//lib/prism/node.rb#1999 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#1887 + # source://prism//lib/prism/node.rb#2002 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [parameters] + # + # source://prism//lib/prism/node.rb#1973 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#1956 + # source://prism//lib/prism/node.rb#2071 sig { override.returns(String) } def inspect; end @@ -2388,13 +2478,13 @@ class Prism::BlockNode < ::Prism::Node # [1, 2, 3].each { |i| puts x } # locals: [:i] # ^ # - # source://prism//lib/prism/node.rb#1895 + # source://prism//lib/prism/node.rb#2010 sig { returns(T::Array[Symbol]) } def locals; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#1946 + # source://prism//lib/prism/node.rb#2061 sig { returns(String) } def opening; end @@ -2403,7 +2493,7 @@ class Prism::BlockNode < ::Prism::Node # [1, 2, 3].each { |i| puts x } # ^ # - # source://prism//lib/prism/node.rb#1917 + # source://prism//lib/prism/node.rb#2032 sig { returns(Prism::Location) } def opening_loc; end @@ -2416,32 +2506,32 @@ class Prism::BlockNode < ::Prism::Node # [1, 2, 3].each { puts it } # ^^^^^^^^^^^ # - # source://prism//lib/prism/node.rb#1905 + # source://prism//lib/prism/node.rb#2020 sig { returns(T.nilable(T.any(Prism::BlockParametersNode, Prism::NumberedParametersNode, Prism::ItParametersNode))) } def parameters; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#1941 + # source://prism//lib/prism/node.rb#2056 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#1925 + # source://prism//lib/prism/node.rb#2040 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#1961 + # source://prism//lib/prism/node.rb#2076 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#1966 + # source://prism//lib/prism/node.rb#2081 def type; end end end @@ -2452,13 +2542,13 @@ end # ^^ # end # -# source://prism//lib/prism/node.rb#1988 +# source://prism//lib/prism/node.rb#2103 class Prism::BlockParameterNode < ::Prism::Node # Initialize a new BlockParameterNode node. # # @return [BlockParameterNode] a new instance of BlockParameterNode # - # source://prism//lib/prism/node.rb#1990 + # source://prism//lib/prism/node.rb#2105 sig do params( source: Prism::Source, @@ -2475,36 +2565,36 @@ class Prism::BlockParameterNode < ::Prism::Node # 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#2106 + # source://prism//lib/prism/node.rb#2227 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#2001 + # source://prism//lib/prism/node.rb#2116 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2006 + # source://prism//lib/prism/node.rb#2121 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#2016 + # source://prism//lib/prism/node.rb#2137 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#2011 + # source://prism//lib/prism/node.rb#2132 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#2021 + # source://prism//lib/prism/node.rb#2142 sig do params( node_id: Integer, @@ -2520,22 +2610,27 @@ class Prism::BlockParameterNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2026 + # source://prism//lib/prism/node.rb#2147 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#2029 + # source://prism//lib/prism/node.rb#2150 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#2126 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#2090 + # source://prism//lib/prism/node.rb#2211 sig { override.returns(String) } def inspect; end @@ -2545,7 +2640,7 @@ class Prism::BlockParameterNode < ::Prism::Node # ^ # end # - # source://prism//lib/prism/node.rb#2043 + # source://prism//lib/prism/node.rb#2164 sig { returns(T.nilable(Symbol)) } def name; end @@ -2554,13 +2649,13 @@ class Prism::BlockParameterNode < ::Prism::Node # def a(&b) # ^ # - # source://prism//lib/prism/node.rb#2049 + # source://prism//lib/prism/node.rb#2170 sig { returns(T.nilable(Prism::Location)) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#2085 + # source://prism//lib/prism/node.rb#2206 sig { returns(String) } def operator; end @@ -2570,7 +2665,7 @@ class Prism::BlockParameterNode < ::Prism::Node # ^ # end # - # source://prism//lib/prism/node.rb#2072 + # source://prism//lib/prism/node.rb#2193 sig { returns(Prism::Location) } def operator_loc; end @@ -2578,32 +2673,32 @@ class Prism::BlockParameterNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2034 + # source://prism//lib/prism/node.rb#2155 sig { returns(T::Boolean) } def repeated_parameter?; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2063 + # source://prism//lib/prism/node.rb#2184 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2080 + # source://prism//lib/prism/node.rb#2201 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#2095 + # source://prism//lib/prism/node.rb#2216 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#2100 + # source://prism//lib/prism/node.rb#2221 def type; end end end @@ -2617,13 +2712,13 @@ end # ^^^^^^^^^^^^^^^^^ # end # -# source://prism//lib/prism/node.rb#2123 +# source://prism//lib/prism/node.rb#2244 class Prism::BlockParametersNode < ::Prism::Node # Initialize a new BlockParametersNode node. # # @return [BlockParametersNode] a new instance of BlockParametersNode # - # source://prism//lib/prism/node.rb#2125 + # source://prism//lib/prism/node.rb#2246 sig do params( source: Prism::Source, @@ -2641,24 +2736,24 @@ class Prism::BlockParametersNode < ::Prism::Node # 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#2271 + # source://prism//lib/prism/node.rb#2400 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#2137 + # source://prism//lib/prism/node.rb#2258 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2142 + # source://prism//lib/prism/node.rb#2263 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#2250 + # source://prism//lib/prism/node.rb#2379 sig { returns(T.nilable(String)) } def closing; end @@ -2671,25 +2766,25 @@ class Prism::BlockParametersNode < ::Prism::Node # ^ # end # - # source://prism//lib/prism/node.rb#2226 + # source://prism//lib/prism/node.rb#2355 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#2155 + # source://prism//lib/prism/node.rb#2284 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#2147 + # source://prism//lib/prism/node.rb#2276 sig { override.returns(T::Array[Prism::Node]) } 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#2160 + # source://prism//lib/prism/node.rb#2289 sig do params( node_id: Integer, @@ -2706,22 +2801,29 @@ class Prism::BlockParametersNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2165 + # source://prism//lib/prism/node.rb#2294 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#2168 + # source://prism//lib/prism/node.rb#2297 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [parameters] + # + # source://prism//lib/prism/node.rb#2268 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#2255 + # source://prism//lib/prism/node.rb#2384 sig { override.returns(String) } def inspect; end @@ -2734,13 +2836,13 @@ class Prism::BlockParametersNode < ::Prism::Node # ^^^^^ # end # - # source://prism//lib/prism/node.rb#2190 + # source://prism//lib/prism/node.rb#2319 sig { returns(T::Array[Prism::BlockLocalVariableNode]) } def locals; end # def opening: () -> String? # - # source://prism//lib/prism/node.rb#2245 + # source://prism//lib/prism/node.rb#2374 sig { returns(T.nilable(String)) } def opening; end @@ -2753,7 +2855,7 @@ class Prism::BlockParametersNode < ::Prism::Node # ^ # end # - # source://prism//lib/prism/node.rb#2200 + # source://prism//lib/prism/node.rb#2329 sig { returns(T.nilable(Prism::Location)) } def opening_loc; end @@ -2766,32 +2868,32 @@ class Prism::BlockParametersNode < ::Prism::Node # ^^^^^^^^ # end # - # source://prism//lib/prism/node.rb#2180 + # source://prism//lib/prism/node.rb#2309 sig { returns(T.nilable(Prism::ParametersNode)) } def parameters; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2240 + # source://prism//lib/prism/node.rb#2369 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2214 + # source://prism//lib/prism/node.rb#2343 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#2260 + # source://prism//lib/prism/node.rb#2389 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#2265 + # source://prism//lib/prism/node.rb#2394 def type; end end end @@ -2801,13 +2903,13 @@ end # break foo # ^^^^^^^^^ # -# source://prism//lib/prism/node.rb#2285 +# source://prism//lib/prism/node.rb#2414 class Prism::BreakNode < ::Prism::Node # Initialize a new BreakNode node. # # @return [BreakNode] a new instance of BreakNode # - # source://prism//lib/prism/node.rb#2287 + # source://prism//lib/prism/node.rb#2416 sig do params( source: Prism::Source, @@ -2823,12 +2925,12 @@ class Prism::BreakNode < ::Prism::Node # 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#2375 + # source://prism//lib/prism/node.rb#2511 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#2297 + # source://prism//lib/prism/node.rb#2426 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -2837,31 +2939,31 @@ class Prism::BreakNode < ::Prism::Node # break foo # ^^^ # - # source://prism//lib/prism/node.rb#2335 + # source://prism//lib/prism/node.rb#2471 sig { returns(T.nilable(Prism::ArgumentsNode)) } def arguments; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2302 + # source://prism//lib/prism/node.rb#2431 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#2314 + # source://prism//lib/prism/node.rb#2450 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#2307 + # source://prism//lib/prism/node.rb#2443 sig { override.returns(T::Array[Prism::Node]) } 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#2319 + # source://prism//lib/prism/node.rb#2455 sig do params( node_id: Integer, @@ -2876,28 +2978,35 @@ class Prism::BreakNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2324 + # source://prism//lib/prism/node.rb#2460 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#2327 + # source://prism//lib/prism/node.rb#2463 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [arguments] + # + # source://prism//lib/prism/node.rb#2436 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#2359 + # source://prism//lib/prism/node.rb#2495 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#2354 + # source://prism//lib/prism/node.rb#2490 sig { returns(String) } def keyword; end @@ -2906,26 +3015,26 @@ class Prism::BreakNode < ::Prism::Node # break foo # ^^^^^ # - # source://prism//lib/prism/node.rb#2341 + # source://prism//lib/prism/node.rb#2477 sig { returns(Prism::Location) } def keyword_loc; end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2349 + # source://prism//lib/prism/node.rb#2485 def save_keyword_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#2364 + # source://prism//lib/prism/node.rb#2500 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#2369 + # source://prism//lib/prism/node.rb#2505 def type; end end end @@ -2935,13 +3044,13 @@ end # foo.bar &&= value # ^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#2386 +# source://prism//lib/prism/node.rb#2522 class Prism::CallAndWriteNode < ::Prism::Node # Initialize a new CallAndWriteNode node. # # @return [CallAndWriteNode] a new instance of CallAndWriteNode # - # source://prism//lib/prism/node.rb#2388 + # source://prism//lib/prism/node.rb#2524 sig do params( source: Prism::Source, @@ -2962,12 +3071,12 @@ class Prism::CallAndWriteNode < ::Prism::Node # 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#2574 + # source://prism//lib/prism/node.rb#2718 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#2403 + # source://prism//lib/prism/node.rb#2539 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -2975,13 +3084,13 @@ class Prism::CallAndWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2449 + # source://prism//lib/prism/node.rb#2593 sig { returns(T::Boolean) } def attribute_write?; end # def call_operator: () -> String? # - # source://prism//lib/prism/node.rb#2543 + # source://prism//lib/prism/node.rb#2687 sig { returns(T.nilable(String)) } def call_operator; end @@ -2990,31 +3099,31 @@ class Prism::CallAndWriteNode < ::Prism::Node # foo.bar &&= value # ^ # - # source://prism//lib/prism/node.rb#2468 + # source://prism//lib/prism/node.rb#2612 sig { returns(T.nilable(Prism::Location)) } def call_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2408 + # source://prism//lib/prism/node.rb#2544 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#2421 + # source://prism//lib/prism/node.rb#2565 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#2413 + # source://prism//lib/prism/node.rb#2557 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#2426 + # source://prism//lib/prism/node.rb#2570 sig do params( node_id: Integer, @@ -3034,16 +3143,23 @@ class Prism::CallAndWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2431 + # source://prism//lib/prism/node.rb#2575 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#2434 + # source://prism//lib/prism/node.rb#2578 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [receiver] + # + # source://prism//lib/prism/node.rb#2549 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -3051,19 +3167,19 @@ class Prism::CallAndWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2454 + # source://prism//lib/prism/node.rb#2598 sig { returns(T::Boolean) } def ignore_visibility?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#2558 + # source://prism//lib/prism/node.rb#2702 sig { override.returns(String) } def inspect; end # def message: () -> String? # - # source://prism//lib/prism/node.rb#2548 + # source://prism//lib/prism/node.rb#2692 sig { returns(T.nilable(String)) } def message; end @@ -3072,13 +3188,13 @@ class Prism::CallAndWriteNode < ::Prism::Node # foo.bar &&= value # ^^^ # - # source://prism//lib/prism/node.rb#2490 + # source://prism//lib/prism/node.rb#2634 sig { returns(T.nilable(Prism::Location)) } def message_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#2553 + # source://prism//lib/prism/node.rb#2697 sig { returns(String) } def operator; end @@ -3087,7 +3203,7 @@ class Prism::CallAndWriteNode < ::Prism::Node # foo.bar &&= value # ^^^ # - # source://prism//lib/prism/node.rb#2524 + # source://prism//lib/prism/node.rb#2668 sig { returns(Prism::Location) } def operator_loc; end @@ -3096,7 +3212,7 @@ class Prism::CallAndWriteNode < ::Prism::Node # foo.bar &&= value # read_name `:bar` # ^^^ # - # source://prism//lib/prism/node.rb#2512 + # source://prism//lib/prism/node.rb#2656 sig { returns(Symbol) } def read_name; end @@ -3105,7 +3221,7 @@ class Prism::CallAndWriteNode < ::Prism::Node # foo.bar &&= value # ^^^ # - # source://prism//lib/prism/node.rb#2462 + # source://prism//lib/prism/node.rb#2606 sig { returns(T.nilable(Prism::Node)) } def receiver; end @@ -3113,31 +3229,31 @@ class Prism::CallAndWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2439 + # source://prism//lib/prism/node.rb#2583 sig { returns(T::Boolean) } def safe_navigation?; end # Save the call_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2482 + # source://prism//lib/prism/node.rb#2626 def save_call_operator_loc(repository); end # Save the message_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2504 + # source://prism//lib/prism/node.rb#2648 def save_message_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2532 + # source://prism//lib/prism/node.rb#2676 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#2563 + # source://prism//lib/prism/node.rb#2707 sig { override.returns(Symbol) } def type; end @@ -3146,7 +3262,7 @@ class Prism::CallAndWriteNode < ::Prism::Node # foo.bar &&= value # ^^^^^ # - # source://prism//lib/prism/node.rb#2540 + # source://prism//lib/prism/node.rb#2684 sig { returns(Prism::Node) } def value; end @@ -3154,7 +3270,7 @@ class Prism::CallAndWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2444 + # source://prism//lib/prism/node.rb#2588 sig { returns(T::Boolean) } def variable_call?; end @@ -3163,14 +3279,14 @@ class Prism::CallAndWriteNode < ::Prism::Node # foo.bar &&= value # write_name `:bar=` # ^^^ # - # source://prism//lib/prism/node.rb#2518 + # source://prism//lib/prism/node.rb#2662 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#2568 + # source://prism//lib/prism/node.rb#2712 def type; end end end @@ -3195,13 +3311,13 @@ end # foo&.bar # ^^^^^^^^ # -# source://prism//lib/prism/node.rb#2606 +# source://prism//lib/prism/node.rb#2750 class Prism::CallNode < ::Prism::Node # Initialize a new CallNode node. # # @return [CallNode] a new instance of CallNode # - # source://prism//lib/prism/node.rb#2608 + # source://prism//lib/prism/node.rb#2752 sig do params( source: Prism::Source, @@ -3215,20 +3331,21 @@ class Prism::CallNode < ::Prism::Node opening_loc: T.nilable(Prism::Location), arguments: T.nilable(Prism::ArgumentsNode), closing_loc: T.nilable(Prism::Location), + equal_loc: T.nilable(Prism::Location), block: T.nilable(T.any(Prism::BlockNode, Prism::BlockArgumentNode)) ).void end - def initialize(source, node_id, location, flags, receiver, call_operator_loc, name, message_loc, opening_loc, arguments, closing_loc, block); end + def initialize(source, node_id, location, flags, receiver, call_operator_loc, name, message_loc, opening_loc, arguments, closing_loc, equal_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#2837 + # source://prism//lib/prism/node.rb#3021 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#2624 + # source://prism//lib/prism/node.rb#2769 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -3237,7 +3354,7 @@ class Prism::CallNode < ::Prism::Node # foo(bar) # ^^^ # - # source://prism//lib/prism/node.rb#2770 + # source://prism//lib/prism/node.rb#2924 sig { returns(T.nilable(Prism::ArgumentsNode)) } def arguments; end @@ -3245,7 +3362,7 @@ class Prism::CallNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2671 + # source://prism//lib/prism/node.rb#2825 sig { returns(T::Boolean) } def attribute_write?; end @@ -3254,13 +3371,13 @@ class Prism::CallNode < ::Prism::Node # foo { |a| a } # ^^^^^^^^^ # - # source://prism//lib/prism/node.rb#2798 + # source://prism//lib/prism/node.rb#2977 sig { returns(T.nilable(T.any(Prism::BlockNode, Prism::BlockArgumentNode))) } def block; end # def call_operator: () -> String? # - # source://prism//lib/prism/node.rb#2801 + # source://prism//lib/prism/node.rb#2980 sig { returns(T.nilable(String)) } def call_operator; end @@ -3272,19 +3389,19 @@ class Prism::CallNode < ::Prism::Node # foo&.bar # ^^ # - # source://prism//lib/prism/node.rb#2699 + # source://prism//lib/prism/node.rb#2853 sig { returns(T.nilable(Prism::Location)) } def call_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2629 + # source://prism//lib/prism/node.rb#2774 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#2816 + # source://prism//lib/prism/node.rb#2995 sig { returns(T.nilable(String)) } def closing; end @@ -3293,25 +3410,25 @@ class Prism::CallNode < ::Prism::Node # foo(bar) # ^ # - # source://prism//lib/prism/node.rb#2776 + # source://prism//lib/prism/node.rb#2930 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#2643 + # source://prism//lib/prism/node.rb#2797 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#2634 + # source://prism//lib/prism/node.rb#2788 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: BlockNode | BlockArgumentNode | nil) -> CallNode + # 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?, ?equal_loc: Location?, ?block: BlockNode | BlockArgumentNode | nil) -> CallNode # - # source://prism//lib/prism/node.rb#2648 + # source://prism//lib/prism/node.rb#2802 sig do params( node_id: Integer, @@ -3324,24 +3441,50 @@ class Prism::CallNode < ::Prism::Node opening_loc: T.nilable(Prism::Location), arguments: T.nilable(Prism::ArgumentsNode), closing_loc: T.nilable(Prism::Location), + equal_loc: T.nilable(Prism::Location), block: T.nilable(T.any(Prism::BlockNode, Prism::BlockArgumentNode)) ).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 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), equal_loc: T.unsafe(nil), block: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2653 + # source://prism//lib/prism/node.rb#2807 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: BlockNode | BlockArgumentNode | nil } + # 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?, equal_loc: Location?, block: BlockNode | BlockArgumentNode | nil } # - # source://prism//lib/prism/node.rb#2656 + # source://prism//lib/prism/node.rb#2810 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [receiver] + # + # source://prism//lib/prism/node.rb#2779 + def each_child_node; end + + # def equal: () -> String? + # + # source://prism//lib/prism/node.rb#3000 + sig { returns(T.nilable(String)) } + def equal; end + + # Represents the location of the equal sign, in the case that this is an attribute write. + # + # foo.bar = value + # ^ + # + # foo[bar] = value + # ^ + # + # source://prism//lib/prism/node.rb#2955 + sig { returns(T.nilable(Prism::Location)) } + def equal_loc; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -3363,19 +3506,19 @@ class Prism::CallNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2676 + # source://prism//lib/prism/node.rb#2830 sig { returns(T::Boolean) } def ignore_visibility?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#2821 + # source://prism//lib/prism/node.rb#3005 sig { override.returns(String) } def inspect; end # def message: () -> String? # - # source://prism//lib/prism/node.rb#2806 + # source://prism//lib/prism/node.rb#2985 sig { returns(T.nilable(String)) } def message; end @@ -3384,7 +3527,7 @@ class Prism::CallNode < ::Prism::Node # foo.bar # ^^^ # - # source://prism//lib/prism/node.rb#2727 + # source://prism//lib/prism/node.rb#2881 sig { returns(T.nilable(Prism::Location)) } def message_loc; end @@ -3393,13 +3536,13 @@ class Prism::CallNode < ::Prism::Node # foo.bar # name `:foo` # ^^^ # - # source://prism//lib/prism/node.rb#2721 + # source://prism//lib/prism/node.rb#2875 sig { returns(Symbol) } def name; end # def opening: () -> String? # - # source://prism//lib/prism/node.rb#2811 + # source://prism//lib/prism/node.rb#2990 sig { returns(T.nilable(String)) } def opening; end @@ -3407,7 +3550,7 @@ class Prism::CallNode < ::Prism::Node # foo(bar) # ^ # - # source://prism//lib/prism/node.rb#2748 + # source://prism//lib/prism/node.rb#2902 sig { returns(T.nilable(Prism::Location)) } def opening_loc; end @@ -3422,7 +3565,7 @@ class Prism::CallNode < ::Prism::Node # foo + bar # ^^^ # - # source://prism//lib/prism/node.rb#2690 + # source://prism//lib/prism/node.rb#2844 sig { returns(T.nilable(Prism::Node)) } def receiver; end @@ -3430,37 +3573,43 @@ class Prism::CallNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2661 + # source://prism//lib/prism/node.rb#2815 sig { returns(T::Boolean) } def safe_navigation?; end # Save the call_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2713 + # source://prism//lib/prism/node.rb#2867 def save_call_operator_loc(repository); end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2790 + # source://prism//lib/prism/node.rb#2944 def save_closing_loc(repository); end + # Save the equal_loc location using the given saved source so that + # it can be retrieved later. + # + # source://prism//lib/prism/node.rb#2969 + def save_equal_loc(repository); end + # Save the message_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2741 + # source://prism//lib/prism/node.rb#2895 def save_message_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2762 + # source://prism//lib/prism/node.rb#2916 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#2826 + # source://prism//lib/prism/node.rb#3010 sig { override.returns(Symbol) } def type; end @@ -3468,41 +3617,41 @@ class Prism::CallNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2666 + # source://prism//lib/prism/node.rb#2820 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#2831 + # source://prism//lib/prism/node.rb#3015 def type; end end end # Flags for call nodes. # -# source://prism//lib/prism/node.rb#18654 +# source://prism//lib/prism/node.rb#19796 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#18662 +# source://prism//lib/prism/node.rb#19804 Prism::CallNodeFlags::ATTRIBUTE_WRITE = T.let(T.unsafe(nil), Integer) # a call that ignores method visibility # -# source://prism//lib/prism/node.rb#18665 +# source://prism//lib/prism/node.rb#19807 Prism::CallNodeFlags::IGNORE_VISIBILITY = T.let(T.unsafe(nil), Integer) # &. operator # -# source://prism//lib/prism/node.rb#18656 +# source://prism//lib/prism/node.rb#19798 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#18659 +# source://prism//lib/prism/node.rb#19801 Prism::CallNodeFlags::VARIABLE_CALL = T.let(T.unsafe(nil), Integer) # Represents the use of an assignment operator on a call. @@ -3510,13 +3659,13 @@ Prism::CallNodeFlags::VARIABLE_CALL = T.let(T.unsafe(nil), Integer) # foo.bar += baz # ^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#2855 +# source://prism//lib/prism/node.rb#3040 class Prism::CallOperatorWriteNode < ::Prism::Node # Initialize a new CallOperatorWriteNode node. # # @return [CallOperatorWriteNode] a new instance of CallOperatorWriteNode # - # source://prism//lib/prism/node.rb#2857 + # source://prism//lib/prism/node.rb#3042 sig do params( source: Prism::Source, @@ -3538,12 +3687,12 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # 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#3045 + # source://prism//lib/prism/node.rb#3238 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#2873 + # source://prism//lib/prism/node.rb#3058 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -3551,7 +3700,7 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2919 + # source://prism//lib/prism/node.rb#3112 sig { returns(T::Boolean) } def attribute_write?; end @@ -3560,7 +3709,7 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # foo.bar += value # binary_operator `:+` # ^ # - # source://prism//lib/prism/node.rb#2994 + # source://prism//lib/prism/node.rb#3187 sig { returns(Symbol) } def binary_operator; end @@ -3569,13 +3718,13 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # foo.bar += value # ^^ # - # source://prism//lib/prism/node.rb#3000 + # source://prism//lib/prism/node.rb#3193 sig { returns(Prism::Location) } def binary_operator_loc; end # def call_operator: () -> String? # - # source://prism//lib/prism/node.rb#3019 + # source://prism//lib/prism/node.rb#3212 sig { returns(T.nilable(String)) } def call_operator; end @@ -3584,31 +3733,31 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # foo.bar += value # ^ # - # source://prism//lib/prism/node.rb#2938 + # source://prism//lib/prism/node.rb#3131 sig { returns(T.nilable(Prism::Location)) } def call_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2878 + # source://prism//lib/prism/node.rb#3063 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#2891 + # source://prism//lib/prism/node.rb#3084 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#2883 + # source://prism//lib/prism/node.rb#3076 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#2896 + # source://prism//lib/prism/node.rb#3089 sig do params( node_id: Integer, @@ -3629,16 +3778,23 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#2901 + # source://prism//lib/prism/node.rb#3094 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#2904 + # source://prism//lib/prism/node.rb#3097 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [receiver] + # + # source://prism//lib/prism/node.rb#3068 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -3646,19 +3802,19 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2924 + # source://prism//lib/prism/node.rb#3117 sig { returns(T::Boolean) } def ignore_visibility?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#3029 + # source://prism//lib/prism/node.rb#3222 sig { override.returns(String) } def inspect; end # def message: () -> String? # - # source://prism//lib/prism/node.rb#3024 + # source://prism//lib/prism/node.rb#3217 sig { returns(T.nilable(String)) } def message; end @@ -3667,7 +3823,7 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # foo.bar += value # ^^^ # - # source://prism//lib/prism/node.rb#2960 + # source://prism//lib/prism/node.rb#3153 sig { returns(T.nilable(Prism::Location)) } def message_loc; end @@ -3688,7 +3844,7 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # foo.bar += value # read_name `:bar` # ^^^ # - # source://prism//lib/prism/node.rb#2982 + # source://prism//lib/prism/node.rb#3175 sig { returns(Symbol) } def read_name; end @@ -3697,7 +3853,7 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # foo.bar += value # ^^^ # - # source://prism//lib/prism/node.rb#2932 + # source://prism//lib/prism/node.rb#3125 sig { returns(T.nilable(Prism::Node)) } def receiver; end @@ -3705,31 +3861,31 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2909 + # source://prism//lib/prism/node.rb#3102 sig { returns(T::Boolean) } def safe_navigation?; end # Save the binary_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3008 + # source://prism//lib/prism/node.rb#3201 def save_binary_operator_loc(repository); end # Save the call_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2952 + # source://prism//lib/prism/node.rb#3145 def save_call_operator_loc(repository); end # Save the message_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#2974 + # source://prism//lib/prism/node.rb#3167 def save_message_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#3034 + # source://prism//lib/prism/node.rb#3227 sig { override.returns(Symbol) } def type; end @@ -3738,7 +3894,7 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # foo.bar += value # ^^^^^ # - # source://prism//lib/prism/node.rb#3016 + # source://prism//lib/prism/node.rb#3209 sig { returns(Prism::Node) } def value; end @@ -3746,7 +3902,7 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#2914 + # source://prism//lib/prism/node.rb#3107 sig { returns(T::Boolean) } def variable_call?; end @@ -3755,14 +3911,14 @@ class Prism::CallOperatorWriteNode < ::Prism::Node # foo.bar += value # write_name `:bar=` # ^^^ # - # source://prism//lib/prism/node.rb#2988 + # source://prism//lib/prism/node.rb#3181 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#3039 + # source://prism//lib/prism/node.rb#3232 def type; end end end @@ -3772,13 +3928,13 @@ end # foo.bar ||= value # ^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#3063 +# source://prism//lib/prism/node.rb#3256 class Prism::CallOrWriteNode < ::Prism::Node # Initialize a new CallOrWriteNode node. # # @return [CallOrWriteNode] a new instance of CallOrWriteNode # - # source://prism//lib/prism/node.rb#3065 + # source://prism//lib/prism/node.rb#3258 sig do params( source: Prism::Source, @@ -3799,12 +3955,12 @@ class Prism::CallOrWriteNode < ::Prism::Node # 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#3251 + # source://prism//lib/prism/node.rb#3452 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#3080 + # source://prism//lib/prism/node.rb#3273 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -3812,13 +3968,13 @@ class Prism::CallOrWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#3126 + # source://prism//lib/prism/node.rb#3327 sig { returns(T::Boolean) } def attribute_write?; end # def call_operator: () -> String? # - # source://prism//lib/prism/node.rb#3220 + # source://prism//lib/prism/node.rb#3421 sig { returns(T.nilable(String)) } def call_operator; end @@ -3827,31 +3983,31 @@ class Prism::CallOrWriteNode < ::Prism::Node # foo.bar ||= value # ^ # - # source://prism//lib/prism/node.rb#3145 + # source://prism//lib/prism/node.rb#3346 sig { returns(T.nilable(Prism::Location)) } def call_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3085 + # source://prism//lib/prism/node.rb#3278 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#3098 + # source://prism//lib/prism/node.rb#3299 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#3090 + # source://prism//lib/prism/node.rb#3291 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#3103 + # source://prism//lib/prism/node.rb#3304 sig do params( node_id: Integer, @@ -3871,16 +4027,23 @@ class Prism::CallOrWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3108 + # source://prism//lib/prism/node.rb#3309 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#3111 + # source://prism//lib/prism/node.rb#3312 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [receiver] + # + # source://prism//lib/prism/node.rb#3283 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -3888,19 +4051,19 @@ class Prism::CallOrWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#3131 + # source://prism//lib/prism/node.rb#3332 sig { returns(T::Boolean) } def ignore_visibility?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#3235 + # source://prism//lib/prism/node.rb#3436 sig { override.returns(String) } def inspect; end # def message: () -> String? # - # source://prism//lib/prism/node.rb#3225 + # source://prism//lib/prism/node.rb#3426 sig { returns(T.nilable(String)) } def message; end @@ -3909,13 +4072,13 @@ class Prism::CallOrWriteNode < ::Prism::Node # foo.bar ||= value # ^^^ # - # source://prism//lib/prism/node.rb#3167 + # source://prism//lib/prism/node.rb#3368 sig { returns(T.nilable(Prism::Location)) } def message_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#3230 + # source://prism//lib/prism/node.rb#3431 sig { returns(String) } def operator; end @@ -3924,7 +4087,7 @@ class Prism::CallOrWriteNode < ::Prism::Node # foo.bar ||= value # ^^^ # - # source://prism//lib/prism/node.rb#3201 + # source://prism//lib/prism/node.rb#3402 sig { returns(Prism::Location) } def operator_loc; end @@ -3933,7 +4096,7 @@ class Prism::CallOrWriteNode < ::Prism::Node # foo.bar ||= value # read_name `:bar` # ^^^ # - # source://prism//lib/prism/node.rb#3189 + # source://prism//lib/prism/node.rb#3390 sig { returns(Symbol) } def read_name; end @@ -3942,7 +4105,7 @@ class Prism::CallOrWriteNode < ::Prism::Node # foo.bar ||= value # ^^^ # - # source://prism//lib/prism/node.rb#3139 + # source://prism//lib/prism/node.rb#3340 sig { returns(T.nilable(Prism::Node)) } def receiver; end @@ -3950,31 +4113,31 @@ class Prism::CallOrWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#3116 + # source://prism//lib/prism/node.rb#3317 sig { returns(T::Boolean) } def safe_navigation?; end # Save the call_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3159 + # source://prism//lib/prism/node.rb#3360 def save_call_operator_loc(repository); end # Save the message_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3181 + # source://prism//lib/prism/node.rb#3382 def save_message_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3209 + # source://prism//lib/prism/node.rb#3410 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#3240 + # source://prism//lib/prism/node.rb#3441 sig { override.returns(Symbol) } def type; end @@ -3983,7 +4146,7 @@ class Prism::CallOrWriteNode < ::Prism::Node # foo.bar ||= value # ^^^^^ # - # source://prism//lib/prism/node.rb#3217 + # source://prism//lib/prism/node.rb#3418 sig { returns(Prism::Node) } def value; end @@ -3991,7 +4154,7 @@ class Prism::CallOrWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#3121 + # source://prism//lib/prism/node.rb#3322 sig { returns(T::Boolean) } def variable_call?; end @@ -4000,14 +4163,14 @@ class Prism::CallOrWriteNode < ::Prism::Node # foo.bar ||= value # write_name `:bar=` # ^^^ # - # source://prism//lib/prism/node.rb#3195 + # source://prism//lib/prism/node.rb#3396 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#3245 + # source://prism//lib/prism/node.rb#3446 def type; end end end @@ -4025,13 +4188,13 @@ end # for foo.bar in baz do end # ^^^^^^^ # -# source://prism//lib/prism/node.rb#3276 +# source://prism//lib/prism/node.rb#3477 class Prism::CallTargetNode < ::Prism::Node # Initialize a new CallTargetNode node. # # @return [CallTargetNode] a new instance of CallTargetNode # - # source://prism//lib/prism/node.rb#3278 + # source://prism//lib/prism/node.rb#3479 sig do params( source: Prism::Source, @@ -4049,12 +4212,12 @@ class Prism::CallTargetNode < ::Prism::Node # 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#3413 + # source://prism//lib/prism/node.rb#3621 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#3290 + # source://prism//lib/prism/node.rb#3491 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -4062,13 +4225,13 @@ class Prism::CallTargetNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#3333 + # source://prism//lib/prism/node.rb#3541 sig { returns(T::Boolean) } def attribute_write?; end # def call_operator: () -> String # - # source://prism//lib/prism/node.rb#3387 + # source://prism//lib/prism/node.rb#3595 sig { returns(String) } def call_operator; end @@ -4077,31 +4240,31 @@ class Prism::CallTargetNode < ::Prism::Node # foo.bar = 1 # ^ # - # source://prism//lib/prism/node.rb#3352 + # source://prism//lib/prism/node.rb#3560 sig { returns(Prism::Location) } def call_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3295 + # source://prism//lib/prism/node.rb#3496 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#3305 + # source://prism//lib/prism/node.rb#3513 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#3300 + # source://prism//lib/prism/node.rb#3508 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#3310 + # source://prism//lib/prism/node.rb#3518 sig do params( node_id: Integer, @@ -4118,16 +4281,23 @@ class Prism::CallTargetNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3315 + # source://prism//lib/prism/node.rb#3523 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#3318 + # source://prism//lib/prism/node.rb#3526 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [receiver] + # + # source://prism//lib/prism/node.rb#3501 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -4135,19 +4305,19 @@ class Prism::CallTargetNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#3338 + # source://prism//lib/prism/node.rb#3546 sig { returns(T::Boolean) } def ignore_visibility?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#3397 + # source://prism//lib/prism/node.rb#3605 sig { override.returns(String) } def inspect; end # def message: () -> String # - # source://prism//lib/prism/node.rb#3392 + # source://prism//lib/prism/node.rb#3600 sig { returns(String) } def message; end @@ -4156,7 +4326,7 @@ class Prism::CallTargetNode < ::Prism::Node # foo.bar = 1 # ^^^ # - # source://prism//lib/prism/node.rb#3374 + # source://prism//lib/prism/node.rb#3582 sig { returns(Prism::Location) } def message_loc; end @@ -4165,7 +4335,7 @@ class Prism::CallTargetNode < ::Prism::Node # foo.bar = 1 # name `:foo` # ^^^ # - # source://prism//lib/prism/node.rb#3368 + # source://prism//lib/prism/node.rb#3576 sig { returns(Symbol) } def name; end @@ -4174,7 +4344,7 @@ class Prism::CallTargetNode < ::Prism::Node # foo.bar = 1 # ^^^ # - # source://prism//lib/prism/node.rb#3346 + # source://prism//lib/prism/node.rb#3554 sig { returns(Prism::Node) } def receiver; end @@ -4182,25 +4352,25 @@ class Prism::CallTargetNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#3323 + # source://prism//lib/prism/node.rb#3531 sig { returns(T::Boolean) } def safe_navigation?; end # Save the call_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3360 + # source://prism//lib/prism/node.rb#3568 def save_call_operator_loc(repository); end # Save the message_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3382 + # source://prism//lib/prism/node.rb#3590 def save_message_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#3402 + # source://prism//lib/prism/node.rb#3610 sig { override.returns(Symbol) } def type; end @@ -4208,14 +4378,14 @@ class Prism::CallTargetNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#3328 + # source://prism//lib/prism/node.rb#3536 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#3407 + # source://prism//lib/prism/node.rb#3615 def type; end end end @@ -4225,13 +4395,13 @@ end # foo => [bar => baz] # ^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#3427 +# source://prism//lib/prism/node.rb#3635 class Prism::CapturePatternNode < ::Prism::Node # Initialize a new CapturePatternNode node. # # @return [CapturePatternNode] a new instance of CapturePatternNode # - # source://prism//lib/prism/node.rb#3429 + # source://prism//lib/prism/node.rb#3637 sig do params( source: Prism::Source, @@ -4248,36 +4418,36 @@ class Prism::CapturePatternNode < ::Prism::Node # 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#3522 + # source://prism//lib/prism/node.rb#3738 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#3440 + # source://prism//lib/prism/node.rb#3648 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3445 + # source://prism//lib/prism/node.rb#3653 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#3455 + # source://prism//lib/prism/node.rb#3671 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#3450 + # source://prism//lib/prism/node.rb#3666 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?target: LocalVariableTargetNode, ?operator_loc: Location) -> CapturePatternNode # - # source://prism//lib/prism/node.rb#3460 + # source://prism//lib/prism/node.rb#3676 sig do params( node_id: Integer, @@ -4293,28 +4463,35 @@ class Prism::CapturePatternNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3465 + # source://prism//lib/prism/node.rb#3681 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Prism::node, target: LocalVariableTargetNode, operator_loc: Location } # - # source://prism//lib/prism/node.rb#3468 + # source://prism//lib/prism/node.rb#3684 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#3658 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#3506 + # source://prism//lib/prism/node.rb#3722 sig { override.returns(String) } def inspect; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#3501 + # source://prism//lib/prism/node.rb#3717 sig { returns(String) } def operator; end @@ -4323,14 +4500,14 @@ class Prism::CapturePatternNode < ::Prism::Node # foo => bar # ^^ # - # source://prism//lib/prism/node.rb#3488 + # source://prism//lib/prism/node.rb#3704 sig { returns(Prism::Location) } def operator_loc; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3496 + # source://prism//lib/prism/node.rb#3712 def save_operator_loc(repository); end # Represents the target of the capture. @@ -4338,13 +4515,13 @@ class Prism::CapturePatternNode < ::Prism::Node # foo => bar # ^^^ # - # source://prism//lib/prism/node.rb#3482 + # source://prism//lib/prism/node.rb#3698 sig { returns(Prism::LocalVariableTargetNode) } def target; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#3511 + # source://prism//lib/prism/node.rb#3727 sig { override.returns(Symbol) } def type; end @@ -4353,14 +4530,14 @@ class Prism::CapturePatternNode < ::Prism::Node # foo => bar # ^^^ # - # source://prism//lib/prism/node.rb#3476 + # source://prism//lib/prism/node.rb#3692 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#3516 + # source://prism//lib/prism/node.rb#3732 def type; end end end @@ -4372,13 +4549,13 @@ end # end # ^^^^^^^^^ # -# source://prism//lib/prism/node.rb#3536 +# source://prism//lib/prism/node.rb#3752 class Prism::CaseMatchNode < ::Prism::Node # Initialize a new CaseMatchNode node. # # @return [CaseMatchNode] a new instance of CaseMatchNode # - # source://prism//lib/prism/node.rb#3538 + # source://prism//lib/prism/node.rb#3754 sig do params( source: Prism::Source, @@ -4397,18 +4574,18 @@ class Prism::CaseMatchNode < ::Prism::Node # 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#3664 + # source://prism//lib/prism/node.rb#3889 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#3551 + # source://prism//lib/prism/node.rb#3767 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def case_keyword: () -> String # - # source://prism//lib/prism/node.rb#3638 + # source://prism//lib/prism/node.rb#3863 sig { returns(String) } def case_keyword; end @@ -4417,25 +4594,25 @@ class Prism::CaseMatchNode < ::Prism::Node # case true; in false; end # ^^^^ # - # source://prism//lib/prism/node.rb#3609 + # source://prism//lib/prism/node.rb#3834 sig { returns(Prism::Location) } def case_keyword_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3556 + # source://prism//lib/prism/node.rb#3772 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#3570 + # source://prism//lib/prism/node.rb#3795 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#3561 + # source://prism//lib/prism/node.rb#3786 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end @@ -4444,7 +4621,7 @@ class Prism::CaseMatchNode < ::Prism::Node # case true; in false; end # ^^^^^^^^ # - # source://prism//lib/prism/node.rb#3597 + # source://prism//lib/prism/node.rb#3822 sig { returns(T::Array[Prism::InNode]) } def conditions; end @@ -4456,7 +4633,7 @@ class Prism::CaseMatchNode < ::Prism::Node # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?predicate: Prism::node?, ?conditions: Array[InNode], ?else_clause: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location) -> CaseMatchNode # - # source://prism//lib/prism/node.rb#3575 + # source://prism//lib/prism/node.rb#3800 sig do params( node_id: Integer, @@ -4474,28 +4651,35 @@ class Prism::CaseMatchNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3580 + # source://prism//lib/prism/node.rb#3805 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, predicate: Prism::node?, conditions: Array[InNode], else_clause: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location } # - # source://prism//lib/prism/node.rb#3583 + # source://prism//lib/prism/node.rb#3808 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [predicate] + # + # source://prism//lib/prism/node.rb#3777 + def each_child_node; end + # Represents the else clause of the case match. # # case true; in false; else; end # ^^^^ # - # source://prism//lib/prism/node.rb#3603 + # source://prism//lib/prism/node.rb#3828 sig { returns(T.nilable(Prism::ElseNode)) } def else_clause; end # def end_keyword: () -> String # - # source://prism//lib/prism/node.rb#3643 + # source://prism//lib/prism/node.rb#3868 sig { returns(String) } def end_keyword; end @@ -4504,7 +4688,7 @@ class Prism::CaseMatchNode < ::Prism::Node # case true; in false; end # ^^^ # - # source://prism//lib/prism/node.rb#3625 + # source://prism//lib/prism/node.rb#3850 sig { returns(Prism::Location) } def end_keyword_loc; end @@ -4513,7 +4697,7 @@ class Prism::CaseMatchNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#3648 + # source://prism//lib/prism/node.rb#3873 sig { override.returns(String) } def inspect; end @@ -4522,32 +4706,32 @@ class Prism::CaseMatchNode < ::Prism::Node # case true; in false; end # ^^^^ # - # source://prism//lib/prism/node.rb#3591 + # source://prism//lib/prism/node.rb#3816 sig { returns(T.nilable(Prism::Node)) } def predicate; end # Save the case_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3617 + # source://prism//lib/prism/node.rb#3842 def save_case_keyword_loc(repository); end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3633 + # source://prism//lib/prism/node.rb#3858 def save_end_keyword_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#3653 + # source://prism//lib/prism/node.rb#3878 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#3658 + # source://prism//lib/prism/node.rb#3883 def type; end end end @@ -4559,13 +4743,13 @@ end # end # ^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#3681 +# source://prism//lib/prism/node.rb#3906 class Prism::CaseNode < ::Prism::Node # Initialize a new CaseNode node. # # @return [CaseNode] a new instance of CaseNode # - # source://prism//lib/prism/node.rb#3683 + # source://prism//lib/prism/node.rb#3908 sig do params( source: Prism::Source, @@ -4584,18 +4768,18 @@ class Prism::CaseNode < ::Prism::Node # 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#3809 + # source://prism//lib/prism/node.rb#4043 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#3696 + # source://prism//lib/prism/node.rb#3921 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def case_keyword: () -> String # - # source://prism//lib/prism/node.rb#3783 + # source://prism//lib/prism/node.rb#4017 sig { returns(String) } def case_keyword; end @@ -4604,25 +4788,25 @@ class Prism::CaseNode < ::Prism::Node # case true; when false; end # ^^^^ # - # source://prism//lib/prism/node.rb#3754 + # source://prism//lib/prism/node.rb#3988 sig { returns(Prism::Location) } def case_keyword_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3701 + # source://prism//lib/prism/node.rb#3926 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#3715 + # source://prism//lib/prism/node.rb#3949 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#3706 + # source://prism//lib/prism/node.rb#3940 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end @@ -4631,7 +4815,7 @@ class Prism::CaseNode < ::Prism::Node # case true; when false; end # ^^^^^^^^^^ # - # source://prism//lib/prism/node.rb#3742 + # source://prism//lib/prism/node.rb#3976 sig { returns(T::Array[Prism::WhenNode]) } def conditions; end @@ -4643,7 +4827,7 @@ class Prism::CaseNode < ::Prism::Node # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?predicate: Prism::node?, ?conditions: Array[WhenNode], ?else_clause: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location) -> CaseNode # - # source://prism//lib/prism/node.rb#3720 + # source://prism//lib/prism/node.rb#3954 sig do params( node_id: Integer, @@ -4661,28 +4845,35 @@ class Prism::CaseNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3725 + # source://prism//lib/prism/node.rb#3959 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, predicate: Prism::node?, conditions: Array[WhenNode], else_clause: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location } # - # source://prism//lib/prism/node.rb#3728 + # source://prism//lib/prism/node.rb#3962 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [predicate] + # + # source://prism//lib/prism/node.rb#3931 + def each_child_node; end + # Represents the else clause of the case statement. # # case true; when false; else; end # ^^^^ # - # source://prism//lib/prism/node.rb#3748 + # source://prism//lib/prism/node.rb#3982 sig { returns(T.nilable(Prism::ElseNode)) } def else_clause; end # def end_keyword: () -> String # - # source://prism//lib/prism/node.rb#3788 + # source://prism//lib/prism/node.rb#4022 sig { returns(String) } def end_keyword; end @@ -4691,7 +4882,7 @@ class Prism::CaseNode < ::Prism::Node # case true; when false; end # ^^^ # - # source://prism//lib/prism/node.rb#3770 + # source://prism//lib/prism/node.rb#4004 sig { returns(Prism::Location) } def end_keyword_loc; end @@ -4700,7 +4891,7 @@ class Prism::CaseNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#3793 + # source://prism//lib/prism/node.rb#4027 sig { override.returns(String) } def inspect; end @@ -4709,32 +4900,32 @@ class Prism::CaseNode < ::Prism::Node # case true; when false; end # ^^^^ # - # source://prism//lib/prism/node.rb#3736 + # source://prism//lib/prism/node.rb#3970 sig { returns(T.nilable(Prism::Node)) } def predicate; end # Save the case_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3762 + # source://prism//lib/prism/node.rb#3996 def save_case_keyword_loc(repository); end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3778 + # source://prism//lib/prism/node.rb#4012 def save_end_keyword_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#3798 + # source://prism//lib/prism/node.rb#4032 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#3803 + # source://prism//lib/prism/node.rb#4037 def type; end end end @@ -4744,13 +4935,13 @@ end # class Foo end # ^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#3824 +# source://prism//lib/prism/node.rb#4058 class Prism::ClassNode < ::Prism::Node # Initialize a new ClassNode node. # # @return [ClassNode] a new instance of ClassNode # - # source://prism//lib/prism/node.rb#3826 + # source://prism//lib/prism/node.rb#4060 sig do params( source: Prism::Source, @@ -4772,12 +4963,12 @@ class Prism::ClassNode < ::Prism::Node # 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#3988 + # source://prism//lib/prism/node.rb#4231 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#3842 + # source://prism//lib/prism/node.rb#4076 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -4787,19 +4978,19 @@ class Prism::ClassNode < ::Prism::Node # foo # ^^^ # - # source://prism//lib/prism/node.rb#3933 + # source://prism//lib/prism/node.rb#4176 sig { returns(T.nilable(T.any(Prism::StatementsNode, Prism::BeginNode))) } def body; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3847 + # source://prism//lib/prism/node.rb#4081 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def class_keyword: () -> String # - # source://prism//lib/prism/node.rb#3957 + # source://prism//lib/prism/node.rb#4200 sig { returns(String) } def class_keyword; end @@ -4808,31 +4999,31 @@ class Prism::ClassNode < ::Prism::Node # class Foo end # ^^^^^ # - # source://prism//lib/prism/node.rb#3885 + # source://prism//lib/prism/node.rb#4128 sig { returns(Prism::Location) } def class_keyword_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#3861 + # source://prism//lib/prism/node.rb#4104 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#3852 + # source://prism//lib/prism/node.rb#4095 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # attr_reader constant_path: ConstantReadNode | ConstantPathNode | CallNode # - # source://prism//lib/prism/node.rb#3898 + # source://prism//lib/prism/node.rb#4141 sig { returns(T.any(Prism::ConstantReadNode, Prism::ConstantPathNode, Prism::CallNode)) } def constant_path; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?class_keyword_loc: Location, ?constant_path: ConstantReadNode | ConstantPathNode | CallNode, ?inheritance_operator_loc: Location?, ?superclass: Prism::node?, ?body: StatementsNode | BeginNode | nil, ?end_keyword_loc: Location, ?name: Symbol) -> ClassNode # - # source://prism//lib/prism/node.rb#3866 + # source://prism//lib/prism/node.rb#4109 sig do params( node_id: Integer, @@ -4853,19 +5044,26 @@ class Prism::ClassNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#3871 + # source://prism//lib/prism/node.rb#4114 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], class_keyword_loc: Location, constant_path: ConstantReadNode | ConstantPathNode | CallNode, inheritance_operator_loc: Location?, superclass: Prism::node?, body: StatementsNode | BeginNode | nil, end_keyword_loc: Location, name: Symbol } # - # source://prism//lib/prism/node.rb#3874 + # source://prism//lib/prism/node.rb#4117 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [constant_path] + # + # source://prism//lib/prism/node.rb#4086 + def each_child_node; end + # def end_keyword: () -> String # - # source://prism//lib/prism/node.rb#3967 + # source://prism//lib/prism/node.rb#4210 sig { returns(String) } def end_keyword; end @@ -4874,7 +5072,7 @@ class Prism::ClassNode < ::Prism::Node # class Foo end # ^^^ # - # source://prism//lib/prism/node.rb#3939 + # source://prism//lib/prism/node.rb#4182 sig { returns(Prism::Location) } def end_keyword_loc; end @@ -4883,7 +5081,7 @@ class Prism::ClassNode < ::Prism::Node # def inheritance_operator: () -> String? # - # source://prism//lib/prism/node.rb#3962 + # source://prism//lib/prism/node.rb#4205 sig { returns(T.nilable(String)) } def inheritance_operator; end @@ -4892,19 +5090,19 @@ class Prism::ClassNode < ::Prism::Node # class Foo < Bar # ^ # - # source://prism//lib/prism/node.rb#3904 + # source://prism//lib/prism/node.rb#4147 sig { returns(T.nilable(Prism::Location)) } def inheritance_operator_loc; end # def inspect -> String # - # source://prism//lib/prism/node.rb#3972 + # source://prism//lib/prism/node.rb#4215 sig { override.returns(String) } def inspect; end # attr_reader locals: Array[Symbol] # - # source://prism//lib/prism/node.rb#3879 + # source://prism//lib/prism/node.rb#4122 sig { returns(T::Array[Symbol]) } def locals; end @@ -4912,26 +5110,26 @@ class Prism::ClassNode < ::Prism::Node # # class Foo end # name `:Foo` # - # source://prism//lib/prism/node.rb#3954 + # source://prism//lib/prism/node.rb#4197 sig { returns(Symbol) } def name; end # Save the class_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3893 + # source://prism//lib/prism/node.rb#4136 def save_class_keyword_loc(repository); end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3947 + # source://prism//lib/prism/node.rb#4190 def save_end_keyword_loc(repository); end # Save the inheritance_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#3918 + # source://prism//lib/prism/node.rb#4161 def save_inheritance_operator_loc(repository); end # Represents the superclass of the class. @@ -4939,20 +5137,20 @@ class Prism::ClassNode < ::Prism::Node # class Foo < Bar # ^^^ # - # source://prism//lib/prism/node.rb#3926 + # source://prism//lib/prism/node.rb#4169 sig { returns(T.nilable(Prism::Node)) } def superclass; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#3977 + # source://prism//lib/prism/node.rb#4220 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#3982 + # source://prism//lib/prism/node.rb#4225 def type; end end end @@ -4962,13 +5160,13 @@ end # @@target &&= value # ^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#4006 +# source://prism//lib/prism/node.rb#4249 class Prism::ClassVariableAndWriteNode < ::Prism::Node # Initialize a new ClassVariableAndWriteNode node. # # @return [ClassVariableAndWriteNode] a new instance of ClassVariableAndWriteNode # - # source://prism//lib/prism/node.rb#4008 + # source://prism//lib/prism/node.rb#4251 sig do params( source: Prism::Source, @@ -4986,36 +5184,36 @@ class Prism::ClassVariableAndWriteNode < ::Prism::Node # 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#4118 + # source://prism//lib/prism/node.rb#4368 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#4020 + # source://prism//lib/prism/node.rb#4263 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4025 + # source://prism//lib/prism/node.rb#4268 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#4035 + # source://prism//lib/prism/node.rb#4285 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#4030 + # source://prism//lib/prism/node.rb#4280 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) -> ClassVariableAndWriteNode # - # source://prism//lib/prism/node.rb#4040 + # source://prism//lib/prism/node.rb#4290 sig do params( node_id: Integer, @@ -5032,25 +5230,32 @@ class Prism::ClassVariableAndWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4045 + # source://prism//lib/prism/node.rb#4295 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#4048 + # source://prism//lib/prism/node.rb#4298 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # source://prism//lib/prism/desugar_compiler.rb#165 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#4273 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#4102 + # source://prism//lib/prism/node.rb#4352 sig { override.returns(String) } def inspect; end @@ -5059,7 +5264,7 @@ class Prism::ClassVariableAndWriteNode < ::Prism::Node # @@target &&= value # name `:@@target` # ^^^^^^^^ # - # source://prism//lib/prism/node.rb#4056 + # source://prism//lib/prism/node.rb#4306 sig { returns(Symbol) } def name; end @@ -5068,13 +5273,13 @@ class Prism::ClassVariableAndWriteNode < ::Prism::Node # @@target &&= value # ^^^^^^^^ # - # source://prism//lib/prism/node.rb#4062 + # source://prism//lib/prism/node.rb#4312 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#4097 + # source://prism//lib/prism/node.rb#4347 sig { returns(String) } def operator; end @@ -5083,25 +5288,25 @@ class Prism::ClassVariableAndWriteNode < ::Prism::Node # @@target &&= value # ^^^ # - # source://prism//lib/prism/node.rb#4078 + # source://prism//lib/prism/node.rb#4328 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4070 + # source://prism//lib/prism/node.rb#4320 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4086 + # source://prism//lib/prism/node.rb#4336 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#4107 + # source://prism//lib/prism/node.rb#4357 sig { override.returns(Symbol) } def type; end @@ -5110,14 +5315,14 @@ class Prism::ClassVariableAndWriteNode < ::Prism::Node # @@target &&= value # ^^^^^ # - # source://prism//lib/prism/node.rb#4094 + # source://prism//lib/prism/node.rb#4344 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#4112 + # source://prism//lib/prism/node.rb#4362 def type; end end end @@ -5127,13 +5332,13 @@ end # @@target += value # ^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#4131 +# source://prism//lib/prism/node.rb#4381 class Prism::ClassVariableOperatorWriteNode < ::Prism::Node # Initialize a new ClassVariableOperatorWriteNode node. # # @return [ClassVariableOperatorWriteNode] a new instance of ClassVariableOperatorWriteNode # - # source://prism//lib/prism/node.rb#4133 + # source://prism//lib/prism/node.rb#4383 sig do params( source: Prism::Source, @@ -5152,48 +5357,48 @@ class Prism::ClassVariableOperatorWriteNode < ::Prism::Node # 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#4230 + # source://prism//lib/prism/node.rb#4487 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#4146 + # source://prism//lib/prism/node.rb#4396 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader binary_operator: Symbol # - # source://prism//lib/prism/node.rb#4211 + # source://prism//lib/prism/node.rb#4468 sig { returns(Symbol) } def binary_operator; end # attr_reader binary_operator_loc: Location # - # source://prism//lib/prism/node.rb#4195 + # source://prism//lib/prism/node.rb#4452 sig { returns(Prism::Location) } def binary_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4151 + # source://prism//lib/prism/node.rb#4401 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#4161 + # source://prism//lib/prism/node.rb#4418 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#4156 + # source://prism//lib/prism/node.rb#4413 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, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ClassVariableOperatorWriteNode # - # source://prism//lib/prism/node.rb#4166 + # source://prism//lib/prism/node.rb#4423 sig do params( node_id: Integer, @@ -5211,37 +5416,44 @@ class Prism::ClassVariableOperatorWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4171 + # source://prism//lib/prism/node.rb#4428 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, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol } # - # source://prism//lib/prism/node.rb#4174 + # source://prism//lib/prism/node.rb#4431 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # source://prism//lib/prism/desugar_compiler.rb#177 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#4406 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#4214 + # source://prism//lib/prism/node.rb#4471 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#4179 + # source://prism//lib/prism/node.rb#4436 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#4182 + # source://prism//lib/prism/node.rb#4439 sig { returns(Prism::Location) } def name_loc; end @@ -5260,31 +5472,31 @@ class Prism::ClassVariableOperatorWriteNode < ::Prism::Node # Save the binary_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4203 + # source://prism//lib/prism/node.rb#4460 def save_binary_operator_loc(repository); end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4190 + # source://prism//lib/prism/node.rb#4447 def save_name_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#4219 + # source://prism//lib/prism/node.rb#4476 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#4208 + # source://prism//lib/prism/node.rb#4465 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#4224 + # source://prism//lib/prism/node.rb#4481 def type; end end end @@ -5294,13 +5506,13 @@ end # @@target ||= value # ^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#4244 +# source://prism//lib/prism/node.rb#4501 class Prism::ClassVariableOrWriteNode < ::Prism::Node # Initialize a new ClassVariableOrWriteNode node. # # @return [ClassVariableOrWriteNode] a new instance of ClassVariableOrWriteNode # - # source://prism//lib/prism/node.rb#4246 + # source://prism//lib/prism/node.rb#4503 sig do params( source: Prism::Source, @@ -5318,36 +5530,36 @@ class Prism::ClassVariableOrWriteNode < ::Prism::Node # 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#4344 + # source://prism//lib/prism/node.rb#4608 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#4258 + # source://prism//lib/prism/node.rb#4515 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4263 + # source://prism//lib/prism/node.rb#4520 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#4273 + # source://prism//lib/prism/node.rb#4537 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#4268 + # source://prism//lib/prism/node.rb#4532 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) -> ClassVariableOrWriteNode # - # source://prism//lib/prism/node.rb#4278 + # source://prism//lib/prism/node.rb#4542 sig do params( node_id: Integer, @@ -5364,80 +5576,87 @@ class Prism::ClassVariableOrWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4283 + # source://prism//lib/prism/node.rb#4547 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#4286 + # source://prism//lib/prism/node.rb#4550 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # source://prism//lib/prism/desugar_compiler.rb#171 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#4525 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#4328 + # source://prism//lib/prism/node.rb#4592 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#4291 + # source://prism//lib/prism/node.rb#4555 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#4294 + # source://prism//lib/prism/node.rb#4558 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#4323 + # source://prism//lib/prism/node.rb#4587 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#4307 + # source://prism//lib/prism/node.rb#4571 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4302 + # source://prism//lib/prism/node.rb#4566 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4315 + # source://prism//lib/prism/node.rb#4579 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#4333 + # source://prism//lib/prism/node.rb#4597 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#4320 + # source://prism//lib/prism/node.rb#4584 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#4338 + # source://prism//lib/prism/node.rb#4602 def type; end end end @@ -5447,49 +5666,49 @@ end # @@foo # ^^^^^ # -# source://prism//lib/prism/node.rb#4357 +# source://prism//lib/prism/node.rb#4621 class Prism::ClassVariableReadNode < ::Prism::Node # Initialize a new ClassVariableReadNode node. # # @return [ClassVariableReadNode] a new instance of ClassVariableReadNode # - # source://prism//lib/prism/node.rb#4359 + # source://prism//lib/prism/node.rb#4623 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#4424 + # source://prism//lib/prism/node.rb#4694 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#4368 + # source://prism//lib/prism/node.rb#4632 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4373 + # source://prism//lib/prism/node.rb#4637 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#4383 + # source://prism//lib/prism/node.rb#4653 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#4378 + # source://prism//lib/prism/node.rb#4648 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableReadNode # - # source://prism//lib/prism/node.rb#4388 + # source://prism//lib/prism/node.rb#4658 sig do params( node_id: Integer, @@ -5503,22 +5722,27 @@ class Prism::ClassVariableReadNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4393 + # source://prism//lib/prism/node.rb#4663 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#4396 + # source://prism//lib/prism/node.rb#4666 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#4642 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#4408 + # source://prism//lib/prism/node.rb#4678 sig { override.returns(String) } def inspect; end @@ -5528,20 +5752,20 @@ class Prism::ClassVariableReadNode < ::Prism::Node # # @@_test # name `:@@_test` # - # source://prism//lib/prism/node.rb#4405 + # source://prism//lib/prism/node.rb#4675 sig { returns(Symbol) } def name; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#4413 + # source://prism//lib/prism/node.rb#4683 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#4418 + # source://prism//lib/prism/node.rb#4688 def type; end end end @@ -5551,49 +5775,49 @@ end # @@foo, @@bar = baz # ^^^^^ ^^^^^ # -# source://prism//lib/prism/node.rb#4434 +# source://prism//lib/prism/node.rb#4704 class Prism::ClassVariableTargetNode < ::Prism::Node # Initialize a new ClassVariableTargetNode node. # # @return [ClassVariableTargetNode] a new instance of ClassVariableTargetNode # - # source://prism//lib/prism/node.rb#4436 + # source://prism//lib/prism/node.rb#4706 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#4497 + # source://prism//lib/prism/node.rb#4773 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#4445 + # source://prism//lib/prism/node.rb#4715 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4450 + # source://prism//lib/prism/node.rb#4720 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#4460 + # source://prism//lib/prism/node.rb#4736 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#4455 + # source://prism//lib/prism/node.rb#4731 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableTargetNode # - # source://prism//lib/prism/node.rb#4465 + # source://prism//lib/prism/node.rb#4741 sig do params( node_id: Integer, @@ -5607,41 +5831,46 @@ class Prism::ClassVariableTargetNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4470 + # source://prism//lib/prism/node.rb#4746 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#4473 + # source://prism//lib/prism/node.rb#4749 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#4725 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#4481 + # source://prism//lib/prism/node.rb#4757 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#4478 + # source://prism//lib/prism/node.rb#4754 sig { returns(Symbol) } def name; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#4486 + # source://prism//lib/prism/node.rb#4762 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#4491 + # source://prism//lib/prism/node.rb#4767 def type; end end end @@ -5651,13 +5880,13 @@ end # @@foo = 1 # ^^^^^^^^^ # -# source://prism//lib/prism/node.rb#4507 +# source://prism//lib/prism/node.rb#4783 class Prism::ClassVariableWriteNode < ::Prism::Node # Initialize a new ClassVariableWriteNode node. # # @return [ClassVariableWriteNode] a new instance of ClassVariableWriteNode # - # source://prism//lib/prism/node.rb#4509 + # source://prism//lib/prism/node.rb#4785 sig do params( source: Prism::Source, @@ -5675,36 +5904,36 @@ class Prism::ClassVariableWriteNode < ::Prism::Node # 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#4623 + # source://prism//lib/prism/node.rb#4906 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#4521 + # source://prism//lib/prism/node.rb#4797 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4526 + # source://prism//lib/prism/node.rb#4802 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#4536 + # source://prism//lib/prism/node.rb#4819 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#4531 + # source://prism//lib/prism/node.rb#4814 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, ?operator_loc: Location) -> ClassVariableWriteNode # - # source://prism//lib/prism/node.rb#4541 + # source://prism//lib/prism/node.rb#4824 sig do params( node_id: Integer, @@ -5721,22 +5950,29 @@ class Prism::ClassVariableWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4546 + # source://prism//lib/prism/node.rb#4829 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, operator_loc: Location } # - # source://prism//lib/prism/node.rb#4549 + # source://prism//lib/prism/node.rb#4832 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#4807 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#4607 + # source://prism//lib/prism/node.rb#4890 sig { override.returns(String) } def inspect; end @@ -5746,7 +5982,7 @@ class Prism::ClassVariableWriteNode < ::Prism::Node # # @@_test = :test # name `@@_test` # - # source://prism//lib/prism/node.rb#4558 + # source://prism//lib/prism/node.rb#4841 sig { returns(Symbol) } def name; end @@ -5755,13 +5991,13 @@ class Prism::ClassVariableWriteNode < ::Prism::Node # @@foo = :bar # ^^^^^ # - # source://prism//lib/prism/node.rb#4564 + # source://prism//lib/prism/node.rb#4847 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#4602 + # source://prism//lib/prism/node.rb#4885 sig { returns(String) } def operator; end @@ -5770,25 +6006,25 @@ class Prism::ClassVariableWriteNode < ::Prism::Node # @@foo = :bar # ^ # - # source://prism//lib/prism/node.rb#4589 + # source://prism//lib/prism/node.rb#4872 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4572 + # source://prism//lib/prism/node.rb#4855 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4597 + # source://prism//lib/prism/node.rb#4880 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#4612 + # source://prism//lib/prism/node.rb#4895 sig { override.returns(Symbol) } def type; end @@ -5800,14 +6036,14 @@ class Prism::ClassVariableWriteNode < ::Prism::Node # @@_xyz = 123 # ^^^ # - # source://prism//lib/prism/node.rb#4583 + # source://prism//lib/prism/node.rb#4866 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#4617 + # source://prism//lib/prism/node.rb#4900 def type; end end end @@ -5826,49 +6062,49 @@ end # introduce some kind of LRU cache to limit the number of entries, but this # has not yet been implemented. # -# source://prism//lib/prism/parse_result.rb#190 +# source://prism//lib/prism/parse_result.rb#177 class Prism::CodeUnitsCache # Initialize a new cache with the given source and encoding. # # @return [CodeUnitsCache] a new instance of CodeUnitsCache # - # source://prism//lib/prism/parse_result.rb#216 + # source://prism//lib/prism/parse_result.rb#203 sig { params(source: String, encoding: Encoding).void } def initialize(source, encoding); end # Retrieve the code units offset from the given byte offset. # - # source://prism//lib/prism/parse_result.rb#230 + # source://prism//lib/prism/parse_result.rb#217 sig { params(byte_offset: Integer).returns(Integer) } def [](byte_offset); end end -# source://prism//lib/prism/parse_result.rb#202 +# source://prism//lib/prism/parse_result.rb#189 class Prism::CodeUnitsCache::LengthCounter # @return [LengthCounter] a new instance of LengthCounter # - # source://prism//lib/prism/parse_result.rb#203 + # source://prism//lib/prism/parse_result.rb#190 def initialize(source, encoding); end - # source://prism//lib/prism/parse_result.rb#208 + # source://prism//lib/prism/parse_result.rb#195 def count(byte_offset, byte_length); end end -# source://prism//lib/prism/parse_result.rb#191 +# source://prism//lib/prism/parse_result.rb#178 class Prism::CodeUnitsCache::UTF16Counter # @return [UTF16Counter] a new instance of UTF16Counter # - # source://prism//lib/prism/parse_result.rb#192 + # source://prism//lib/prism/parse_result.rb#179 def initialize(source, encoding); end - # source://prism//lib/prism/parse_result.rb#197 + # source://prism//lib/prism/parse_result.rb#184 def count(byte_offset, byte_length); 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#525 +# source://prism//lib/prism/parse_result.rb#512 class Prism::Comment abstract! @@ -5876,25 +6112,25 @@ class Prism::Comment # # @return [Comment] a new instance of Comment # - # source://prism//lib/prism/parse_result.rb#530 + # source://prism//lib/prism/parse_result.rb#517 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#535 + # source://prism//lib/prism/parse_result.rb#522 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#527 + # source://prism//lib/prism/parse_result.rb#514 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#540 + # source://prism//lib/prism/parse_result.rb#527 sig { returns(String) } def slice; end @@ -6700,13 +6936,13 @@ end # Target &&= value # ^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#4636 +# source://prism//lib/prism/node.rb#4919 class Prism::ConstantAndWriteNode < ::Prism::Node # Initialize a new ConstantAndWriteNode node. # # @return [ConstantAndWriteNode] a new instance of ConstantAndWriteNode # - # source://prism//lib/prism/node.rb#4638 + # source://prism//lib/prism/node.rb#4921 sig do params( source: Prism::Source, @@ -6724,36 +6960,36 @@ class Prism::ConstantAndWriteNode < ::Prism::Node # 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#4736 + # source://prism//lib/prism/node.rb#5026 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#4650 + # source://prism//lib/prism/node.rb#4933 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4655 + # source://prism//lib/prism/node.rb#4938 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#4665 + # source://prism//lib/prism/node.rb#4955 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#4660 + # source://prism//lib/prism/node.rb#4950 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) -> ConstantAndWriteNode # - # source://prism//lib/prism/node.rb#4670 + # source://prism//lib/prism/node.rb#4960 sig do params( node_id: Integer, @@ -6770,80 +7006,87 @@ class Prism::ConstantAndWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4675 + # source://prism//lib/prism/node.rb#4965 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#4678 + # source://prism//lib/prism/node.rb#4968 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # source://prism//lib/prism/desugar_compiler.rb#183 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#4943 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#4720 + # source://prism//lib/prism/node.rb#5010 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#4683 + # source://prism//lib/prism/node.rb#4973 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#4686 + # source://prism//lib/prism/node.rb#4976 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#4715 + # source://prism//lib/prism/node.rb#5005 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#4699 + # source://prism//lib/prism/node.rb#4989 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4694 + # source://prism//lib/prism/node.rb#4984 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4707 + # source://prism//lib/prism/node.rb#4997 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#4725 + # source://prism//lib/prism/node.rb#5015 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#4712 + # source://prism//lib/prism/node.rb#5002 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#4730 + # source://prism//lib/prism/node.rb#5020 def type; end end end @@ -6853,13 +7096,13 @@ end # Target += value # ^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#4749 +# source://prism//lib/prism/node.rb#5039 class Prism::ConstantOperatorWriteNode < ::Prism::Node # Initialize a new ConstantOperatorWriteNode node. # # @return [ConstantOperatorWriteNode] a new instance of ConstantOperatorWriteNode # - # source://prism//lib/prism/node.rb#4751 + # source://prism//lib/prism/node.rb#5041 sig do params( source: Prism::Source, @@ -6878,48 +7121,48 @@ class Prism::ConstantOperatorWriteNode < ::Prism::Node # 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#4848 + # source://prism//lib/prism/node.rb#5145 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#4764 + # source://prism//lib/prism/node.rb#5054 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader binary_operator: Symbol # - # source://prism//lib/prism/node.rb#4829 + # source://prism//lib/prism/node.rb#5126 sig { returns(Symbol) } def binary_operator; end # attr_reader binary_operator_loc: Location # - # source://prism//lib/prism/node.rb#4813 + # source://prism//lib/prism/node.rb#5110 sig { returns(Prism::Location) } def binary_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4769 + # source://prism//lib/prism/node.rb#5059 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#4779 + # source://prism//lib/prism/node.rb#5076 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#4774 + # source://prism//lib/prism/node.rb#5071 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, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ConstantOperatorWriteNode # - # source://prism//lib/prism/node.rb#4784 + # source://prism//lib/prism/node.rb#5081 sig do params( node_id: Integer, @@ -6937,37 +7180,44 @@ class Prism::ConstantOperatorWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4789 + # source://prism//lib/prism/node.rb#5086 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, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol } # - # source://prism//lib/prism/node.rb#4792 + # source://prism//lib/prism/node.rb#5089 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # source://prism//lib/prism/desugar_compiler.rb#195 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#5064 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#4832 + # source://prism//lib/prism/node.rb#5129 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#4797 + # source://prism//lib/prism/node.rb#5094 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#4800 + # source://prism//lib/prism/node.rb#5097 sig { returns(Prism::Location) } def name_loc; end @@ -6986,31 +7236,31 @@ class Prism::ConstantOperatorWriteNode < ::Prism::Node # Save the binary_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4821 + # source://prism//lib/prism/node.rb#5118 def save_binary_operator_loc(repository); end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4808 + # source://prism//lib/prism/node.rb#5105 def save_name_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#4837 + # source://prism//lib/prism/node.rb#5134 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#4826 + # source://prism//lib/prism/node.rb#5123 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#4842 + # source://prism//lib/prism/node.rb#5139 def type; end end end @@ -7020,13 +7270,13 @@ end # Target ||= value # ^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#4862 +# source://prism//lib/prism/node.rb#5159 class Prism::ConstantOrWriteNode < ::Prism::Node # Initialize a new ConstantOrWriteNode node. # # @return [ConstantOrWriteNode] a new instance of ConstantOrWriteNode # - # source://prism//lib/prism/node.rb#4864 + # source://prism//lib/prism/node.rb#5161 sig do params( source: Prism::Source, @@ -7044,36 +7294,36 @@ class Prism::ConstantOrWriteNode < ::Prism::Node # 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#4962 + # source://prism//lib/prism/node.rb#5266 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#4876 + # source://prism//lib/prism/node.rb#5173 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4881 + # source://prism//lib/prism/node.rb#5178 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#4891 + # source://prism//lib/prism/node.rb#5195 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#4886 + # source://prism//lib/prism/node.rb#5190 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) -> ConstantOrWriteNode # - # source://prism//lib/prism/node.rb#4896 + # source://prism//lib/prism/node.rb#5200 sig do params( node_id: Integer, @@ -7090,80 +7340,87 @@ class Prism::ConstantOrWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4901 + # source://prism//lib/prism/node.rb#5205 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#4904 + # source://prism//lib/prism/node.rb#5208 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # source://prism//lib/prism/desugar_compiler.rb#189 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#5183 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#4946 + # source://prism//lib/prism/node.rb#5250 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#4909 + # source://prism//lib/prism/node.rb#5213 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#4912 + # source://prism//lib/prism/node.rb#5216 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#4941 + # source://prism//lib/prism/node.rb#5245 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#4925 + # source://prism//lib/prism/node.rb#5229 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4920 + # source://prism//lib/prism/node.rb#5224 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#4933 + # source://prism//lib/prism/node.rb#5237 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#4951 + # source://prism//lib/prism/node.rb#5255 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#4938 + # source://prism//lib/prism/node.rb#5242 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#4956 + # source://prism//lib/prism/node.rb#5260 def type; end end end @@ -7173,13 +7430,13 @@ end # Parent::Child &&= value # ^^^^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#4975 +# source://prism//lib/prism/node.rb#5279 class Prism::ConstantPathAndWriteNode < ::Prism::Node # Initialize a new ConstantPathAndWriteNode node. # # @return [ConstantPathAndWriteNode] a new instance of ConstantPathAndWriteNode # - # source://prism//lib/prism/node.rb#4977 + # source://prism//lib/prism/node.rb#5281 sig do params( source: Prism::Source, @@ -7196,36 +7453,36 @@ class Prism::ConstantPathAndWriteNode < ::Prism::Node # 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#5061 + # source://prism//lib/prism/node.rb#5373 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#4988 + # source://prism//lib/prism/node.rb#5292 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#4993 + # source://prism//lib/prism/node.rb#5297 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#5003 + # source://prism//lib/prism/node.rb#5315 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#4998 + # source://prism//lib/prism/node.rb#5310 sig { override.returns(T::Array[Prism::Node]) } 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#5008 + # source://prism//lib/prism/node.rb#5320 sig do params( node_id: Integer, @@ -7241,65 +7498,72 @@ class Prism::ConstantPathAndWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5013 + # source://prism//lib/prism/node.rb#5325 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#5016 + # source://prism//lib/prism/node.rb#5328 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [target] + # + # source://prism//lib/prism/node.rb#5302 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#5045 + # source://prism//lib/prism/node.rb#5357 sig { override.returns(String) } def inspect; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#5040 + # source://prism//lib/prism/node.rb#5352 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#5024 + # source://prism//lib/prism/node.rb#5336 sig { returns(Prism::Location) } def operator_loc; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#5032 + # source://prism//lib/prism/node.rb#5344 def save_operator_loc(repository); end # attr_reader target: ConstantPathNode # - # source://prism//lib/prism/node.rb#5021 + # source://prism//lib/prism/node.rb#5333 sig { returns(Prism::ConstantPathNode) } def target; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#5050 + # source://prism//lib/prism/node.rb#5362 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#5037 + # source://prism//lib/prism/node.rb#5349 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#5055 + # source://prism//lib/prism/node.rb#5367 def type; end end end @@ -7309,13 +7573,13 @@ end # Foo::Bar # ^^^^^^^^ # -# source://prism//lib/prism/node.rb#5073 +# source://prism//lib/prism/node.rb#5385 class Prism::ConstantPathNode < ::Prism::Node # Initialize a new ConstantPathNode node. # # @return [ConstantPathNode] a new instance of ConstantPathNode # - # source://prism//lib/prism/node.rb#5075 + # source://prism//lib/prism/node.rb#5387 sig do params( source: Prism::Source, @@ -7333,12 +7597,12 @@ class Prism::ConstantPathNode < ::Prism::Node # 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#5196 + # source://prism//lib/prism/node.rb#5515 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#5087 + # source://prism//lib/prism/node.rb#5399 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -7351,25 +7615,25 @@ class Prism::ConstantPathNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5092 + # source://prism//lib/prism/node.rb#5404 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#5104 + # source://prism//lib/prism/node.rb#5423 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#5097 + # source://prism//lib/prism/node.rb#5416 sig { override.returns(T::Array[Prism::Node]) } 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#5109 + # source://prism//lib/prism/node.rb#5428 sig do params( node_id: Integer, @@ -7386,19 +7650,19 @@ class Prism::ConstantPathNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5114 + # source://prism//lib/prism/node.rb#5433 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#5117 + # source://prism//lib/prism/node.rb#5436 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # def delimiter: () -> String # - # source://prism//lib/prism/node.rb#5175 + # source://prism//lib/prism/node.rb#5494 sig { returns(String) } def delimiter; end @@ -7410,10 +7674,17 @@ class Prism::ConstantPathNode < ::Prism::Node # One::Two # ^^ # - # source://prism//lib/prism/node.rb#5143 + # source://prism//lib/prism/node.rb#5462 sig { returns(Prism::Location) } def delimiter_loc; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [parent] + # + # source://prism//lib/prism/node.rb#5409 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -7432,13 +7703,13 @@ class Prism::ConstantPathNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#5180 + # source://prism//lib/prism/node.rb#5499 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#5134 + # source://prism//lib/prism/node.rb#5453 sig { returns(T.nilable(Symbol)) } def name; end @@ -7450,7 +7721,7 @@ class Prism::ConstantPathNode < ::Prism::Node # One::Two # ^^^ # - # source://prism//lib/prism/node.rb#5162 + # source://prism//lib/prism/node.rb#5481 sig { returns(Prism::Location) } def name_loc; end @@ -7465,32 +7736,32 @@ class Prism::ConstantPathNode < ::Prism::Node # a.b::C # ^^^ # - # source://prism//lib/prism/node.rb#5131 + # source://prism//lib/prism/node.rb#5450 sig { returns(T.nilable(Prism::Node)) } def parent; end # Save the delimiter_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#5151 + # source://prism//lib/prism/node.rb#5470 def save_delimiter_loc(repository); end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#5170 + # source://prism//lib/prism/node.rb#5489 def save_name_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#5185 + # source://prism//lib/prism/node.rb#5504 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#5190 + # source://prism//lib/prism/node.rb#5509 def type; end end end @@ -7517,13 +7788,13 @@ class Prism::ConstantPathNode::MissingNodesInConstantPathError < ::StandardError # Parent::Child += value # ^^^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#5209 +# source://prism//lib/prism/node.rb#5528 class Prism::ConstantPathOperatorWriteNode < ::Prism::Node # Initialize a new ConstantPathOperatorWriteNode node. # # @return [ConstantPathOperatorWriteNode] a new instance of ConstantPathOperatorWriteNode # - # source://prism//lib/prism/node.rb#5211 + # source://prism//lib/prism/node.rb#5530 sig do params( source: Prism::Source, @@ -7541,48 +7812,48 @@ class Prism::ConstantPathOperatorWriteNode < ::Prism::Node # 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#5294 + # source://prism//lib/prism/node.rb#5621 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#5223 + # source://prism//lib/prism/node.rb#5542 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader binary_operator: Symbol # - # source://prism//lib/prism/node.rb#5275 + # source://prism//lib/prism/node.rb#5602 sig { returns(Symbol) } def binary_operator; end # attr_reader binary_operator_loc: Location # - # source://prism//lib/prism/node.rb#5259 + # source://prism//lib/prism/node.rb#5586 sig { returns(Prism::Location) } def binary_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5228 + # source://prism//lib/prism/node.rb#5547 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#5238 + # source://prism//lib/prism/node.rb#5565 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#5233 + # source://prism//lib/prism/node.rb#5560 sig { override.returns(T::Array[Prism::Node]) } 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#5243 + # source://prism//lib/prism/node.rb#5570 sig do params( node_id: Integer, @@ -7599,22 +7870,29 @@ class Prism::ConstantPathOperatorWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5248 + # source://prism//lib/prism/node.rb#5575 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#5251 + # source://prism//lib/prism/node.rb#5578 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [target] + # + # source://prism//lib/prism/node.rb#5552 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#5278 + # source://prism//lib/prism/node.rb#5605 sig { override.returns(String) } def inspect; end @@ -7633,31 +7911,31 @@ class Prism::ConstantPathOperatorWriteNode < ::Prism::Node # Save the binary_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#5267 + # source://prism//lib/prism/node.rb#5594 def save_binary_operator_loc(repository); end # attr_reader target: ConstantPathNode # - # source://prism//lib/prism/node.rb#5256 + # source://prism//lib/prism/node.rb#5583 sig { returns(Prism::ConstantPathNode) } def target; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#5283 + # source://prism//lib/prism/node.rb#5610 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#5272 + # source://prism//lib/prism/node.rb#5599 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#5288 + # source://prism//lib/prism/node.rb#5615 def type; end end end @@ -7667,13 +7945,13 @@ end # Parent::Child ||= value # ^^^^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#5307 +# source://prism//lib/prism/node.rb#5634 class Prism::ConstantPathOrWriteNode < ::Prism::Node # Initialize a new ConstantPathOrWriteNode node. # # @return [ConstantPathOrWriteNode] a new instance of ConstantPathOrWriteNode # - # source://prism//lib/prism/node.rb#5309 + # source://prism//lib/prism/node.rb#5636 sig do params( source: Prism::Source, @@ -7690,36 +7968,36 @@ class Prism::ConstantPathOrWriteNode < ::Prism::Node # 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#5393 + # source://prism//lib/prism/node.rb#5728 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#5320 + # source://prism//lib/prism/node.rb#5647 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5325 + # source://prism//lib/prism/node.rb#5652 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#5335 + # source://prism//lib/prism/node.rb#5670 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#5330 + # source://prism//lib/prism/node.rb#5665 sig { override.returns(T::Array[Prism::Node]) } 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#5340 + # source://prism//lib/prism/node.rb#5675 sig do params( node_id: Integer, @@ -7735,65 +8013,72 @@ class Prism::ConstantPathOrWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5345 + # source://prism//lib/prism/node.rb#5680 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#5348 + # source://prism//lib/prism/node.rb#5683 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [target] + # + # source://prism//lib/prism/node.rb#5657 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#5377 + # source://prism//lib/prism/node.rb#5712 sig { override.returns(String) } def inspect; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#5372 + # source://prism//lib/prism/node.rb#5707 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#5356 + # source://prism//lib/prism/node.rb#5691 sig { returns(Prism::Location) } def operator_loc; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#5364 + # source://prism//lib/prism/node.rb#5699 def save_operator_loc(repository); end # attr_reader target: ConstantPathNode # - # source://prism//lib/prism/node.rb#5353 + # source://prism//lib/prism/node.rb#5688 sig { returns(Prism::ConstantPathNode) } def target; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#5382 + # source://prism//lib/prism/node.rb#5717 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#5369 + # source://prism//lib/prism/node.rb#5704 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#5387 + # source://prism//lib/prism/node.rb#5722 def type; end end end @@ -7803,13 +8088,13 @@ end # Foo::Foo, Bar::Bar = baz # ^^^^^^^^ ^^^^^^^^ # -# source://prism//lib/prism/node.rb#5405 +# source://prism//lib/prism/node.rb#5740 class Prism::ConstantPathTargetNode < ::Prism::Node # Initialize a new ConstantPathTargetNode node. # # @return [ConstantPathTargetNode] a new instance of ConstantPathTargetNode # - # source://prism//lib/prism/node.rb#5407 + # source://prism//lib/prism/node.rb#5742 sig do params( source: Prism::Source, @@ -7827,12 +8112,12 @@ class Prism::ConstantPathTargetNode < ::Prism::Node # 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#5507 + # source://prism//lib/prism/node.rb#5849 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#5419 + # source://prism//lib/prism/node.rb#5754 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -7845,25 +8130,25 @@ class Prism::ConstantPathTargetNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5424 + # source://prism//lib/prism/node.rb#5759 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#5436 + # source://prism//lib/prism/node.rb#5778 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#5429 + # source://prism//lib/prism/node.rb#5771 sig { override.returns(T::Array[Prism::Node]) } 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#5441 + # source://prism//lib/prism/node.rb#5783 sig do params( node_id: Integer, @@ -7880,28 +8165,35 @@ class Prism::ConstantPathTargetNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5446 + # source://prism//lib/prism/node.rb#5788 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#5449 + # source://prism//lib/prism/node.rb#5791 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # def delimiter: () -> String # - # source://prism//lib/prism/node.rb#5486 + # source://prism//lib/prism/node.rb#5828 sig { returns(String) } def delimiter; end # attr_reader delimiter_loc: Location # - # source://prism//lib/prism/node.rb#5460 + # source://prism//lib/prism/node.rb#5802 sig { returns(Prism::Location) } def delimiter_loc; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [parent] + # + # source://prism//lib/prism/node.rb#5764 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -7920,50 +8212,50 @@ class Prism::ConstantPathTargetNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#5491 + # source://prism//lib/prism/node.rb#5833 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol? # - # source://prism//lib/prism/node.rb#5457 + # source://prism//lib/prism/node.rb#5799 sig { returns(T.nilable(Symbol)) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#5473 + # source://prism//lib/prism/node.rb#5815 sig { returns(Prism::Location) } def name_loc; end # attr_reader parent: Prism::node? # - # source://prism//lib/prism/node.rb#5454 + # source://prism//lib/prism/node.rb#5796 sig { returns(T.nilable(Prism::Node)) } def parent; end # Save the delimiter_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#5468 + # source://prism//lib/prism/node.rb#5810 def save_delimiter_loc(repository); end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#5481 + # source://prism//lib/prism/node.rb#5823 def save_name_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#5496 + # source://prism//lib/prism/node.rb#5838 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#5501 + # source://prism//lib/prism/node.rb#5843 def type; end end end @@ -7979,13 +8271,13 @@ end # ::Foo::Bar = 1 # ^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#5526 +# source://prism//lib/prism/node.rb#5868 class Prism::ConstantPathWriteNode < ::Prism::Node # Initialize a new ConstantPathWriteNode node. # # @return [ConstantPathWriteNode] a new instance of ConstantPathWriteNode # - # source://prism//lib/prism/node.rb#5528 + # source://prism//lib/prism/node.rb#5870 sig do params( source: Prism::Source, @@ -8002,36 +8294,36 @@ class Prism::ConstantPathWriteNode < ::Prism::Node # 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#5624 + # source://prism//lib/prism/node.rb#5974 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#5539 + # source://prism//lib/prism/node.rb#5881 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5544 + # source://prism//lib/prism/node.rb#5886 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#5554 + # source://prism//lib/prism/node.rb#5904 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#5549 + # source://prism//lib/prism/node.rb#5899 sig { override.returns(T::Array[Prism::Node]) } 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#5559 + # source://prism//lib/prism/node.rb#5909 sig do params( node_id: Integer, @@ -8047,28 +8339,35 @@ class Prism::ConstantPathWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5564 + # source://prism//lib/prism/node.rb#5914 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#5567 + # source://prism//lib/prism/node.rb#5917 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [target] + # + # source://prism//lib/prism/node.rb#5891 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#5608 + # source://prism//lib/prism/node.rb#5958 sig { override.returns(String) } def inspect; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#5603 + # source://prism//lib/prism/node.rb#5953 sig { returns(String) } def operator; end @@ -8077,14 +8376,14 @@ class Prism::ConstantPathWriteNode < ::Prism::Node # ::ABC = 123 # ^ # - # source://prism//lib/prism/node.rb#5584 + # source://prism//lib/prism/node.rb#5934 sig { returns(Prism::Location) } def operator_loc; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#5592 + # source://prism//lib/prism/node.rb#5942 def save_operator_loc(repository); end # A node representing the constant path being written to. @@ -8095,13 +8394,13 @@ class Prism::ConstantPathWriteNode < ::Prism::Node # ::Foo = :abc # ^^^^^ # - # source://prism//lib/prism/node.rb#5578 + # source://prism//lib/prism/node.rb#5928 sig { returns(Prism::ConstantPathNode) } def target; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#5613 + # source://prism//lib/prism/node.rb#5963 sig { override.returns(Symbol) } def type; end @@ -8110,14 +8409,14 @@ class Prism::ConstantPathWriteNode < ::Prism::Node # FOO::BAR = :abc # ^^^^ # - # source://prism//lib/prism/node.rb#5600 + # source://prism//lib/prism/node.rb#5950 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#5618 + # source://prism//lib/prism/node.rb#5968 def type; end end end @@ -8127,49 +8426,49 @@ end # Foo # ^^^ # -# source://prism//lib/prism/node.rb#5636 +# source://prism//lib/prism/node.rb#5986 class Prism::ConstantReadNode < ::Prism::Node # Initialize a new ConstantReadNode node. # # @return [ConstantReadNode] a new instance of ConstantReadNode # - # source://prism//lib/prism/node.rb#5638 + # source://prism//lib/prism/node.rb#5988 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#5703 + # source://prism//lib/prism/node.rb#6059 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#5647 + # source://prism//lib/prism/node.rb#5997 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5652 + # source://prism//lib/prism/node.rb#6002 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#5662 + # source://prism//lib/prism/node.rb#6018 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#5657 + # source://prism//lib/prism/node.rb#6013 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantReadNode # - # source://prism//lib/prism/node.rb#5667 + # source://prism//lib/prism/node.rb#6023 sig do params( node_id: Integer, @@ -8183,16 +8482,21 @@ class Prism::ConstantReadNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5672 + # source://prism//lib/prism/node.rb#6028 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#5675 + # source://prism//lib/prism/node.rb#6031 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#6007 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -8211,7 +8515,7 @@ class Prism::ConstantReadNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#5687 + # source://prism//lib/prism/node.rb#6043 sig { override.returns(String) } def inspect; end @@ -8221,20 +8525,20 @@ class Prism::ConstantReadNode < ::Prism::Node # # SOME_CONSTANT # name `:SOME_CONSTANT` # - # source://prism//lib/prism/node.rb#5684 + # source://prism//lib/prism/node.rb#6040 sig { returns(Symbol) } def name; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#5692 + # source://prism//lib/prism/node.rb#6048 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#5697 + # source://prism//lib/prism/node.rb#6053 def type; end end end @@ -8244,49 +8548,49 @@ end # Foo, Bar = baz # ^^^ ^^^ # -# source://prism//lib/prism/node.rb#5713 +# source://prism//lib/prism/node.rb#6069 class Prism::ConstantTargetNode < ::Prism::Node # Initialize a new ConstantTargetNode node. # # @return [ConstantTargetNode] a new instance of ConstantTargetNode # - # source://prism//lib/prism/node.rb#5715 + # source://prism//lib/prism/node.rb#6071 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#5776 + # source://prism//lib/prism/node.rb#6138 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#5724 + # source://prism//lib/prism/node.rb#6080 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5729 + # source://prism//lib/prism/node.rb#6085 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#5739 + # source://prism//lib/prism/node.rb#6101 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#5734 + # source://prism//lib/prism/node.rb#6096 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantTargetNode # - # source://prism//lib/prism/node.rb#5744 + # source://prism//lib/prism/node.rb#6106 sig do params( node_id: Integer, @@ -8300,16 +8604,21 @@ class Prism::ConstantTargetNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5749 + # source://prism//lib/prism/node.rb#6111 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#5752 + # source://prism//lib/prism/node.rb#6114 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#6090 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -8328,26 +8637,26 @@ class Prism::ConstantTargetNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#5760 + # source://prism//lib/prism/node.rb#6122 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#5757 + # source://prism//lib/prism/node.rb#6119 sig { returns(Symbol) } def name; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#5765 + # source://prism//lib/prism/node.rb#6127 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#5770 + # source://prism//lib/prism/node.rb#6132 def type; end end end @@ -8357,13 +8666,13 @@ end # Foo = 1 # ^^^^^^^ # -# source://prism//lib/prism/node.rb#5786 +# source://prism//lib/prism/node.rb#6148 class Prism::ConstantWriteNode < ::Prism::Node # Initialize a new ConstantWriteNode node. # # @return [ConstantWriteNode] a new instance of ConstantWriteNode # - # source://prism//lib/prism/node.rb#5788 + # source://prism//lib/prism/node.rb#6150 sig do params( source: Prism::Source, @@ -8381,36 +8690,36 @@ class Prism::ConstantWriteNode < ::Prism::Node # 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#5902 + # source://prism//lib/prism/node.rb#6271 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#5800 + # source://prism//lib/prism/node.rb#6162 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5805 + # source://prism//lib/prism/node.rb#6167 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#5815 + # source://prism//lib/prism/node.rb#6184 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#5810 + # source://prism//lib/prism/node.rb#6179 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, ?operator_loc: Location) -> ConstantWriteNode # - # source://prism//lib/prism/node.rb#5820 + # source://prism//lib/prism/node.rb#6189 sig do params( node_id: Integer, @@ -8427,16 +8736,23 @@ class Prism::ConstantWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5825 + # source://prism//lib/prism/node.rb#6194 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, operator_loc: Location } # - # source://prism//lib/prism/node.rb#5828 + # source://prism//lib/prism/node.rb#6197 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#6172 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -8455,7 +8771,7 @@ class Prism::ConstantWriteNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#5886 + # source://prism//lib/prism/node.rb#6255 sig { override.returns(String) } def inspect; end @@ -8465,7 +8781,7 @@ class Prism::ConstantWriteNode < ::Prism::Node # # XYZ = 1 # name `:XYZ` # - # source://prism//lib/prism/node.rb#5837 + # source://prism//lib/prism/node.rb#6206 sig { returns(Symbol) } def name; end @@ -8474,13 +8790,13 @@ class Prism::ConstantWriteNode < ::Prism::Node # FOO = 1 # ^^^ # - # source://prism//lib/prism/node.rb#5843 + # source://prism//lib/prism/node.rb#6212 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#5881 + # source://prism//lib/prism/node.rb#6250 sig { returns(String) } def operator; end @@ -8489,25 +8805,25 @@ class Prism::ConstantWriteNode < ::Prism::Node # FOO = :bar # ^ # - # source://prism//lib/prism/node.rb#5868 + # source://prism//lib/prism/node.rb#6237 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#5851 + # source://prism//lib/prism/node.rb#6220 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#5876 + # source://prism//lib/prism/node.rb#6245 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#5891 + # source://prism//lib/prism/node.rb#6260 sig { override.returns(Symbol) } def type; end @@ -8519,14 +8835,14 @@ class Prism::ConstantWriteNode < ::Prism::Node # MyClass = Class.new # ^^^^^^^^^ # - # source://prism//lib/prism/node.rb#5862 + # source://prism//lib/prism/node.rb#6231 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#5896 + # source://prism//lib/prism/node.rb#6265 def type; end end end @@ -8919,10 +9235,11 @@ module Prism::DSL opening_loc: T.nilable(Prism::Location), arguments: T.nilable(Prism::ArgumentsNode), closing_loc: T.nilable(Prism::Location), + equal_loc: T.nilable(Prism::Location), block: T.nilable(T.any(Prism::BlockNode, Prism::BlockArgumentNode)) ).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 + 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), equal_loc: T.unsafe(nil), block: T.unsafe(nil)); end # Retrieve the value of one of the CallNodeFlags flags. # @@ -10036,7 +10353,7 @@ module Prism::DSL location: Prism::Location, flags: Integer, opening_loc: T.nilable(Prism::Location), - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode, Prism::InterpolatedStringNode, Prism::XStringNode)], + parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode, Prism::InterpolatedStringNode, Prism::XStringNode, Prism::InterpolatedXStringNode, Prism::SymbolNode, Prism::InterpolatedSymbolNode)], closing_loc: T.nilable(Prism::Location) ).returns(Prism::InterpolatedStringNode) end @@ -11196,13 +11513,13 @@ end # end # ^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#5916 +# source://prism//lib/prism/node.rb#6285 class Prism::DefNode < ::Prism::Node # Initialize a new DefNode node. # # @return [DefNode] a new instance of DefNode # - # source://prism//lib/prism/node.rb#5918 + # source://prism//lib/prism/node.rb#6287 sig do params( source: Prism::Source, @@ -11228,42 +11545,42 @@ class Prism::DefNode < ::Prism::Node # 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#6157 + # source://prism//lib/prism/node.rb#6535 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#5938 + # source://prism//lib/prism/node.rb#6307 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader body: StatementsNode | BeginNode | nil # - # source://prism//lib/prism/node.rb#5997 + # source://prism//lib/prism/node.rb#6375 sig { returns(T.nilable(T.any(Prism::StatementsNode, Prism::BeginNode))) } def body; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5943 + # source://prism//lib/prism/node.rb#6312 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#5957 + # source://prism//lib/prism/node.rb#6335 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#5948 + # source://prism//lib/prism/node.rb#6326 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, ?receiver: Prism::node?, ?parameters: ParametersNode?, ?body: StatementsNode | BeginNode | nil, ?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#5962 + # source://prism//lib/prism/node.rb#6340 sig do params( node_id: Integer, @@ -11288,49 +11605,56 @@ class Prism::DefNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#5967 + # source://prism//lib/prism/node.rb#6345 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, receiver: Prism::node?, parameters: ParametersNode?, body: StatementsNode | BeginNode | nil, 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#5970 + # source://prism//lib/prism/node.rb#6348 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # def def_keyword: () -> String # - # source://prism//lib/prism/node.rb#6111 + # source://prism//lib/prism/node.rb#6489 sig { returns(String) } def def_keyword; end # attr_reader def_keyword_loc: Location # - # source://prism//lib/prism/node.rb#6003 + # source://prism//lib/prism/node.rb#6381 sig { returns(Prism::Location) } def def_keyword_loc; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [receiver] + # + # source://prism//lib/prism/node.rb#6317 + def each_child_node; end + # def end_keyword: () -> String? # - # source://prism//lib/prism/node.rb#6136 + # source://prism//lib/prism/node.rb#6514 sig { returns(T.nilable(String)) } def end_keyword; end # attr_reader end_keyword_loc: Location? # - # source://prism//lib/prism/node.rb#6092 + # source://prism//lib/prism/node.rb#6470 sig { returns(T.nilable(Prism::Location)) } def end_keyword_loc; end # def equal: () -> String? # - # source://prism//lib/prism/node.rb#6131 + # source://prism//lib/prism/node.rb#6509 sig { returns(T.nilable(String)) } def equal; end # attr_reader equal_loc: Location? # - # source://prism//lib/prism/node.rb#6073 + # source://prism//lib/prism/node.rb#6451 sig { returns(T.nilable(Prism::Location)) } def equal_loc; end @@ -11339,128 +11663,128 @@ class Prism::DefNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#6141 + # source://prism//lib/prism/node.rb#6519 sig { override.returns(String) } def inspect; end # attr_reader locals: Array[Symbol] # - # source://prism//lib/prism/node.rb#6000 + # source://prism//lib/prism/node.rb#6378 sig { returns(T::Array[Symbol]) } def locals; end # def lparen: () -> String? # - # source://prism//lib/prism/node.rb#6121 + # source://prism//lib/prism/node.rb#6499 sig { returns(T.nilable(String)) } def lparen; end # attr_reader lparen_loc: Location? # - # source://prism//lib/prism/node.rb#6035 + # source://prism//lib/prism/node.rb#6413 sig { returns(T.nilable(Prism::Location)) } def lparen_loc; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#5975 + # source://prism//lib/prism/node.rb#6353 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#5978 + # source://prism//lib/prism/node.rb#6356 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String? # - # source://prism//lib/prism/node.rb#6116 + # source://prism//lib/prism/node.rb#6494 sig { returns(T.nilable(String)) } def operator; end # attr_reader operator_loc: Location? # - # source://prism//lib/prism/node.rb#6016 + # source://prism//lib/prism/node.rb#6394 sig { returns(T.nilable(Prism::Location)) } def operator_loc; end # attr_reader parameters: ParametersNode? # - # source://prism//lib/prism/node.rb#5994 + # source://prism//lib/prism/node.rb#6372 sig { returns(T.nilable(Prism::ParametersNode)) } def parameters; end # attr_reader receiver: Prism::node? # - # source://prism//lib/prism/node.rb#5991 + # source://prism//lib/prism/node.rb#6369 sig { returns(T.nilable(Prism::Node)) } def receiver; end # def rparen: () -> String? # - # source://prism//lib/prism/node.rb#6126 + # source://prism//lib/prism/node.rb#6504 sig { returns(T.nilable(String)) } def rparen; end # attr_reader rparen_loc: Location? # - # source://prism//lib/prism/node.rb#6054 + # source://prism//lib/prism/node.rb#6432 sig { returns(T.nilable(Prism::Location)) } def rparen_loc; end # Save the def_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6011 + # source://prism//lib/prism/node.rb#6389 def save_def_keyword_loc(repository); end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6106 + # source://prism//lib/prism/node.rb#6484 def save_end_keyword_loc(repository); end # Save the equal_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6087 + # source://prism//lib/prism/node.rb#6465 def save_equal_loc(repository); end # Save the lparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6049 + # source://prism//lib/prism/node.rb#6427 def save_lparen_loc(repository); end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#5986 + # source://prism//lib/prism/node.rb#6364 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6030 + # source://prism//lib/prism/node.rb#6408 def save_operator_loc(repository); end # Save the rparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6068 + # source://prism//lib/prism/node.rb#6446 def save_rparen_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#6146 + # source://prism//lib/prism/node.rb#6524 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#6151 + # source://prism//lib/prism/node.rb#6529 def type; end end end @@ -11470,13 +11794,13 @@ end # defined?(a) # ^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#6179 +# source://prism//lib/prism/node.rb#6557 class Prism::DefinedNode < ::Prism::Node # Initialize a new DefinedNode node. # # @return [DefinedNode] a new instance of DefinedNode # - # source://prism//lib/prism/node.rb#6181 + # source://prism//lib/prism/node.rb#6559 sig do params( source: Prism::Source, @@ -11494,36 +11818,36 @@ class Prism::DefinedNode < ::Prism::Node # 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#6311 + # source://prism//lib/prism/node.rb#6696 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#6193 + # source://prism//lib/prism/node.rb#6571 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6198 + # source://prism//lib/prism/node.rb#6576 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#6208 + # source://prism//lib/prism/node.rb#6593 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#6203 + # source://prism//lib/prism/node.rb#6588 sig { override.returns(T::Array[Prism::Node]) } 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#6213 + # source://prism//lib/prism/node.rb#6598 sig do params( node_id: Integer, @@ -11540,95 +11864,102 @@ class Prism::DefinedNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6218 + # source://prism//lib/prism/node.rb#6603 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#6221 + # source://prism//lib/prism/node.rb#6606 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#6581 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#6295 + # source://prism//lib/prism/node.rb#6680 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#6290 + # source://prism//lib/prism/node.rb#6675 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#6267 + # source://prism//lib/prism/node.rb#6652 sig { returns(Prism::Location) } def keyword_loc; end # def lparen: () -> String? # - # source://prism//lib/prism/node.rb#6280 + # source://prism//lib/prism/node.rb#6665 sig { returns(T.nilable(String)) } def lparen; end # attr_reader lparen_loc: Location? # - # source://prism//lib/prism/node.rb#6226 + # source://prism//lib/prism/node.rb#6611 sig { returns(T.nilable(Prism::Location)) } def lparen_loc; end # def rparen: () -> String? # - # source://prism//lib/prism/node.rb#6285 + # source://prism//lib/prism/node.rb#6670 sig { returns(T.nilable(String)) } def rparen; end # attr_reader rparen_loc: Location? # - # source://prism//lib/prism/node.rb#6248 + # source://prism//lib/prism/node.rb#6633 sig { returns(T.nilable(Prism::Location)) } def rparen_loc; end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6275 + # source://prism//lib/prism/node.rb#6660 def save_keyword_loc(repository); end # Save the lparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6240 + # source://prism//lib/prism/node.rb#6625 def save_lparen_loc(repository); end # Save the rparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6262 + # source://prism//lib/prism/node.rb#6647 def save_rparen_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#6300 + # source://prism//lib/prism/node.rb#6685 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#6245 + # source://prism//lib/prism/node.rb#6630 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#6305 + # source://prism//lib/prism/node.rb#6690 def type; end end end @@ -13798,662 +14129,662 @@ class Prism::DotVisitor < ::Prism::Visitor # Visit a CallOperatorWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#743 + # source://prism//lib/prism/dot_visitor.rb#748 def visit_call_operator_write_node(node); end # Visit a CallOrWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#792 + # source://prism//lib/prism/dot_visitor.rb#797 def visit_call_or_write_node(node); end # Visit a CallTargetNode node. # - # source://prism//lib/prism/dot_visitor.rb#838 + # source://prism//lib/prism/dot_visitor.rb#843 def visit_call_target_node(node); end # Visit a CapturePatternNode node. # - # source://prism//lib/prism/dot_visitor.rb#868 + # source://prism//lib/prism/dot_visitor.rb#873 def visit_capture_pattern_node(node); end # Visit a CaseMatchNode node. # - # source://prism//lib/prism/dot_visitor.rb#893 + # source://prism//lib/prism/dot_visitor.rb#898 def visit_case_match_node(node); end # Visit a CaseNode node. # - # source://prism//lib/prism/dot_visitor.rb#938 + # source://prism//lib/prism/dot_visitor.rb#943 def visit_case_node(node); end # Visit a ClassNode node. # - # source://prism//lib/prism/dot_visitor.rb#983 + # source://prism//lib/prism/dot_visitor.rb#988 def visit_class_node(node); end # Visit a ClassVariableAndWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1030 + # source://prism//lib/prism/dot_visitor.rb#1035 def visit_class_variable_and_write_node(node); end # Visit a ClassVariableOperatorWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1057 + # source://prism//lib/prism/dot_visitor.rb#1062 def visit_class_variable_operator_write_node(node); end # Visit a ClassVariableOrWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1087 + # source://prism//lib/prism/dot_visitor.rb#1092 def visit_class_variable_or_write_node(node); end # Visit a ClassVariableReadNode node. # - # source://prism//lib/prism/dot_visitor.rb#1114 + # source://prism//lib/prism/dot_visitor.rb#1119 def visit_class_variable_read_node(node); end # Visit a ClassVariableTargetNode node. # - # source://prism//lib/prism/dot_visitor.rb#1131 + # source://prism//lib/prism/dot_visitor.rb#1136 def visit_class_variable_target_node(node); end # Visit a ClassVariableWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1148 + # source://prism//lib/prism/dot_visitor.rb#1153 def visit_class_variable_write_node(node); end # Visit a ConstantAndWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1175 + # source://prism//lib/prism/dot_visitor.rb#1180 def visit_constant_and_write_node(node); end # Visit a ConstantOperatorWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1202 + # source://prism//lib/prism/dot_visitor.rb#1207 def visit_constant_operator_write_node(node); end # Visit a ConstantOrWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1232 + # source://prism//lib/prism/dot_visitor.rb#1237 def visit_constant_or_write_node(node); end # Visit a ConstantPathAndWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1259 + # source://prism//lib/prism/dot_visitor.rb#1264 def visit_constant_path_and_write_node(node); end # Visit a ConstantPathNode node. # - # source://prism//lib/prism/dot_visitor.rb#1284 + # source://prism//lib/prism/dot_visitor.rb#1289 def visit_constant_path_node(node); end # Visit a ConstantPathOperatorWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1313 + # source://prism//lib/prism/dot_visitor.rb#1318 def visit_constant_path_operator_write_node(node); end # Visit a ConstantPathOrWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1341 + # source://prism//lib/prism/dot_visitor.rb#1346 def visit_constant_path_or_write_node(node); end # Visit a ConstantPathTargetNode node. # - # source://prism//lib/prism/dot_visitor.rb#1366 + # source://prism//lib/prism/dot_visitor.rb#1371 def visit_constant_path_target_node(node); end # Visit a ConstantPathWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1395 + # source://prism//lib/prism/dot_visitor.rb#1400 def visit_constant_path_write_node(node); end # Visit a ConstantReadNode node. # - # source://prism//lib/prism/dot_visitor.rb#1420 + # source://prism//lib/prism/dot_visitor.rb#1425 def visit_constant_read_node(node); end # Visit a ConstantTargetNode node. # - # source://prism//lib/prism/dot_visitor.rb#1437 + # source://prism//lib/prism/dot_visitor.rb#1442 def visit_constant_target_node(node); end # Visit a ConstantWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1454 + # source://prism//lib/prism/dot_visitor.rb#1459 def visit_constant_write_node(node); end # Visit a DefNode node. # - # source://prism//lib/prism/dot_visitor.rb#1481 + # source://prism//lib/prism/dot_visitor.rb#1486 def visit_def_node(node); end # Visit a DefinedNode node. # - # source://prism//lib/prism/dot_visitor.rb#1550 + # source://prism//lib/prism/dot_visitor.rb#1555 def visit_defined_node(node); end # Visit a ElseNode node. # - # source://prism//lib/prism/dot_visitor.rb#1581 + # source://prism//lib/prism/dot_visitor.rb#1586 def visit_else_node(node); end # Visit a EmbeddedStatementsNode node. # - # source://prism//lib/prism/dot_visitor.rb#1609 + # source://prism//lib/prism/dot_visitor.rb#1614 def visit_embedded_statements_node(node); end # Visit a EmbeddedVariableNode node. # - # source://prism//lib/prism/dot_visitor.rb#1635 + # source://prism//lib/prism/dot_visitor.rb#1640 def visit_embedded_variable_node(node); end # Visit a EnsureNode node. # - # source://prism//lib/prism/dot_visitor.rb#1656 + # source://prism//lib/prism/dot_visitor.rb#1661 def visit_ensure_node(node); end # Visit a FalseNode node. # - # source://prism//lib/prism/dot_visitor.rb#1682 + # source://prism//lib/prism/dot_visitor.rb#1687 def visit_false_node(node); end # Visit a FindPatternNode node. # - # source://prism//lib/prism/dot_visitor.rb#1696 + # source://prism//lib/prism/dot_visitor.rb#1701 def visit_find_pattern_node(node); end # Visit a FlipFlopNode node. # - # source://prism//lib/prism/dot_visitor.rb#1747 + # source://prism//lib/prism/dot_visitor.rb#1752 def visit_flip_flop_node(node); end # Visit a FloatNode node. # - # source://prism//lib/prism/dot_visitor.rb#1779 + # source://prism//lib/prism/dot_visitor.rb#1784 def visit_float_node(node); end # Visit a ForNode node. # - # source://prism//lib/prism/dot_visitor.rb#1796 + # source://prism//lib/prism/dot_visitor.rb#1801 def visit_for_node(node); end # Visit a ForwardingArgumentsNode node. # - # source://prism//lib/prism/dot_visitor.rb#1838 + # source://prism//lib/prism/dot_visitor.rb#1843 def visit_forwarding_arguments_node(node); end # Visit a ForwardingParameterNode node. # - # source://prism//lib/prism/dot_visitor.rb#1852 + # source://prism//lib/prism/dot_visitor.rb#1857 def visit_forwarding_parameter_node(node); end # Visit a ForwardingSuperNode node. # - # source://prism//lib/prism/dot_visitor.rb#1866 + # source://prism//lib/prism/dot_visitor.rb#1871 def visit_forwarding_super_node(node); end # Visit a GlobalVariableAndWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1886 + # source://prism//lib/prism/dot_visitor.rb#1891 def visit_global_variable_and_write_node(node); end # Visit a GlobalVariableOperatorWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1913 + # source://prism//lib/prism/dot_visitor.rb#1918 def visit_global_variable_operator_write_node(node); end # Visit a GlobalVariableOrWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#1943 + # source://prism//lib/prism/dot_visitor.rb#1948 def visit_global_variable_or_write_node(node); end # Visit a GlobalVariableReadNode node. # - # source://prism//lib/prism/dot_visitor.rb#1970 + # source://prism//lib/prism/dot_visitor.rb#1975 def visit_global_variable_read_node(node); end # Visit a GlobalVariableTargetNode node. # - # source://prism//lib/prism/dot_visitor.rb#1987 + # source://prism//lib/prism/dot_visitor.rb#1992 def visit_global_variable_target_node(node); end # Visit a GlobalVariableWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#2004 + # source://prism//lib/prism/dot_visitor.rb#2009 def visit_global_variable_write_node(node); end # Visit a HashNode node. # - # source://prism//lib/prism/dot_visitor.rb#2031 + # source://prism//lib/prism/dot_visitor.rb#2036 def visit_hash_node(node); end # Visit a HashPatternNode node. # - # source://prism//lib/prism/dot_visitor.rb#2064 + # source://prism//lib/prism/dot_visitor.rb#2069 def visit_hash_pattern_node(node); end # Visit a IfNode node. # - # source://prism//lib/prism/dot_visitor.rb#2113 + # source://prism//lib/prism/dot_visitor.rb#2118 def visit_if_node(node); end # Visit a ImaginaryNode node. # - # source://prism//lib/prism/dot_visitor.rb#2158 + # source://prism//lib/prism/dot_visitor.rb#2163 def visit_imaginary_node(node); end # Visit a ImplicitNode node. # - # source://prism//lib/prism/dot_visitor.rb#2176 + # source://prism//lib/prism/dot_visitor.rb#2181 def visit_implicit_node(node); end # Visit a ImplicitRestNode node. # - # source://prism//lib/prism/dot_visitor.rb#2194 + # source://prism//lib/prism/dot_visitor.rb#2199 def visit_implicit_rest_node(node); end # Visit a InNode node. # - # source://prism//lib/prism/dot_visitor.rb#2208 + # source://prism//lib/prism/dot_visitor.rb#2213 def visit_in_node(node); end # Visit a IndexAndWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#2240 + # source://prism//lib/prism/dot_visitor.rb#2245 def visit_index_and_write_node(node); end # Visit a IndexOperatorWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#2293 + # source://prism//lib/prism/dot_visitor.rb#2298 def visit_index_operator_write_node(node); end # Visit a IndexOrWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#2349 + # source://prism//lib/prism/dot_visitor.rb#2354 def visit_index_or_write_node(node); end # Visit a IndexTargetNode node. # - # source://prism//lib/prism/dot_visitor.rb#2402 + # source://prism//lib/prism/dot_visitor.rb#2407 def visit_index_target_node(node); end # Visit a InstanceVariableAndWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#2441 + # source://prism//lib/prism/dot_visitor.rb#2446 def visit_instance_variable_and_write_node(node); end # Visit a InstanceVariableOperatorWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#2468 + # source://prism//lib/prism/dot_visitor.rb#2473 def visit_instance_variable_operator_write_node(node); end # Visit a InstanceVariableOrWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#2498 + # source://prism//lib/prism/dot_visitor.rb#2503 def visit_instance_variable_or_write_node(node); end # Visit a InstanceVariableReadNode node. # - # source://prism//lib/prism/dot_visitor.rb#2525 + # source://prism//lib/prism/dot_visitor.rb#2530 def visit_instance_variable_read_node(node); end # Visit a InstanceVariableTargetNode node. # - # source://prism//lib/prism/dot_visitor.rb#2542 + # source://prism//lib/prism/dot_visitor.rb#2547 def visit_instance_variable_target_node(node); end # Visit a InstanceVariableWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#2559 + # source://prism//lib/prism/dot_visitor.rb#2564 def visit_instance_variable_write_node(node); end # Visit a IntegerNode node. # - # source://prism//lib/prism/dot_visitor.rb#2586 + # source://prism//lib/prism/dot_visitor.rb#2591 def visit_integer_node(node); end # Visit a InterpolatedMatchLastLineNode node. # - # source://prism//lib/prism/dot_visitor.rb#2606 + # source://prism//lib/prism/dot_visitor.rb#2611 def visit_interpolated_match_last_line_node(node); end # Visit a InterpolatedRegularExpressionNode node. # - # source://prism//lib/prism/dot_visitor.rb#2642 + # source://prism//lib/prism/dot_visitor.rb#2647 def visit_interpolated_regular_expression_node(node); end # Visit a InterpolatedStringNode node. # - # source://prism//lib/prism/dot_visitor.rb#2678 + # source://prism//lib/prism/dot_visitor.rb#2683 def visit_interpolated_string_node(node); end # Visit a InterpolatedSymbolNode node. # - # source://prism//lib/prism/dot_visitor.rb#2718 + # source://prism//lib/prism/dot_visitor.rb#2723 def visit_interpolated_symbol_node(node); end # Visit a InterpolatedXStringNode node. # - # source://prism//lib/prism/dot_visitor.rb#2755 + # source://prism//lib/prism/dot_visitor.rb#2760 def visit_interpolated_x_string_node(node); end # Visit a ItLocalVariableReadNode node. # - # source://prism//lib/prism/dot_visitor.rb#2788 + # source://prism//lib/prism/dot_visitor.rb#2793 def visit_it_local_variable_read_node(node); end # Visit a ItParametersNode node. # - # source://prism//lib/prism/dot_visitor.rb#2802 + # source://prism//lib/prism/dot_visitor.rb#2807 def visit_it_parameters_node(node); end # Visit a KeywordHashNode node. # - # source://prism//lib/prism/dot_visitor.rb#2816 + # source://prism//lib/prism/dot_visitor.rb#2821 def visit_keyword_hash_node(node); end # Visit a KeywordRestParameterNode node. # - # source://prism//lib/prism/dot_visitor.rb#2846 + # source://prism//lib/prism/dot_visitor.rb#2851 def visit_keyword_rest_parameter_node(node); end # Visit a LambdaNode node. # - # source://prism//lib/prism/dot_visitor.rb#2874 + # source://prism//lib/prism/dot_visitor.rb#2879 def visit_lambda_node(node); end # Visit a LocalVariableAndWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#2912 + # source://prism//lib/prism/dot_visitor.rb#2917 def visit_local_variable_and_write_node(node); end # Visit a LocalVariableOperatorWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#2942 + # source://prism//lib/prism/dot_visitor.rb#2947 def visit_local_variable_operator_write_node(node); end # Visit a LocalVariableOrWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#2975 + # source://prism//lib/prism/dot_visitor.rb#2980 def visit_local_variable_or_write_node(node); end # Visit a LocalVariableReadNode node. # - # source://prism//lib/prism/dot_visitor.rb#3005 + # source://prism//lib/prism/dot_visitor.rb#3010 def visit_local_variable_read_node(node); end # Visit a LocalVariableTargetNode node. # - # source://prism//lib/prism/dot_visitor.rb#3025 + # source://prism//lib/prism/dot_visitor.rb#3030 def visit_local_variable_target_node(node); end # Visit a LocalVariableWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#3045 + # source://prism//lib/prism/dot_visitor.rb#3050 def visit_local_variable_write_node(node); end # Visit a MatchLastLineNode node. # - # source://prism//lib/prism/dot_visitor.rb#3075 + # source://prism//lib/prism/dot_visitor.rb#3080 def visit_match_last_line_node(node); end # Visit a MatchPredicateNode node. # - # source://prism//lib/prism/dot_visitor.rb#3104 + # source://prism//lib/prism/dot_visitor.rb#3109 def visit_match_predicate_node(node); end # Visit a MatchRequiredNode node. # - # source://prism//lib/prism/dot_visitor.rb#3129 + # source://prism//lib/prism/dot_visitor.rb#3134 def visit_match_required_node(node); end # Visit a MatchWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#3154 + # source://prism//lib/prism/dot_visitor.rb#3159 def visit_match_write_node(node); end # Visit a MissingNode node. # - # source://prism//lib/prism/dot_visitor.rb#3185 + # source://prism//lib/prism/dot_visitor.rb#3190 def visit_missing_node(node); end # Visit a ModuleNode node. # - # source://prism//lib/prism/dot_visitor.rb#3199 + # source://prism//lib/prism/dot_visitor.rb#3204 def visit_module_node(node); end # Visit a MultiTargetNode node. # - # source://prism//lib/prism/dot_visitor.rb#3235 + # source://prism//lib/prism/dot_visitor.rb#3240 def visit_multi_target_node(node); end # Visit a MultiWriteNode node. # - # source://prism//lib/prism/dot_visitor.rb#3291 + # source://prism//lib/prism/dot_visitor.rb#3296 def visit_multi_write_node(node); end # Visit a NextNode node. # - # source://prism//lib/prism/dot_visitor.rb#3354 + # source://prism//lib/prism/dot_visitor.rb#3359 def visit_next_node(node); end # Visit a NilNode node. # - # source://prism//lib/prism/dot_visitor.rb#3377 + # source://prism//lib/prism/dot_visitor.rb#3382 def visit_nil_node(node); end # Visit a NoKeywordsParameterNode node. # - # source://prism//lib/prism/dot_visitor.rb#3391 + # source://prism//lib/prism/dot_visitor.rb#3396 def visit_no_keywords_parameter_node(node); end # Visit a NumberedParametersNode node. # - # source://prism//lib/prism/dot_visitor.rb#3411 + # source://prism//lib/prism/dot_visitor.rb#3416 def visit_numbered_parameters_node(node); end # Visit a NumberedReferenceReadNode node. # - # source://prism//lib/prism/dot_visitor.rb#3428 + # source://prism//lib/prism/dot_visitor.rb#3433 def visit_numbered_reference_read_node(node); end # Visit a OptionalKeywordParameterNode node. # - # source://prism//lib/prism/dot_visitor.rb#3445 + # source://prism//lib/prism/dot_visitor.rb#3450 def visit_optional_keyword_parameter_node(node); end # Visit a OptionalParameterNode node. # - # source://prism//lib/prism/dot_visitor.rb#3472 + # source://prism//lib/prism/dot_visitor.rb#3477 def visit_optional_parameter_node(node); end # Visit a OrNode node. # - # source://prism//lib/prism/dot_visitor.rb#3502 + # source://prism//lib/prism/dot_visitor.rb#3507 def visit_or_node(node); end # Visit a ParametersNode node. # - # source://prism//lib/prism/dot_visitor.rb#3527 + # source://prism//lib/prism/dot_visitor.rb#3532 def visit_parameters_node(node); end # Visit a ParenthesesNode node. # - # source://prism//lib/prism/dot_visitor.rb#3611 + # source://prism//lib/prism/dot_visitor.rb#3616 def visit_parentheses_node(node); end # Visit a PinnedExpressionNode node. # - # source://prism//lib/prism/dot_visitor.rb#3640 + # source://prism//lib/prism/dot_visitor.rb#3645 def visit_pinned_expression_node(node); end # Visit a PinnedVariableNode node. # - # source://prism//lib/prism/dot_visitor.rb#3667 + # source://prism//lib/prism/dot_visitor.rb#3672 def visit_pinned_variable_node(node); end # Visit a PostExecutionNode node. # - # source://prism//lib/prism/dot_visitor.rb#3688 + # source://prism//lib/prism/dot_visitor.rb#3693 def visit_post_execution_node(node); end # Visit a PreExecutionNode node. # - # source://prism//lib/prism/dot_visitor.rb#3717 + # source://prism//lib/prism/dot_visitor.rb#3722 def visit_pre_execution_node(node); end # Visit a ProgramNode node. # - # source://prism//lib/prism/dot_visitor.rb#3746 + # source://prism//lib/prism/dot_visitor.rb#3751 def visit_program_node(node); end # Visit a RangeNode node. # - # source://prism//lib/prism/dot_visitor.rb#3767 + # source://prism//lib/prism/dot_visitor.rb#3772 def visit_range_node(node); end # Visit a RationalNode node. # - # source://prism//lib/prism/dot_visitor.rb#3799 + # source://prism//lib/prism/dot_visitor.rb#3804 def visit_rational_node(node); end # Visit a RedoNode node. # - # source://prism//lib/prism/dot_visitor.rb#3822 + # source://prism//lib/prism/dot_visitor.rb#3827 def visit_redo_node(node); end # Visit a RegularExpressionNode node. # - # source://prism//lib/prism/dot_visitor.rb#3836 + # source://prism//lib/prism/dot_visitor.rb#3841 def visit_regular_expression_node(node); end # Visit a RequiredKeywordParameterNode node. # - # source://prism//lib/prism/dot_visitor.rb#3865 + # source://prism//lib/prism/dot_visitor.rb#3870 def visit_required_keyword_parameter_node(node); end # Visit a RequiredParameterNode node. # - # source://prism//lib/prism/dot_visitor.rb#3888 + # source://prism//lib/prism/dot_visitor.rb#3893 def visit_required_parameter_node(node); end # Visit a RescueModifierNode node. # - # source://prism//lib/prism/dot_visitor.rb#3908 + # source://prism//lib/prism/dot_visitor.rb#3913 def visit_rescue_modifier_node(node); end # Visit a RescueNode node. # - # source://prism//lib/prism/dot_visitor.rb#3933 + # source://prism//lib/prism/dot_visitor.rb#3938 def visit_rescue_node(node); end # Visit a RestParameterNode node. # - # source://prism//lib/prism/dot_visitor.rb#3991 + # source://prism//lib/prism/dot_visitor.rb#3996 def visit_rest_parameter_node(node); end # Visit a RetryNode node. # - # source://prism//lib/prism/dot_visitor.rb#4019 + # source://prism//lib/prism/dot_visitor.rb#4024 def visit_retry_node(node); end # Visit a ReturnNode node. # - # source://prism//lib/prism/dot_visitor.rb#4033 + # source://prism//lib/prism/dot_visitor.rb#4038 def visit_return_node(node); end # Visit a SelfNode node. # - # source://prism//lib/prism/dot_visitor.rb#4056 + # source://prism//lib/prism/dot_visitor.rb#4061 def visit_self_node(node); end # Visit a ShareableConstantNode node. # - # source://prism//lib/prism/dot_visitor.rb#4070 + # source://prism//lib/prism/dot_visitor.rb#4075 def visit_shareable_constant_node(node); end # Visit a SingletonClassNode node. # - # source://prism//lib/prism/dot_visitor.rb#4091 + # source://prism//lib/prism/dot_visitor.rb#4096 def visit_singleton_class_node(node); end # Visit a SourceEncodingNode node. # - # source://prism//lib/prism/dot_visitor.rb#4127 + # source://prism//lib/prism/dot_visitor.rb#4132 def visit_source_encoding_node(node); end # Visit a SourceFileNode node. # - # source://prism//lib/prism/dot_visitor.rb#4141 + # source://prism//lib/prism/dot_visitor.rb#4146 def visit_source_file_node(node); end # Visit a SourceLineNode node. # - # source://prism//lib/prism/dot_visitor.rb#4161 + # source://prism//lib/prism/dot_visitor.rb#4166 def visit_source_line_node(node); end # Visit a SplatNode node. # - # source://prism//lib/prism/dot_visitor.rb#4175 + # source://prism//lib/prism/dot_visitor.rb#4180 def visit_splat_node(node); end # Visit a StatementsNode node. # - # source://prism//lib/prism/dot_visitor.rb#4198 + # source://prism//lib/prism/dot_visitor.rb#4203 def visit_statements_node(node); end # Visit a StringNode node. # - # source://prism//lib/prism/dot_visitor.rb#4225 + # source://prism//lib/prism/dot_visitor.rb#4230 def visit_string_node(node); end # Visit a SuperNode node. # - # source://prism//lib/prism/dot_visitor.rb#4258 + # source://prism//lib/prism/dot_visitor.rb#4263 def visit_super_node(node); end # Visit a SymbolNode node. # - # source://prism//lib/prism/dot_visitor.rb#4297 + # source://prism//lib/prism/dot_visitor.rb#4302 def visit_symbol_node(node); end # Visit a TrueNode node. # - # source://prism//lib/prism/dot_visitor.rb#4332 + # source://prism//lib/prism/dot_visitor.rb#4337 def visit_true_node(node); end # Visit a UndefNode node. # - # source://prism//lib/prism/dot_visitor.rb#4346 + # source://prism//lib/prism/dot_visitor.rb#4351 def visit_undef_node(node); end # Visit a UnlessNode node. # - # source://prism//lib/prism/dot_visitor.rb#4376 + # source://prism//lib/prism/dot_visitor.rb#4381 def visit_unless_node(node); end # Visit a UntilNode node. # - # source://prism//lib/prism/dot_visitor.rb#4419 + # source://prism//lib/prism/dot_visitor.rb#4424 def visit_until_node(node); end # Visit a WhenNode node. # - # source://prism//lib/prism/dot_visitor.rb#4459 + # source://prism//lib/prism/dot_visitor.rb#4464 def visit_when_node(node); end # Visit a WhileNode node. # - # source://prism//lib/prism/dot_visitor.rb#4500 + # source://prism//lib/prism/dot_visitor.rb#4505 def visit_while_node(node); end # Visit a XStringNode node. # - # source://prism//lib/prism/dot_visitor.rb#4540 + # source://prism//lib/prism/dot_visitor.rb#4545 def visit_x_string_node(node); end # Visit a YieldNode node. # - # source://prism//lib/prism/dot_visitor.rb#4569 + # source://prism//lib/prism/dot_visitor.rb#4574 def visit_yield_node(node); end private @@ -14461,101 +14792,101 @@ class Prism::DotVisitor < ::Prism::Visitor # 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#4615 + # source://prism//lib/prism/dot_visitor.rb#4620 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#4627 + # source://prism//lib/prism/dot_visitor.rb#4632 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#4635 + # source://prism//lib/prism/dot_visitor.rb#4640 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#4646 + # source://prism//lib/prism/dot_visitor.rb#4651 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#4655 + # source://prism//lib/prism/dot_visitor.rb#4660 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#4666 + # source://prism//lib/prism/dot_visitor.rb#4671 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#4675 + # source://prism//lib/prism/dot_visitor.rb#4680 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#4609 + # source://prism//lib/prism/dot_visitor.rb#4614 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#4683 + # source://prism//lib/prism/dot_visitor.rb#4688 def loop_flags_inspect(node); end # Generate a unique node ID for a node throughout the digraph. # - # source://prism//lib/prism/dot_visitor.rb#4604 + # source://prism//lib/prism/dot_visitor.rb#4609 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#4691 + # source://prism//lib/prism/dot_visitor.rb#4696 def parameter_flags_inspect(node); end # Inspect a node that has parentheses_node_flags flags to display the flags as a # comma-separated list. # - # source://prism//lib/prism/dot_visitor.rb#4699 + # source://prism//lib/prism/dot_visitor.rb#4704 def parentheses_node_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#4707 + # source://prism//lib/prism/dot_visitor.rb#4712 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#4715 + # source://prism//lib/prism/dot_visitor.rb#4720 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#4733 + # source://prism//lib/prism/dot_visitor.rb#4738 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#4743 + # source://prism//lib/prism/dot_visitor.rb#4748 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#4754 + # source://prism//lib/prism/dot_visitor.rb#4759 def symbol_flags_inspect(node); end end @@ -14649,13 +14980,13 @@ end # if a then b else c end # ^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#6324 +# source://prism//lib/prism/node.rb#6709 class Prism::ElseNode < ::Prism::Node # Initialize a new ElseNode node. # # @return [ElseNode] a new instance of ElseNode # - # source://prism//lib/prism/node.rb#6326 + # source://prism//lib/prism/node.rb#6711 sig do params( source: Prism::Source, @@ -14672,36 +15003,36 @@ class Prism::ElseNode < ::Prism::Node # 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#6433 + # source://prism//lib/prism/node.rb#6825 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#6337 + # source://prism//lib/prism/node.rb#6722 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6342 + # source://prism//lib/prism/node.rb#6727 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#6354 + # source://prism//lib/prism/node.rb#6746 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#6347 + # source://prism//lib/prism/node.rb#6739 sig { override.returns(T::Array[Prism::Node]) } 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#6359 + # source://prism//lib/prism/node.rb#6751 sig do params( node_id: Integer, @@ -14717,37 +15048,44 @@ class Prism::ElseNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6364 + # source://prism//lib/prism/node.rb#6756 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#6367 + # source://prism//lib/prism/node.rb#6759 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [statements] + # + # source://prism//lib/prism/node.rb#6732 + def each_child_node; end + # def else_keyword: () -> String # - # source://prism//lib/prism/node.rb#6407 + # source://prism//lib/prism/node.rb#6799 sig { returns(String) } def else_keyword; end # attr_reader else_keyword_loc: Location # - # source://prism//lib/prism/node.rb#6372 + # source://prism//lib/prism/node.rb#6764 sig { returns(Prism::Location) } def else_keyword_loc; end # def end_keyword: () -> String? # - # source://prism//lib/prism/node.rb#6412 + # source://prism//lib/prism/node.rb#6804 sig { returns(T.nilable(String)) } def end_keyword; end # attr_reader end_keyword_loc: Location? # - # source://prism//lib/prism/node.rb#6388 + # source://prism//lib/prism/node.rb#6780 sig { returns(T.nilable(Prism::Location)) } def end_keyword_loc; end @@ -14756,38 +15094,38 @@ class Prism::ElseNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#6417 + # source://prism//lib/prism/node.rb#6809 sig { override.returns(String) } def inspect; end # Save the else_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6380 + # source://prism//lib/prism/node.rb#6772 def save_else_keyword_loc(repository); end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6402 + # source://prism//lib/prism/node.rb#6794 def save_end_keyword_loc(repository); end # attr_reader statements: StatementsNode? # - # source://prism//lib/prism/node.rb#6385 + # source://prism//lib/prism/node.rb#6777 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#6422 + # source://prism//lib/prism/node.rb#6814 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#6427 + # source://prism//lib/prism/node.rb#6819 def type; end end end @@ -14795,11 +15133,11 @@ end # EmbDocComment objects correspond to comments that are surrounded by =begin # and =end. # -# source://prism//lib/prism/parse_result.rb#562 +# source://prism//lib/prism/parse_result.rb#549 class Prism::EmbDocComment < ::Prism::Comment # Returns a string representation of this comment. # - # source://prism//lib/prism/parse_result.rb#569 + # source://prism//lib/prism/parse_result.rb#556 sig { returns(String) } def inspect; end @@ -14807,7 +15145,7 @@ class Prism::EmbDocComment < ::Prism::Comment # # @return [Boolean] # - # source://prism//lib/prism/parse_result.rb#564 + # source://prism//lib/prism/parse_result.rb#551 sig { override.returns(T::Boolean) } def trailing?; end end @@ -14817,13 +15155,13 @@ end # "foo #{bar}" # ^^^^^^ # -# source://prism//lib/prism/node.rb#6445 +# source://prism//lib/prism/node.rb#6837 class Prism::EmbeddedStatementsNode < ::Prism::Node # Initialize a new EmbeddedStatementsNode node. # # @return [EmbeddedStatementsNode] a new instance of EmbeddedStatementsNode # - # source://prism//lib/prism/node.rb#6447 + # source://prism//lib/prism/node.rb#6839 sig do params( source: Prism::Source, @@ -14840,48 +15178,48 @@ class Prism::EmbeddedStatementsNode < ::Prism::Node # 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#6548 + # source://prism//lib/prism/node.rb#6947 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#6458 + # source://prism//lib/prism/node.rb#6850 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6463 + # source://prism//lib/prism/node.rb#6855 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#6527 + # source://prism//lib/prism/node.rb#6926 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#6509 + # source://prism//lib/prism/node.rb#6908 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#6475 + # source://prism//lib/prism/node.rb#6874 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#6468 + # source://prism//lib/prism/node.rb#6867 sig { override.returns(T::Array[Prism::Node]) } 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#6480 + # source://prism//lib/prism/node.rb#6879 sig do params( node_id: Integer, @@ -14897,65 +15235,72 @@ class Prism::EmbeddedStatementsNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6485 + # source://prism//lib/prism/node.rb#6884 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, statements: StatementsNode?, closing_loc: Location } # - # source://prism//lib/prism/node.rb#6488 + # source://prism//lib/prism/node.rb#6887 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [statements] + # + # source://prism//lib/prism/node.rb#6860 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#6532 + # source://prism//lib/prism/node.rb#6931 sig { override.returns(String) } def inspect; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#6522 + # source://prism//lib/prism/node.rb#6921 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#6493 + # source://prism//lib/prism/node.rb#6892 sig { returns(Prism::Location) } def opening_loc; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6517 + # source://prism//lib/prism/node.rb#6916 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6501 + # source://prism//lib/prism/node.rb#6900 def save_opening_loc(repository); end # attr_reader statements: StatementsNode? # - # source://prism//lib/prism/node.rb#6506 + # source://prism//lib/prism/node.rb#6905 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#6537 + # source://prism//lib/prism/node.rb#6936 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#6542 + # source://prism//lib/prism/node.rb#6941 def type; end end end @@ -14965,13 +15310,13 @@ end # "foo #@bar" # ^^^^^ # -# source://prism//lib/prism/node.rb#6560 +# source://prism//lib/prism/node.rb#6959 class Prism::EmbeddedVariableNode < ::Prism::Node # Initialize a new EmbeddedVariableNode node. # # @return [EmbeddedVariableNode] a new instance of EmbeddedVariableNode # - # source://prism//lib/prism/node.rb#6562 + # source://prism//lib/prism/node.rb#6961 sig do params( source: Prism::Source, @@ -14987,36 +15332,36 @@ class Prism::EmbeddedVariableNode < ::Prism::Node # 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#6642 + # source://prism//lib/prism/node.rb#7048 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#6572 + # source://prism//lib/prism/node.rb#6971 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6577 + # source://prism//lib/prism/node.rb#6976 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#6587 + # source://prism//lib/prism/node.rb#6993 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#6582 + # source://prism//lib/prism/node.rb#6988 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode) -> EmbeddedVariableNode # - # source://prism//lib/prism/node.rb#6592 + # source://prism//lib/prism/node.rb#6998 sig do params( node_id: Integer, @@ -15031,52 +15376,59 @@ class Prism::EmbeddedVariableNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6597 + # source://prism//lib/prism/node.rb#7003 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, operator_loc: Location, variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode } # - # source://prism//lib/prism/node.rb#6600 + # source://prism//lib/prism/node.rb#7006 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [variable] + # + # source://prism//lib/prism/node.rb#6981 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#6626 + # source://prism//lib/prism/node.rb#7032 sig { override.returns(String) } def inspect; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#6621 + # source://prism//lib/prism/node.rb#7027 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#6605 + # source://prism//lib/prism/node.rb#7011 sig { returns(Prism::Location) } def operator_loc; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6613 + # source://prism//lib/prism/node.rb#7019 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#6631 + # source://prism//lib/prism/node.rb#7037 sig { override.returns(Symbol) } def type; end # attr_reader variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode # - # source://prism//lib/prism/node.rb#6618 + # source://prism//lib/prism/node.rb#7024 sig do returns(T.any(Prism::InstanceVariableReadNode, Prism::ClassVariableReadNode, Prism::GlobalVariableReadNode, Prism::BackReferenceReadNode, Prism::NumberedReferenceReadNode)) end @@ -15085,24 +15437,24 @@ class Prism::EmbeddedVariableNode < ::Prism::Node class << self # Return a symbol representation of this node type. See `Node::type`. # - # source://prism//lib/prism/node.rb#6636 + # source://prism//lib/prism/node.rb#7042 def type; end end end # Flags for nodes that have unescaped content. # -# source://prism//lib/prism/node.rb#18669 +# source://prism//lib/prism/node.rb#19811 module Prism::EncodingFlags; end # internal bytes forced the encoding to binary # -# source://prism//lib/prism/node.rb#18674 +# source://prism//lib/prism/node.rb#19816 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#18671 +# source://prism//lib/prism/node.rb#19813 Prism::EncodingFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer) # Represents an `ensure` clause in a `begin` statement. @@ -15114,13 +15466,13 @@ Prism::EncodingFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer) # bar # end # -# source://prism//lib/prism/node.rb#6657 +# source://prism//lib/prism/node.rb#7063 class Prism::EnsureNode < ::Prism::Node # Initialize a new EnsureNode node. # # @return [EnsureNode] a new instance of EnsureNode # - # source://prism//lib/prism/node.rb#6659 + # source://prism//lib/prism/node.rb#7065 sig do params( source: Prism::Source, @@ -15137,36 +15489,36 @@ class Prism::EnsureNode < ::Prism::Node # 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#6760 + # source://prism//lib/prism/node.rb#7173 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#6670 + # source://prism//lib/prism/node.rb#7076 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6675 + # source://prism//lib/prism/node.rb#7081 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#6687 + # source://prism//lib/prism/node.rb#7100 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#6680 + # source://prism//lib/prism/node.rb#7093 sig { override.returns(T::Array[Prism::Node]) } 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#6692 + # source://prism//lib/prism/node.rb#7105 sig do params( node_id: Integer, @@ -15182,37 +15534,44 @@ class Prism::EnsureNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6697 + # source://prism//lib/prism/node.rb#7110 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#6700 + # source://prism//lib/prism/node.rb#7113 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [statements] + # + # source://prism//lib/prism/node.rb#7086 + def each_child_node; end + # def end_keyword: () -> String # - # source://prism//lib/prism/node.rb#6739 + # source://prism//lib/prism/node.rb#7152 sig { returns(String) } def end_keyword; end # attr_reader end_keyword_loc: Location # - # source://prism//lib/prism/node.rb#6721 + # source://prism//lib/prism/node.rb#7134 sig { returns(Prism::Location) } def end_keyword_loc; end # def ensure_keyword: () -> String # - # source://prism//lib/prism/node.rb#6734 + # source://prism//lib/prism/node.rb#7147 sig { returns(String) } def ensure_keyword; end # attr_reader ensure_keyword_loc: Location # - # source://prism//lib/prism/node.rb#6705 + # source://prism//lib/prism/node.rb#7118 sig { returns(Prism::Location) } def ensure_keyword_loc; end @@ -15221,38 +15580,38 @@ class Prism::EnsureNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#6744 + # source://prism//lib/prism/node.rb#7157 sig { override.returns(String) } def inspect; end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6729 + # source://prism//lib/prism/node.rb#7142 def save_end_keyword_loc(repository); end # Save the ensure_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6713 + # source://prism//lib/prism/node.rb#7126 def save_ensure_keyword_loc(repository); end # attr_reader statements: StatementsNode? # - # source://prism//lib/prism/node.rb#6718 + # source://prism//lib/prism/node.rb#7131 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#6749 + # source://prism//lib/prism/node.rb#7162 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#6754 + # source://prism//lib/prism/node.rb#7167 def type; end end end @@ -15262,84 +15621,89 @@ end # false # ^^^^^ # -# source://prism//lib/prism/node.rb#6772 +# source://prism//lib/prism/node.rb#7185 class Prism::FalseNode < ::Prism::Node # Initialize a new FalseNode node. # # @return [FalseNode] a new instance of FalseNode # - # source://prism//lib/prism/node.rb#6774 + # source://prism//lib/prism/node.rb#7187 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#6831 + # source://prism//lib/prism/node.rb#7250 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#6782 + # source://prism//lib/prism/node.rb#7195 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6787 + # source://prism//lib/prism/node.rb#7200 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#6797 + # source://prism//lib/prism/node.rb#7216 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#6792 + # source://prism//lib/prism/node.rb#7211 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> FalseNode # - # source://prism//lib/prism/node.rb#6802 + # source://prism//lib/prism/node.rb#7221 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::FalseNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6807 + # source://prism//lib/prism/node.rb#7226 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#6810 + # source://prism//lib/prism/node.rb#7229 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#7205 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#6815 + # source://prism//lib/prism/node.rb#7234 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#6820 + # source://prism//lib/prism/node.rb#7239 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#6825 + # source://prism//lib/prism/node.rb#7244 def type; end end end @@ -15358,13 +15722,13 @@ end # foo => *bar, baz, *qux # ^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#6849 +# source://prism//lib/prism/node.rb#7268 class Prism::FindPatternNode < ::Prism::Node # Initialize a new FindPatternNode node. # # @return [FindPatternNode] a new instance of FindPatternNode # - # source://prism//lib/prism/node.rb#6851 + # source://prism//lib/prism/node.rb#7270 sig do params( source: Prism::Source, @@ -15384,24 +15748,24 @@ class Prism::FindPatternNode < ::Prism::Node # 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#7012 + # source://prism//lib/prism/node.rb#7441 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#6865 + # source://prism//lib/prism/node.rb#7284 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6870 + # source://prism//lib/prism/node.rb#7289 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#6991 + # source://prism//lib/prism/node.rb#7420 sig { returns(T.nilable(String)) } def closing; end @@ -15413,19 +15777,19 @@ class Prism::FindPatternNode < ::Prism::Node # foo in Foo(*bar, baz, *qux) # ^ # - # source://prism//lib/prism/node.rb#6967 + # source://prism//lib/prism/node.rb#7396 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#6885 + # source://prism//lib/prism/node.rb#7314 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#6875 + # source://prism//lib/prism/node.rb#7304 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end @@ -15434,13 +15798,13 @@ class Prism::FindPatternNode < ::Prism::Node # foo in Foo(*bar, baz, *qux) # ^^^ # - # source://prism//lib/prism/node.rb#6906 + # source://prism//lib/prism/node.rb#7335 sig { returns(T.nilable(T.any(Prism::ConstantPathNode, Prism::ConstantReadNode))) } def constant; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: ConstantPathNode | ConstantReadNode | nil, ?left: SplatNode, ?requireds: Array[Prism::node], ?right: SplatNode | MissingNode, ?opening_loc: Location?, ?closing_loc: Location?) -> FindPatternNode # - # source://prism//lib/prism/node.rb#6890 + # source://prism//lib/prism/node.rb#7319 sig do params( node_id: Integer, @@ -15459,22 +15823,29 @@ class Prism::FindPatternNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#6895 + # source://prism//lib/prism/node.rb#7324 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: ConstantPathNode | ConstantReadNode | nil, left: SplatNode, requireds: Array[Prism::node], right: SplatNode | MissingNode, opening_loc: Location?, closing_loc: Location? } # - # source://prism//lib/prism/node.rb#6898 + # source://prism//lib/prism/node.rb#7327 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [constant] + # + # source://prism//lib/prism/node.rb#7294 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#6996 + # source://prism//lib/prism/node.rb#7425 sig { override.returns(String) } def inspect; end @@ -15486,13 +15857,13 @@ class Prism::FindPatternNode < ::Prism::Node # foo in Foo(*bar, baz, *qux) # ^^^^ # - # source://prism//lib/prism/node.rb#6915 + # source://prism//lib/prism/node.rb#7344 sig { returns(Prism::SplatNode) } def left; end # def opening: () -> String? # - # source://prism//lib/prism/node.rb#6986 + # source://prism//lib/prism/node.rb#7415 sig { returns(T.nilable(String)) } def opening; end @@ -15504,7 +15875,7 @@ class Prism::FindPatternNode < ::Prism::Node # foo in Foo(*bar, baz, *qux) # ^ # - # source://prism//lib/prism/node.rb#6942 + # source://prism//lib/prism/node.rb#7371 sig { returns(T.nilable(Prism::Location)) } def opening_loc; end @@ -15516,7 +15887,7 @@ class Prism::FindPatternNode < ::Prism::Node # foo in Foo(*bar, baz, 1, *qux) # ^^^^^^ # - # source://prism//lib/prism/node.rb#6924 + # source://prism//lib/prism/node.rb#7353 sig { returns(T::Array[Prism::Node]) } def requireds; end @@ -15528,32 +15899,32 @@ class Prism::FindPatternNode < ::Prism::Node # foo in Foo(*bar, baz, *qux) # ^^^^ # - # source://prism//lib/prism/node.rb#6933 + # source://prism//lib/prism/node.rb#7362 sig { returns(T.any(Prism::SplatNode, Prism::MissingNode)) } def right; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6981 + # source://prism//lib/prism/node.rb#7410 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#6956 + # source://prism//lib/prism/node.rb#7385 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#7001 + # source://prism//lib/prism/node.rb#7430 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#7006 + # source://prism//lib/prism/node.rb#7435 def type; end end end @@ -15563,13 +15934,13 @@ end # baz if foo .. bar # ^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#7028 +# source://prism//lib/prism/node.rb#7457 class Prism::FlipFlopNode < ::Prism::Node # Initialize a new FlipFlopNode node. # # @return [FlipFlopNode] a new instance of FlipFlopNode # - # source://prism//lib/prism/node.rb#7030 + # source://prism//lib/prism/node.rb#7459 sig do params( source: Prism::Source, @@ -15586,36 +15957,36 @@ class Prism::FlipFlopNode < ::Prism::Node # 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#7122 + # source://prism//lib/prism/node.rb#7559 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#7041 + # source://prism//lib/prism/node.rb#7470 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7046 + # source://prism//lib/prism/node.rb#7475 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#7059 + # source://prism//lib/prism/node.rb#7496 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#7051 + # source://prism//lib/prism/node.rb#7488 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#7064 + # source://prism//lib/prism/node.rb#7501 sig do params( node_id: Integer, @@ -15631,21 +16002,28 @@ class Prism::FlipFlopNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7069 + # source://prism//lib/prism/node.rb#7506 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#7072 + # source://prism//lib/prism/node.rb#7509 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [left] + # + # source://prism//lib/prism/node.rb#7480 + def each_child_node; end + # def exclude_end?: () -> bool # # @return [Boolean] # - # source://prism//lib/prism/node.rb#7077 + # source://prism//lib/prism/node.rb#7514 sig { returns(T::Boolean) } def exclude_end?; end @@ -15654,50 +16032,50 @@ class Prism::FlipFlopNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#7106 + # source://prism//lib/prism/node.rb#7543 sig { override.returns(String) } def inspect; end # attr_reader left: Prism::node? # - # source://prism//lib/prism/node.rb#7082 + # source://prism//lib/prism/node.rb#7519 sig { returns(T.nilable(Prism::Node)) } def left; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#7101 + # source://prism//lib/prism/node.rb#7538 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#7088 + # source://prism//lib/prism/node.rb#7525 sig { returns(Prism::Location) } def operator_loc; end # attr_reader right: Prism::node? # - # source://prism//lib/prism/node.rb#7085 + # source://prism//lib/prism/node.rb#7522 sig { returns(T.nilable(Prism::Node)) } def right; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#7096 + # source://prism//lib/prism/node.rb#7533 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#7111 + # source://prism//lib/prism/node.rb#7548 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#7116 + # source://prism//lib/prism/node.rb#7553 def type; end end end @@ -15707,90 +16085,95 @@ end # 1.0 # ^^^ # -# source://prism//lib/prism/node.rb#7135 +# source://prism//lib/prism/node.rb#7572 class Prism::FloatNode < ::Prism::Node # Initialize a new FloatNode node. # # @return [FloatNode] a new instance of FloatNode # - # source://prism//lib/prism/node.rb#7137 + # source://prism//lib/prism/node.rb#7574 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer, value: Float).void } 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#7198 + # source://prism//lib/prism/node.rb#7641 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#7146 + # source://prism//lib/prism/node.rb#7583 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7151 + # source://prism//lib/prism/node.rb#7588 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#7161 + # source://prism//lib/prism/node.rb#7604 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#7156 + # source://prism//lib/prism/node.rb#7599 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Float) -> FloatNode # - # source://prism//lib/prism/node.rb#7166 + # source://prism//lib/prism/node.rb#7609 sig { params(node_id: Integer, location: Prism::Location, flags: Integer, value: Float).returns(Prism::FloatNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil), value: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7171 + # source://prism//lib/prism/node.rb#7614 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: Float } # - # source://prism//lib/prism/node.rb#7174 + # source://prism//lib/prism/node.rb#7617 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#7593 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#7182 + # source://prism//lib/prism/node.rb#7625 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#7187 + # source://prism//lib/prism/node.rb#7630 sig { override.returns(Symbol) } def type; end # The value of the floating point number as a Float. # - # source://prism//lib/prism/node.rb#7179 + # source://prism//lib/prism/node.rb#7622 sig { returns(Float) } def value; end class << self # Return a symbol representation of this node type. See `Node::type`. # - # source://prism//lib/prism/node.rb#7192 + # source://prism//lib/prism/node.rb#7635 def type; end end end @@ -15800,13 +16183,13 @@ end # for i in a end # ^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#7208 +# source://prism//lib/prism/node.rb#7651 class Prism::ForNode < ::Prism::Node # Initialize a new ForNode node. # # @return [ForNode] a new instance of ForNode # - # source://prism//lib/prism/node.rb#7210 + # source://prism//lib/prism/node.rb#7653 sig do params( source: Prism::Source, @@ -15827,18 +16210,18 @@ class Prism::ForNode < ::Prism::Node # 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#7388 + # source://prism//lib/prism/node.rb#7840 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#7225 + # source://prism//lib/prism/node.rb#7668 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7230 + # source://prism//lib/prism/node.rb#7673 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end @@ -15847,25 +16230,25 @@ class Prism::ForNode < ::Prism::Node # for i in a end # ^ # - # source://prism//lib/prism/node.rb#7271 + # source://prism//lib/prism/node.rb#7723 sig { returns(Prism::Node) } def collection; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#7244 + # source://prism//lib/prism/node.rb#7696 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#7235 + # source://prism//lib/prism/node.rb#7687 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?index: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode, ?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#7249 + # source://prism//lib/prism/node.rb#7701 sig do params( node_id: Integer, @@ -15885,19 +16268,19 @@ class Prism::ForNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7254 + # source://prism//lib/prism/node.rb#7706 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, index: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode, 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#7257 + # source://prism//lib/prism/node.rb#7709 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # def do_keyword: () -> String? # - # source://prism//lib/prism/node.rb#7362 + # source://prism//lib/prism/node.rb#7814 sig { returns(T.nilable(String)) } def do_keyword; end @@ -15906,13 +16289,20 @@ class Prism::ForNode < ::Prism::Node # for i in a do end # ^^ # - # source://prism//lib/prism/node.rb#7317 + # source://prism//lib/prism/node.rb#7769 sig { returns(T.nilable(Prism::Location)) } def do_keyword_loc; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [index] + # + # source://prism//lib/prism/node.rb#7678 + def each_child_node; end + # def end_keyword: () -> String # - # source://prism//lib/prism/node.rb#7367 + # source://prism//lib/prism/node.rb#7819 sig { returns(String) } def end_keyword; end @@ -15921,7 +16311,7 @@ class Prism::ForNode < ::Prism::Node # for i in a end # ^^^ # - # source://prism//lib/prism/node.rb#7339 + # source://prism//lib/prism/node.rb#7791 sig { returns(Prism::Location) } def end_keyword_loc; end @@ -15930,7 +16320,7 @@ class Prism::ForNode < ::Prism::Node # def for_keyword: () -> String # - # source://prism//lib/prism/node.rb#7352 + # source://prism//lib/prism/node.rb#7804 sig { returns(String) } def for_keyword; end @@ -15939,13 +16329,13 @@ class Prism::ForNode < ::Prism::Node # for i in a end # ^^^ # - # source://prism//lib/prism/node.rb#7285 + # source://prism//lib/prism/node.rb#7737 sig { returns(Prism::Location) } def for_keyword_loc; end # def in_keyword: () -> String # - # source://prism//lib/prism/node.rb#7357 + # source://prism//lib/prism/node.rb#7809 sig { returns(String) } def in_keyword; end @@ -15954,7 +16344,7 @@ class Prism::ForNode < ::Prism::Node # for i in a end # ^^ # - # source://prism//lib/prism/node.rb#7301 + # source://prism//lib/prism/node.rb#7753 sig { returns(Prism::Location) } def in_keyword_loc; end @@ -15963,7 +16353,7 @@ class Prism::ForNode < ::Prism::Node # for i in a end # ^ # - # source://prism//lib/prism/node.rb#7265 + # source://prism//lib/prism/node.rb#7717 sig do returns(T.any(Prism::LocalVariableTargetNode, Prism::InstanceVariableTargetNode, Prism::ClassVariableTargetNode, Prism::GlobalVariableTargetNode, Prism::ConstantTargetNode, Prism::ConstantPathTargetNode, Prism::CallTargetNode, Prism::IndexTargetNode, Prism::MultiTargetNode, Prism::BackReferenceReadNode, Prism::NumberedReferenceReadNode, Prism::MissingNode)) end @@ -15971,32 +16361,32 @@ class Prism::ForNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#7372 + # source://prism//lib/prism/node.rb#7824 sig { override.returns(String) } def inspect; end # Save the do_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#7331 + # source://prism//lib/prism/node.rb#7783 def save_do_keyword_loc(repository); end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#7347 + # source://prism//lib/prism/node.rb#7799 def save_end_keyword_loc(repository); end # Save the for_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#7293 + # source://prism//lib/prism/node.rb#7745 def save_for_keyword_loc(repository); end # Save the in_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#7309 + # source://prism//lib/prism/node.rb#7761 def save_in_keyword_loc(repository); end # Represents the body of statements to execute for each iteration of the loop. @@ -16006,20 +16396,20 @@ class Prism::ForNode < ::Prism::Node # ^^^^^^ # end # - # source://prism//lib/prism/node.rb#7279 + # source://prism//lib/prism/node.rb#7731 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#7377 + # source://prism//lib/prism/node.rb#7829 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#7382 + # source://prism//lib/prism/node.rb#7834 def type; end end end @@ -16031,84 +16421,89 @@ end # ^^^ # end # -# source://prism//lib/prism/node.rb#7406 +# source://prism//lib/prism/node.rb#7858 class Prism::ForwardingArgumentsNode < ::Prism::Node # Initialize a new ForwardingArgumentsNode node. # # @return [ForwardingArgumentsNode] a new instance of ForwardingArgumentsNode # - # source://prism//lib/prism/node.rb#7408 + # source://prism//lib/prism/node.rb#7860 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#7465 + # source://prism//lib/prism/node.rb#7923 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#7416 + # source://prism//lib/prism/node.rb#7868 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7421 + # source://prism//lib/prism/node.rb#7873 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#7431 + # source://prism//lib/prism/node.rb#7889 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#7426 + # source://prism//lib/prism/node.rb#7884 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingArgumentsNode # - # source://prism//lib/prism/node.rb#7436 + # source://prism//lib/prism/node.rb#7894 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::ForwardingArgumentsNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7441 + # source://prism//lib/prism/node.rb#7899 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#7444 + # source://prism//lib/prism/node.rb#7902 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#7878 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#7449 + # source://prism//lib/prism/node.rb#7907 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#7454 + # source://prism//lib/prism/node.rb#7912 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#7459 + # source://prism//lib/prism/node.rb#7917 def type; end end end @@ -16119,100 +16514,110 @@ end # ^^^ # end # -# source://prism//lib/prism/node.rb#7475 +# source://prism//lib/prism/node.rb#7933 class Prism::ForwardingParameterNode < ::Prism::Node # Initialize a new ForwardingParameterNode node. # # @return [ForwardingParameterNode] a new instance of ForwardingParameterNode # - # source://prism//lib/prism/node.rb#7477 + # source://prism//lib/prism/node.rb#7935 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#7534 + # source://prism//lib/prism/node.rb#7998 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#7485 + # source://prism//lib/prism/node.rb#7943 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7490 + # source://prism//lib/prism/node.rb#7948 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#7500 + # source://prism//lib/prism/node.rb#7964 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#7495 + # source://prism//lib/prism/node.rb#7959 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingParameterNode # - # source://prism//lib/prism/node.rb#7505 + # source://prism//lib/prism/node.rb#7969 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::ForwardingParameterNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7510 + # source://prism//lib/prism/node.rb#7974 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#7513 + # source://prism//lib/prism/node.rb#7977 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#7953 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#7518 + # source://prism//lib/prism/node.rb#7982 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#7523 + # source://prism//lib/prism/node.rb#7987 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#7528 + # source://prism//lib/prism/node.rb#7992 def type; end end end -# Represents the use of the `super` keyword without parentheses or arguments. +# Represents the use of the `super` keyword without parentheses or arguments, but which might have a block. # # super # ^^^^^ # -# source://prism//lib/prism/node.rb#7543 +# super { 123 } +# ^^^^^^^^^^^^^ +# +# If it has any other arguments, it would be a `SuperNode` instead. +# +# source://prism//lib/prism/node.rb#8012 class Prism::ForwardingSuperNode < ::Prism::Node # Initialize a new ForwardingSuperNode node. # # @return [ForwardingSuperNode] a new instance of ForwardingSuperNode # - # source://prism//lib/prism/node.rb#7545 + # source://prism//lib/prism/node.rb#8014 sig do params( source: Prism::Source, @@ -16227,42 +16632,42 @@ class Prism::ForwardingSuperNode < ::Prism::Node # 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#7608 + # source://prism//lib/prism/node.rb#8084 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#7554 + # source://prism//lib/prism/node.rb#8023 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end - # attr_reader block: BlockNode? + # All other arguments are forwarded as normal, except the original block is replaced with the new block. # - # source://prism//lib/prism/node.rb#7589 + # source://prism//lib/prism/node.rb#8065 sig { returns(T.nilable(Prism::BlockNode)) } def block; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7559 + # source://prism//lib/prism/node.rb#8028 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#7571 + # source://prism//lib/prism/node.rb#8047 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#7564 + # source://prism//lib/prism/node.rb#8040 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?block: BlockNode?) -> ForwardingSuperNode # - # source://prism//lib/prism/node.rb#7576 + # source://prism//lib/prism/node.rb#8052 sig do params( node_id: Integer, @@ -16276,35 +16681,42 @@ class Prism::ForwardingSuperNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7581 + # source://prism//lib/prism/node.rb#8057 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, block: BlockNode? } # - # source://prism//lib/prism/node.rb#7584 + # source://prism//lib/prism/node.rb#8060 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [block] + # + # source://prism//lib/prism/node.rb#8033 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#7592 + # source://prism//lib/prism/node.rb#8068 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#7597 + # source://prism//lib/prism/node.rb#8073 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#7602 + # source://prism//lib/prism/node.rb#8078 def type; end end end @@ -16314,13 +16726,13 @@ end # $target &&= value # ^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#7618 +# source://prism//lib/prism/node.rb#8094 class Prism::GlobalVariableAndWriteNode < ::Prism::Node # Initialize a new GlobalVariableAndWriteNode node. # # @return [GlobalVariableAndWriteNode] a new instance of GlobalVariableAndWriteNode # - # source://prism//lib/prism/node.rb#7620 + # source://prism//lib/prism/node.rb#8096 sig do params( source: Prism::Source, @@ -16338,36 +16750,36 @@ class Prism::GlobalVariableAndWriteNode < ::Prism::Node # 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#7718 + # source://prism//lib/prism/node.rb#8201 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#7632 + # source://prism//lib/prism/node.rb#8108 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7637 + # source://prism//lib/prism/node.rb#8113 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#7647 + # source://prism//lib/prism/node.rb#8130 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#7642 + # source://prism//lib/prism/node.rb#8125 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) -> GlobalVariableAndWriteNode # - # source://prism//lib/prism/node.rb#7652 + # source://prism//lib/prism/node.rb#8135 sig do params( node_id: Integer, @@ -16384,80 +16796,87 @@ class Prism::GlobalVariableAndWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7657 + # source://prism//lib/prism/node.rb#8140 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#7660 + # source://prism//lib/prism/node.rb#8143 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # source://prism//lib/prism/desugar_compiler.rb#201 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#8118 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#7702 + # source://prism//lib/prism/node.rb#8185 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#7665 + # source://prism//lib/prism/node.rb#8148 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#7668 + # source://prism//lib/prism/node.rb#8151 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#7697 + # source://prism//lib/prism/node.rb#8180 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#7681 + # source://prism//lib/prism/node.rb#8164 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#7676 + # source://prism//lib/prism/node.rb#8159 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#7689 + # source://prism//lib/prism/node.rb#8172 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#7707 + # source://prism//lib/prism/node.rb#8190 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#7694 + # source://prism//lib/prism/node.rb#8177 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#7712 + # source://prism//lib/prism/node.rb#8195 def type; end end end @@ -16467,13 +16886,13 @@ end # $target += value # ^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#7731 +# source://prism//lib/prism/node.rb#8214 class Prism::GlobalVariableOperatorWriteNode < ::Prism::Node # Initialize a new GlobalVariableOperatorWriteNode node. # # @return [GlobalVariableOperatorWriteNode] a new instance of GlobalVariableOperatorWriteNode # - # source://prism//lib/prism/node.rb#7733 + # source://prism//lib/prism/node.rb#8216 sig do params( source: Prism::Source, @@ -16492,48 +16911,48 @@ class Prism::GlobalVariableOperatorWriteNode < ::Prism::Node # 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#7830 + # source://prism//lib/prism/node.rb#8320 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#7746 + # source://prism//lib/prism/node.rb#8229 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader binary_operator: Symbol # - # source://prism//lib/prism/node.rb#7811 + # source://prism//lib/prism/node.rb#8301 sig { returns(Symbol) } def binary_operator; end # attr_reader binary_operator_loc: Location # - # source://prism//lib/prism/node.rb#7795 + # source://prism//lib/prism/node.rb#8285 sig { returns(Prism::Location) } def binary_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7751 + # source://prism//lib/prism/node.rb#8234 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#7761 + # source://prism//lib/prism/node.rb#8251 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#7756 + # source://prism//lib/prism/node.rb#8246 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, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> GlobalVariableOperatorWriteNode # - # source://prism//lib/prism/node.rb#7766 + # source://prism//lib/prism/node.rb#8256 sig do params( node_id: Integer, @@ -16551,37 +16970,44 @@ class Prism::GlobalVariableOperatorWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7771 + # source://prism//lib/prism/node.rb#8261 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, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol } # - # source://prism//lib/prism/node.rb#7774 + # source://prism//lib/prism/node.rb#8264 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # source://prism//lib/prism/desugar_compiler.rb#213 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#8239 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#7814 + # source://prism//lib/prism/node.rb#8304 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#7779 + # source://prism//lib/prism/node.rb#8269 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#7782 + # source://prism//lib/prism/node.rb#8272 sig { returns(Prism::Location) } def name_loc; end @@ -16600,31 +17026,31 @@ class Prism::GlobalVariableOperatorWriteNode < ::Prism::Node # Save the binary_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#7803 + # source://prism//lib/prism/node.rb#8293 def save_binary_operator_loc(repository); end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#7790 + # source://prism//lib/prism/node.rb#8280 def save_name_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#7819 + # source://prism//lib/prism/node.rb#8309 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#7808 + # source://prism//lib/prism/node.rb#8298 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#7824 + # source://prism//lib/prism/node.rb#8314 def type; end end end @@ -16634,13 +17060,13 @@ end # $target ||= value # ^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#7844 +# source://prism//lib/prism/node.rb#8334 class Prism::GlobalVariableOrWriteNode < ::Prism::Node # Initialize a new GlobalVariableOrWriteNode node. # # @return [GlobalVariableOrWriteNode] a new instance of GlobalVariableOrWriteNode # - # source://prism//lib/prism/node.rb#7846 + # source://prism//lib/prism/node.rb#8336 sig do params( source: Prism::Source, @@ -16658,36 +17084,36 @@ class Prism::GlobalVariableOrWriteNode < ::Prism::Node # 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#7944 + # source://prism//lib/prism/node.rb#8441 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#7858 + # source://prism//lib/prism/node.rb#8348 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7863 + # source://prism//lib/prism/node.rb#8353 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#7873 + # 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#7868 + # source://prism//lib/prism/node.rb#8365 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) -> GlobalVariableOrWriteNode # - # source://prism//lib/prism/node.rb#7878 + # source://prism//lib/prism/node.rb#8375 sig do params( node_id: Integer, @@ -16704,80 +17130,87 @@ class Prism::GlobalVariableOrWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7883 + # source://prism//lib/prism/node.rb#8380 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#7886 + # 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 # source://prism//lib/prism/desugar_compiler.rb#207 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#8358 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#7928 + # source://prism//lib/prism/node.rb#8425 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#7891 + # source://prism//lib/prism/node.rb#8388 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#7894 + # source://prism//lib/prism/node.rb#8391 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#7923 + # source://prism//lib/prism/node.rb#8420 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#7907 + # source://prism//lib/prism/node.rb#8404 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#7902 + # source://prism//lib/prism/node.rb#8399 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#7915 + # source://prism//lib/prism/node.rb#8412 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#7933 + # source://prism//lib/prism/node.rb#8430 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#7920 + # source://prism//lib/prism/node.rb#8417 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#7938 + # source://prism//lib/prism/node.rb#8435 def type; end end end @@ -16787,49 +17220,49 @@ end # $foo # ^^^^ # -# source://prism//lib/prism/node.rb#7957 +# source://prism//lib/prism/node.rb#8454 class Prism::GlobalVariableReadNode < ::Prism::Node # Initialize a new GlobalVariableReadNode node. # # @return [GlobalVariableReadNode] a new instance of GlobalVariableReadNode # - # source://prism//lib/prism/node.rb#7959 + # source://prism//lib/prism/node.rb#8456 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#8024 + # source://prism//lib/prism/node.rb#8527 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#7968 + # source://prism//lib/prism/node.rb#8465 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7973 + # source://prism//lib/prism/node.rb#8470 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#7983 + # source://prism//lib/prism/node.rb#8486 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#7978 + # source://prism//lib/prism/node.rb#8481 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableReadNode # - # source://prism//lib/prism/node.rb#7988 + # source://prism//lib/prism/node.rb#8491 sig do params( node_id: Integer, @@ -16843,22 +17276,27 @@ class Prism::GlobalVariableReadNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#7993 + # source://prism//lib/prism/node.rb#8496 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#7996 + # source://prism//lib/prism/node.rb#8499 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#8475 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#8008 + # source://prism//lib/prism/node.rb#8511 sig { override.returns(String) } def inspect; end @@ -16868,20 +17306,20 @@ class Prism::GlobalVariableReadNode < ::Prism::Node # # $_Test # name `:$_Test` # - # source://prism//lib/prism/node.rb#8005 + # source://prism//lib/prism/node.rb#8508 sig { returns(Symbol) } def name; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#8013 + # source://prism//lib/prism/node.rb#8516 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#8018 + # source://prism//lib/prism/node.rb#8521 def type; end end end @@ -16891,49 +17329,49 @@ end # $foo, $bar = baz # ^^^^ ^^^^ # -# source://prism//lib/prism/node.rb#8034 +# source://prism//lib/prism/node.rb#8537 class Prism::GlobalVariableTargetNode < ::Prism::Node # Initialize a new GlobalVariableTargetNode node. # # @return [GlobalVariableTargetNode] a new instance of GlobalVariableTargetNode # - # source://prism//lib/prism/node.rb#8036 + # source://prism//lib/prism/node.rb#8539 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#8097 + # source://prism//lib/prism/node.rb#8606 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#8045 + # source://prism//lib/prism/node.rb#8548 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8050 + # source://prism//lib/prism/node.rb#8553 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#8060 + # source://prism//lib/prism/node.rb#8569 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#8055 + # source://prism//lib/prism/node.rb#8564 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableTargetNode # - # source://prism//lib/prism/node.rb#8065 + # source://prism//lib/prism/node.rb#8574 sig do params( node_id: Integer, @@ -16947,41 +17385,46 @@ class Prism::GlobalVariableTargetNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8070 + # source://prism//lib/prism/node.rb#8579 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#8073 + # source://prism//lib/prism/node.rb#8582 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#8558 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#8081 + # source://prism//lib/prism/node.rb#8590 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#8078 + # source://prism//lib/prism/node.rb#8587 sig { returns(Symbol) } def name; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#8086 + # source://prism//lib/prism/node.rb#8595 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#8091 + # source://prism//lib/prism/node.rb#8600 def type; end end end @@ -16991,13 +17434,13 @@ end # $foo = 1 # ^^^^^^^^ # -# source://prism//lib/prism/node.rb#8107 +# source://prism//lib/prism/node.rb#8616 class Prism::GlobalVariableWriteNode < ::Prism::Node # Initialize a new GlobalVariableWriteNode node. # # @return [GlobalVariableWriteNode] a new instance of GlobalVariableWriteNode # - # source://prism//lib/prism/node.rb#8109 + # source://prism//lib/prism/node.rb#8618 sig do params( source: Prism::Source, @@ -17015,36 +17458,36 @@ class Prism::GlobalVariableWriteNode < ::Prism::Node # 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#8223 + # source://prism//lib/prism/node.rb#8739 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#8121 + # source://prism//lib/prism/node.rb#8630 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8126 + # source://prism//lib/prism/node.rb#8635 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#8136 + # source://prism//lib/prism/node.rb#8652 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#8131 + # source://prism//lib/prism/node.rb#8647 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, ?operator_loc: Location) -> GlobalVariableWriteNode # - # source://prism//lib/prism/node.rb#8141 + # source://prism//lib/prism/node.rb#8657 sig do params( node_id: Integer, @@ -17061,22 +17504,29 @@ class Prism::GlobalVariableWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8146 + # source://prism//lib/prism/node.rb#8662 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, operator_loc: Location } # - # source://prism//lib/prism/node.rb#8149 + # source://prism//lib/prism/node.rb#8665 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#8640 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#8207 + # source://prism//lib/prism/node.rb#8723 sig { override.returns(String) } def inspect; end @@ -17086,7 +17536,7 @@ class Prism::GlobalVariableWriteNode < ::Prism::Node # # $_Test = 123 # name `:$_Test` # - # source://prism//lib/prism/node.rb#8158 + # source://prism//lib/prism/node.rb#8674 sig { returns(Symbol) } def name; end @@ -17095,13 +17545,13 @@ class Prism::GlobalVariableWriteNode < ::Prism::Node # $foo = :bar # ^^^^ # - # source://prism//lib/prism/node.rb#8164 + # source://prism//lib/prism/node.rb#8680 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#8202 + # source://prism//lib/prism/node.rb#8718 sig { returns(String) } def operator; end @@ -17110,25 +17560,25 @@ class Prism::GlobalVariableWriteNode < ::Prism::Node # $foo = :bar # ^ # - # source://prism//lib/prism/node.rb#8189 + # source://prism//lib/prism/node.rb#8705 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#8172 + # source://prism//lib/prism/node.rb#8688 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#8197 + # source://prism//lib/prism/node.rb#8713 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#8212 + # source://prism//lib/prism/node.rb#8728 sig { override.returns(Symbol) } def type; end @@ -17140,14 +17590,14 @@ class Prism::GlobalVariableWriteNode < ::Prism::Node # $-xyz = 123 # ^^^ # - # source://prism//lib/prism/node.rb#8183 + # source://prism//lib/prism/node.rb#8699 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#8217 + # source://prism//lib/prism/node.rb#8733 def type; end end end @@ -17157,13 +17607,13 @@ end # { a => b } # ^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#8236 +# source://prism//lib/prism/node.rb#8752 class Prism::HashNode < ::Prism::Node # Initialize a new HashNode node. # # @return [HashNode] a new instance of HashNode # - # source://prism//lib/prism/node.rb#8238 + # source://prism//lib/prism/node.rb#8754 sig do params( source: Prism::Source, @@ -17180,24 +17630,24 @@ class Prism::HashNode < ::Prism::Node # 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#8349 + # source://prism//lib/prism/node.rb#8872 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#8249 + # source://prism//lib/prism/node.rb#8765 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8254 + # source://prism//lib/prism/node.rb#8770 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#8328 + # source://prism//lib/prism/node.rb#8851 sig { returns(String) } def closing; end @@ -17206,25 +17656,25 @@ class Prism::HashNode < ::Prism::Node # { a => b } # ^ # - # source://prism//lib/prism/node.rb#8310 + # source://prism//lib/prism/node.rb#8833 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#8264 + # source://prism//lib/prism/node.rb#8787 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#8259 + # source://prism//lib/prism/node.rb#8782 sig { override.returns(T::Array[Prism::Node]) } 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#8269 + # source://prism//lib/prism/node.rb#8792 sig do params( node_id: Integer, @@ -17240,16 +17690,21 @@ class Prism::HashNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8274 + # source://prism//lib/prism/node.rb#8797 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, elements: Array[AssocNode | AssocSplatNode], closing_loc: Location } # - # source://prism//lib/prism/node.rb#8277 + # source://prism//lib/prism/node.rb#8800 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#8775 + def each_child_node; end + # The elements of the hash. These can be either `AssocNode`s or `AssocSplatNode`s. # # { a: b } @@ -17258,7 +17713,7 @@ class Prism::HashNode < ::Prism::Node # { **foo } # ^^^^^ # - # source://prism//lib/prism/node.rb#8304 + # source://prism//lib/prism/node.rb#8827 sig { returns(T::Array[T.any(Prism::AssocNode, Prism::AssocSplatNode)]) } def elements; end @@ -17267,13 +17722,13 @@ class Prism::HashNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#8333 + # source://prism//lib/prism/node.rb#8856 sig { override.returns(String) } def inspect; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#8323 + # source://prism//lib/prism/node.rb#8846 sig { returns(String) } def opening; end @@ -17282,32 +17737,32 @@ class Prism::HashNode < ::Prism::Node # { a => b } # ^ # - # source://prism//lib/prism/node.rb#8285 + # source://prism//lib/prism/node.rb#8808 sig { returns(Prism::Location) } def opening_loc; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#8318 + # source://prism//lib/prism/node.rb#8841 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#8293 + # source://prism//lib/prism/node.rb#8816 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#8338 + # source://prism//lib/prism/node.rb#8861 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#8343 + # source://prism//lib/prism/node.rb#8866 def type; end end end @@ -17326,13 +17781,13 @@ end # foo in { a: 1, b: 2 } # ^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#8371 +# source://prism//lib/prism/node.rb#8894 class Prism::HashPatternNode < ::Prism::Node # Initialize a new HashPatternNode node. # # @return [HashPatternNode] a new instance of HashPatternNode # - # source://prism//lib/prism/node.rb#8373 + # source://prism//lib/prism/node.rb#8896 sig do params( source: Prism::Source, @@ -17351,24 +17806,24 @@ class Prism::HashPatternNode < ::Prism::Node # 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#8526 + # source://prism//lib/prism/node.rb#9058 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#8386 + # source://prism//lib/prism/node.rb#8909 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8391 + # source://prism//lib/prism/node.rb#8914 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#8505 + # source://prism//lib/prism/node.rb#9037 sig { returns(T.nilable(String)) } def closing; end @@ -17380,19 +17835,19 @@ class Prism::HashPatternNode < ::Prism::Node # foo => Bar[a: 1] # ^ # - # source://prism//lib/prism/node.rb#8481 + # source://prism//lib/prism/node.rb#9013 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#8405 + # source://prism//lib/prism/node.rb#8937 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#8396 + # source://prism//lib/prism/node.rb#8928 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end @@ -17404,13 +17859,13 @@ class Prism::HashPatternNode < ::Prism::Node # foo => Bar::Baz[a: 1, b: 2] # ^^^^^^^^ # - # source://prism//lib/prism/node.rb#8429 + # source://prism//lib/prism/node.rb#8961 sig { returns(T.nilable(T.any(Prism::ConstantPathNode, Prism::ConstantReadNode))) } def constant; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: ConstantPathNode | ConstantReadNode | nil, ?elements: Array[AssocNode], ?rest: AssocSplatNode | NoKeywordsParameterNode | nil, ?opening_loc: Location?, ?closing_loc: Location?) -> HashPatternNode # - # source://prism//lib/prism/node.rb#8410 + # source://prism//lib/prism/node.rb#8942 sig do params( node_id: Integer, @@ -17428,22 +17883,29 @@ class Prism::HashPatternNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8415 + # source://prism//lib/prism/node.rb#8947 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, constant: ConstantPathNode | ConstantReadNode | nil, elements: Array[AssocNode], rest: AssocSplatNode | NoKeywordsParameterNode | nil, opening_loc: Location?, closing_loc: Location? } # - # source://prism//lib/prism/node.rb#8418 + # source://prism//lib/prism/node.rb#8950 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [constant] + # + # source://prism//lib/prism/node.rb#8919 + def each_child_node; end + # Represents the explicit named hash keys and values. # # foo => { a: 1, b:, ** } # ^^^^^^^^ # - # source://prism//lib/prism/node.rb#8435 + # source://prism//lib/prism/node.rb#8967 sig { returns(T::Array[Prism::AssocNode]) } def elements; end @@ -17452,13 +17914,13 @@ class Prism::HashPatternNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#8510 + # source://prism//lib/prism/node.rb#9042 sig { override.returns(String) } def inspect; end # def opening: () -> String? # - # source://prism//lib/prism/node.rb#8500 + # source://prism//lib/prism/node.rb#9032 sig { returns(T.nilable(String)) } def opening; end @@ -17470,7 +17932,7 @@ class Prism::HashPatternNode < ::Prism::Node # foo => Bar[a: 1] # ^ # - # source://prism//lib/prism/node.rb#8456 + # source://prism//lib/prism/node.rb#8988 sig { returns(T.nilable(Prism::Location)) } def opening_loc; end @@ -17485,32 +17947,32 @@ class Prism::HashPatternNode < ::Prism::Node # foo => { a: 1, b:, **nil } # ^^^^^ # - # source://prism//lib/prism/node.rb#8447 + # source://prism//lib/prism/node.rb#8979 sig { returns(T.nilable(T.any(Prism::AssocSplatNode, Prism::NoKeywordsParameterNode))) } def rest; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#8495 + # source://prism//lib/prism/node.rb#9027 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#8470 + # source://prism//lib/prism/node.rb#9002 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#8515 + # source://prism//lib/prism/node.rb#9047 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#8520 + # source://prism//lib/prism/node.rb#9052 def type; end end end @@ -17536,13 +17998,13 @@ end # foo ? bar : baz # ^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#8547 +# source://prism//lib/prism/node.rb#9079 class Prism::IfNode < ::Prism::Node # Initialize a new IfNode node. # # @return [IfNode] a new instance of IfNode # - # source://prism//lib/prism/node.rb#8549 + # source://prism//lib/prism/node.rb#9081 sig do params( source: Prism::Source, @@ -17562,30 +18024,30 @@ class Prism::IfNode < ::Prism::Node # 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#8743 + # source://prism//lib/prism/node.rb#9284 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#8563 + # source://prism//lib/prism/node.rb#9095 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8568 + # source://prism//lib/prism/node.rb#9100 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#8582 + # source://prism//lib/prism/node.rb#9123 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#8573 + # source://prism//lib/prism/node.rb#9114 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end @@ -17597,7 +18059,7 @@ class Prism::IfNode < ::Prism::Node # 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#8587 + # source://prism//lib/prism/node.rb#9128 sig do params( node_id: Integer, @@ -17616,19 +18078,26 @@ class Prism::IfNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8592 + # source://prism//lib/prism/node.rb#9133 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#8595 + # source://prism//lib/prism/node.rb#9136 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [predicate] + # + # source://prism//lib/prism/node.rb#9105 + def each_child_node; end + # def end_keyword: () -> String? # - # source://prism//lib/prism/node.rb#8722 + # source://prism//lib/prism/node.rb#9263 sig { returns(T.nilable(String)) } def end_keyword; end @@ -17639,7 +18108,7 @@ class Prism::IfNode < ::Prism::Node # end # ^^^ # - # source://prism//lib/prism/node.rb#8693 + # source://prism//lib/prism/node.rb#9234 sig { returns(T.nilable(Prism::Location)) } def end_keyword_loc; end @@ -17648,7 +18117,7 @@ class Prism::IfNode < ::Prism::Node # def if_keyword: () -> String? # - # source://prism//lib/prism/node.rb#8712 + # source://prism//lib/prism/node.rb#9253 sig { returns(T.nilable(String)) } def if_keyword; end @@ -17659,13 +18128,13 @@ class Prism::IfNode < ::Prism::Node # # The `if_keyword_loc` field will be `nil` when the `IfNode` represents a ternary expression. # - # source://prism//lib/prism/node.rb#8605 + # source://prism//lib/prism/node.rb#9146 sig { returns(T.nilable(Prism::Location)) } def if_keyword_loc; end # def inspect -> String # - # source://prism//lib/prism/node.rb#8727 + # source://prism//lib/prism/node.rb#9268 sig { override.returns(String) } def inspect; end @@ -17685,26 +18154,26 @@ class Prism::IfNode < ::Prism::Node # foo ? bar : baz # ^^^ # - # source://prism//lib/prism/node.rb#8635 + # source://prism//lib/prism/node.rb#9176 sig { returns(Prism::Node) } def predicate; end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#8707 + # source://prism//lib/prism/node.rb#9248 def save_end_keyword_loc(repository); end # Save the if_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#8619 + # source://prism//lib/prism/node.rb#9160 def save_if_keyword_loc(repository); end # Save the then_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#8658 + # source://prism//lib/prism/node.rb#9199 def save_then_keyword_loc(repository); 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. @@ -17716,7 +18185,7 @@ class Prism::IfNode < ::Prism::Node # ^^^ # end # - # source://prism//lib/prism/node.rb#8670 + # source://prism//lib/prism/node.rb#9211 sig { returns(T.nilable(Prism::StatementsNode)) } def statements; end @@ -17734,13 +18203,13 @@ class Prism::IfNode < ::Prism::Node # if foo then bar else baz end # ^^^^^^^^^^^^ # - # source://prism//lib/prism/node.rb#8685 + # source://prism//lib/prism/node.rb#9226 sig { returns(T.nilable(T.any(Prism::ElseNode, Prism::IfNode))) } def subsequent; end # def then_keyword: () -> String? # - # source://prism//lib/prism/node.rb#8717 + # source://prism//lib/prism/node.rb#9258 sig { returns(T.nilable(String)) } def then_keyword; end @@ -17752,20 +18221,20 @@ class Prism::IfNode < ::Prism::Node # a ? b : c # ^ # - # source://prism//lib/prism/node.rb#8644 + # source://prism//lib/prism/node.rb#9185 sig { returns(T.nilable(Prism::Location)) } def then_keyword_loc; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#8732 + # source://prism//lib/prism/node.rb#9273 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#8737 + # source://prism//lib/prism/node.rb#9278 def type; end end end @@ -17775,13 +18244,13 @@ end # 1.0i # ^^^^ # -# source://prism//lib/prism/node.rb#8758 +# source://prism//lib/prism/node.rb#9299 class Prism::ImaginaryNode < ::Prism::Node # Initialize a new ImaginaryNode node. # # @return [ImaginaryNode] a new instance of ImaginaryNode # - # source://prism//lib/prism/node.rb#8760 + # source://prism//lib/prism/node.rb#9301 sig do params( source: Prism::Source, @@ -17796,36 +18265,36 @@ class Prism::ImaginaryNode < ::Prism::Node # 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#8821 + # source://prism//lib/prism/node.rb#9369 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#8769 + # source://prism//lib/prism/node.rb#9310 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8774 + # source://prism//lib/prism/node.rb#9315 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#8784 + # source://prism//lib/prism/node.rb#9332 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#8779 + # source://prism//lib/prism/node.rb#9327 sig { override.returns(T::Array[Prism::Node]) } 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#8789 + # source://prism//lib/prism/node.rb#9337 sig do params( node_id: Integer, @@ -17839,34 +18308,41 @@ class Prism::ImaginaryNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8794 + # source://prism//lib/prism/node.rb#9342 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, numeric: FloatNode | IntegerNode | RationalNode } # - # source://prism//lib/prism/node.rb#8797 + # source://prism//lib/prism/node.rb#9345 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [numeric] + # + # source://prism//lib/prism/node.rb#9320 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#8805 + # source://prism//lib/prism/node.rb#9353 sig { override.returns(String) } def inspect; end # attr_reader numeric: FloatNode | IntegerNode | RationalNode # - # source://prism//lib/prism/node.rb#8802 + # source://prism//lib/prism/node.rb#9350 sig { returns(T.any(Prism::FloatNode, Prism::IntegerNode, Prism::RationalNode)) } def numeric; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#8810 + # source://prism//lib/prism/node.rb#9358 sig { override.returns(Symbol) } def type; end @@ -17879,7 +18355,7 @@ class Prism::ImaginaryNode < ::Prism::Node class << self # Return a symbol representation of this node type. See `Node::type`. # - # source://prism//lib/prism/node.rb#8815 + # source://prism//lib/prism/node.rb#9363 def type; end end end @@ -17895,13 +18371,13 @@ end # foo in { bar: } # ^^^^ # -# source://prism//lib/prism/node.rb#8837 +# source://prism//lib/prism/node.rb#9385 class Prism::ImplicitNode < ::Prism::Node # Initialize a new ImplicitNode node. # # @return [ImplicitNode] a new instance of ImplicitNode # - # source://prism//lib/prism/node.rb#8839 + # source://prism//lib/prism/node.rb#9387 sig do params( source: Prism::Source, @@ -17916,36 +18392,36 @@ class Prism::ImplicitNode < ::Prism::Node # 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#8900 + # source://prism//lib/prism/node.rb#9455 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#8848 + # source://prism//lib/prism/node.rb#9396 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8853 + # source://prism//lib/prism/node.rb#9401 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#8863 + # source://prism//lib/prism/node.rb#9418 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#8858 + # source://prism//lib/prism/node.rb#9413 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode) -> ImplicitNode # - # source://prism//lib/prism/node.rb#8868 + # source://prism//lib/prism/node.rb#9423 sig do params( node_id: Integer, @@ -17959,34 +18435,41 @@ class Prism::ImplicitNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8873 + # source://prism//lib/prism/node.rb#9428 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode } # - # source://prism//lib/prism/node.rb#8876 + # source://prism//lib/prism/node.rb#9431 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#9406 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#8884 + # source://prism//lib/prism/node.rb#9439 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#8889 + # source://prism//lib/prism/node.rb#9444 sig { override.returns(Symbol) } def type; end # attr_reader value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode # - # source://prism//lib/prism/node.rb#8881 + # source://prism//lib/prism/node.rb#9436 sig do returns(T.any(Prism::LocalVariableReadNode, Prism::CallNode, Prism::ConstantReadNode, Prism::LocalVariableTargetNode)) end @@ -17995,7 +18478,7 @@ class Prism::ImplicitNode < ::Prism::Node class << self # Return a symbol representation of this node type. See `Node::type`. # - # source://prism//lib/prism/node.rb#8894 + # source://prism//lib/prism/node.rb#9449 def type; end end end @@ -18014,84 +18497,89 @@ end # foo, = bar # ^ # -# source://prism//lib/prism/node.rb#8919 +# source://prism//lib/prism/node.rb#9474 class Prism::ImplicitRestNode < ::Prism::Node # Initialize a new ImplicitRestNode node. # # @return [ImplicitRestNode] a new instance of ImplicitRestNode # - # source://prism//lib/prism/node.rb#8921 + # source://prism//lib/prism/node.rb#9476 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#8978 + # source://prism//lib/prism/node.rb#9539 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#8929 + # source://prism//lib/prism/node.rb#9484 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8934 + # source://prism//lib/prism/node.rb#9489 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#8944 + # source://prism//lib/prism/node.rb#9505 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#8939 + # source://prism//lib/prism/node.rb#9500 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ImplicitRestNode # - # source://prism//lib/prism/node.rb#8949 + # source://prism//lib/prism/node.rb#9510 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::ImplicitRestNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#8954 + # source://prism//lib/prism/node.rb#9515 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#8957 + # source://prism//lib/prism/node.rb#9518 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#9494 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#8962 + # source://prism//lib/prism/node.rb#9523 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#8967 + # source://prism//lib/prism/node.rb#9528 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#8972 + # source://prism//lib/prism/node.rb#9533 def type; end end end @@ -18101,13 +18589,13 @@ end # case a; in b then c end # ^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#8987 +# source://prism//lib/prism/node.rb#9548 class Prism::InNode < ::Prism::Node # Initialize a new InNode node. # # @return [InNode] a new instance of InNode # - # source://prism//lib/prism/node.rb#8989 + # source://prism//lib/prism/node.rb#9550 sig do params( source: Prism::Source, @@ -18125,36 +18613,36 @@ class Prism::InNode < ::Prism::Node # 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#9101 + # source://prism//lib/prism/node.rb#9670 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#9001 + # source://prism//lib/prism/node.rb#9562 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9006 + # source://prism//lib/prism/node.rb#9567 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#9019 + # source://prism//lib/prism/node.rb#9588 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#9011 + # source://prism//lib/prism/node.rb#9580 sig { override.returns(T::Array[Prism::Node]) } 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#9024 + # source://prism//lib/prism/node.rb#9593 sig do params( node_id: Integer, @@ -18171,83 +18659,90 @@ class Prism::InNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9029 + # source://prism//lib/prism/node.rb#9598 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#9032 + # source://prism//lib/prism/node.rb#9601 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [pattern] + # + # source://prism//lib/prism/node.rb#9572 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def in: () -> String # - # source://prism//lib/prism/node.rb#9075 + # source://prism//lib/prism/node.rb#9644 sig { returns(String) } def in; end # attr_reader in_loc: Location # - # source://prism//lib/prism/node.rb#9043 + # source://prism//lib/prism/node.rb#9612 sig { returns(Prism::Location) } def in_loc; end # def inspect -> String # - # source://prism//lib/prism/node.rb#9085 + # source://prism//lib/prism/node.rb#9654 sig { override.returns(String) } def inspect; end # attr_reader pattern: Prism::node # - # source://prism//lib/prism/node.rb#9037 + # source://prism//lib/prism/node.rb#9606 sig { returns(Prism::Node) } def pattern; end # Save the in_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9051 + # source://prism//lib/prism/node.rb#9620 def save_in_loc(repository); end # Save the then_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9070 + # source://prism//lib/prism/node.rb#9639 def save_then_loc(repository); end # attr_reader statements: StatementsNode? # - # source://prism//lib/prism/node.rb#9040 + # source://prism//lib/prism/node.rb#9609 sig { returns(T.nilable(Prism::StatementsNode)) } def statements; end # def then: () -> String? # - # source://prism//lib/prism/node.rb#9080 + # source://prism//lib/prism/node.rb#9649 sig { returns(T.nilable(String)) } def then; end # attr_reader then_loc: Location? # - # source://prism//lib/prism/node.rb#9056 + # source://prism//lib/prism/node.rb#9625 sig { returns(T.nilable(Prism::Location)) } def then_loc; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#9090 + # source://prism//lib/prism/node.rb#9659 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#9095 + # source://prism//lib/prism/node.rb#9664 def type; end end end @@ -18257,13 +18752,13 @@ end # foo.bar[baz] &&= value # ^^^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#9114 +# source://prism//lib/prism/node.rb#9683 class Prism::IndexAndWriteNode < ::Prism::Node # Initialize a new IndexAndWriteNode node. # # @return [IndexAndWriteNode] a new instance of IndexAndWriteNode # - # source://prism//lib/prism/node.rb#9116 + # source://prism//lib/prism/node.rb#9685 sig do params( source: Prism::Source, @@ -18285,18 +18780,18 @@ class Prism::IndexAndWriteNode < ::Prism::Node # 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#9296 + # source://prism//lib/prism/node.rb#9875 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#9132 + # source://prism//lib/prism/node.rb#9701 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader arguments: ArgumentsNode? # - # source://prism//lib/prism/node.rb#9225 + # source://prism//lib/prism/node.rb#9804 sig { returns(T.nilable(Prism::ArgumentsNode)) } def arguments; end @@ -18304,61 +18799,61 @@ class Prism::IndexAndWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9180 + # source://prism//lib/prism/node.rb#9759 sig { returns(T::Boolean) } def attribute_write?; end # attr_reader block: BlockArgumentNode? # - # source://prism//lib/prism/node.rb#9241 + # source://prism//lib/prism/node.rb#9820 sig { returns(T.nilable(Prism::BlockArgumentNode)) } def block; end # def call_operator: () -> String? # - # source://prism//lib/prism/node.rb#9260 + # source://prism//lib/prism/node.rb#9839 sig { returns(T.nilable(String)) } def call_operator; end # attr_reader call_operator_loc: Location? # - # source://prism//lib/prism/node.rb#9193 + # source://prism//lib/prism/node.rb#9772 sig { returns(T.nilable(Prism::Location)) } def call_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9137 + # source://prism//lib/prism/node.rb#9706 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#9270 + # source://prism//lib/prism/node.rb#9849 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#9228 + # source://prism//lib/prism/node.rb#9807 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#9152 + # source://prism//lib/prism/node.rb#9731 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#9142 + # source://prism//lib/prism/node.rb#9721 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: BlockArgumentNode?, ?operator_loc: Location, ?value: Prism::node) -> IndexAndWriteNode # - # source://prism//lib/prism/node.rb#9157 + # source://prism//lib/prism/node.rb#9736 sig do params( node_id: Integer, @@ -18379,16 +18874,23 @@ class Prism::IndexAndWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9162 + # source://prism//lib/prism/node.rb#9741 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: BlockArgumentNode?, operator_loc: Location, value: Prism::node } # - # source://prism//lib/prism/node.rb#9165 + # source://prism//lib/prism/node.rb#9744 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [receiver] + # + # source://prism//lib/prism/node.rb#9711 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -18396,43 +18898,43 @@ class Prism::IndexAndWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9185 + # source://prism//lib/prism/node.rb#9764 sig { returns(T::Boolean) } def ignore_visibility?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#9280 + # source://prism//lib/prism/node.rb#9859 sig { override.returns(String) } def inspect; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#9265 + # source://prism//lib/prism/node.rb#9844 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#9212 + # source://prism//lib/prism/node.rb#9791 sig { returns(Prism::Location) } def opening_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#9275 + # source://prism//lib/prism/node.rb#9854 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#9244 + # source://prism//lib/prism/node.rb#9823 sig { returns(Prism::Location) } def operator_loc; end # attr_reader receiver: Prism::node? # - # source://prism//lib/prism/node.rb#9190 + # source://prism//lib/prism/node.rb#9769 sig { returns(T.nilable(Prism::Node)) } def receiver; end @@ -18440,43 +18942,43 @@ class Prism::IndexAndWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9170 + # source://prism//lib/prism/node.rb#9749 sig { returns(T::Boolean) } def safe_navigation?; end # Save the call_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9207 + # source://prism//lib/prism/node.rb#9786 def save_call_operator_loc(repository); end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9236 + # source://prism//lib/prism/node.rb#9815 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9220 + # source://prism//lib/prism/node.rb#9799 def save_opening_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9252 + # source://prism//lib/prism/node.rb#9831 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#9285 + # source://prism//lib/prism/node.rb#9864 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#9257 + # source://prism//lib/prism/node.rb#9836 sig { returns(Prism::Node) } def value; end @@ -18484,14 +18986,14 @@ class Prism::IndexAndWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9175 + # source://prism//lib/prism/node.rb#9754 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#9290 + # source://prism//lib/prism/node.rb#9869 def type; end end end @@ -18501,13 +19003,13 @@ end # foo.bar[baz] += value # ^^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#9314 +# source://prism//lib/prism/node.rb#9893 class Prism::IndexOperatorWriteNode < ::Prism::Node # Initialize a new IndexOperatorWriteNode node. # # @return [IndexOperatorWriteNode] a new instance of IndexOperatorWriteNode # - # source://prism//lib/prism/node.rb#9316 + # source://prism//lib/prism/node.rb#9895 sig do params( source: Prism::Source, @@ -18530,18 +19032,18 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node # 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#9495 + # source://prism//lib/prism/node.rb#10084 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#9333 + # source://prism//lib/prism/node.rb#9912 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader arguments: ArgumentsNode? # - # source://prism//lib/prism/node.rb#9426 + # source://prism//lib/prism/node.rb#10015 sig { returns(T.nilable(Prism::ArgumentsNode)) } def arguments; end @@ -18549,73 +19051,73 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9381 + # source://prism//lib/prism/node.rb#9970 sig { returns(T::Boolean) } def attribute_write?; end # attr_reader binary_operator: Symbol # - # source://prism//lib/prism/node.rb#9445 + # source://prism//lib/prism/node.rb#10034 sig { returns(Symbol) } def binary_operator; end # attr_reader binary_operator_loc: Location # - # source://prism//lib/prism/node.rb#9448 + # source://prism//lib/prism/node.rb#10037 sig { returns(Prism::Location) } def binary_operator_loc; end # attr_reader block: BlockArgumentNode? # - # source://prism//lib/prism/node.rb#9442 + # source://prism//lib/prism/node.rb#10031 sig { returns(T.nilable(Prism::BlockArgumentNode)) } def block; end # def call_operator: () -> String? # - # source://prism//lib/prism/node.rb#9464 + # source://prism//lib/prism/node.rb#10053 sig { returns(T.nilable(String)) } def call_operator; end # attr_reader call_operator_loc: Location? # - # source://prism//lib/prism/node.rb#9394 + # source://prism//lib/prism/node.rb#9983 sig { returns(T.nilable(Prism::Location)) } def call_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9338 + # source://prism//lib/prism/node.rb#9917 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#9474 + # source://prism//lib/prism/node.rb#10063 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#9429 + # source://prism//lib/prism/node.rb#10018 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#9353 + # source://prism//lib/prism/node.rb#9942 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#9343 + # source://prism//lib/prism/node.rb#9932 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: BlockArgumentNode?, ?binary_operator: Symbol, ?binary_operator_loc: Location, ?value: Prism::node) -> IndexOperatorWriteNode # - # source://prism//lib/prism/node.rb#9358 + # source://prism//lib/prism/node.rb#9947 sig do params( node_id: Integer, @@ -18637,16 +19139,23 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9363 + # source://prism//lib/prism/node.rb#9952 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: BlockArgumentNode?, binary_operator: Symbol, binary_operator_loc: Location, value: Prism::node } # - # source://prism//lib/prism/node.rb#9366 + # source://prism//lib/prism/node.rb#9955 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [receiver] + # + # source://prism//lib/prism/node.rb#9922 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -18654,25 +19163,25 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9386 + # source://prism//lib/prism/node.rb#9975 sig { returns(T::Boolean) } def ignore_visibility?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#9479 + # source://prism//lib/prism/node.rb#10068 sig { override.returns(String) } def inspect; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#9469 + # source://prism//lib/prism/node.rb#10058 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#9413 + # source://prism//lib/prism/node.rb#10002 sig { returns(Prism::Location) } def opening_loc; end @@ -18690,7 +19199,7 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node # attr_reader receiver: Prism::node? # - # source://prism//lib/prism/node.rb#9391 + # source://prism//lib/prism/node.rb#9980 sig { returns(T.nilable(Prism::Node)) } def receiver; end @@ -18698,43 +19207,43 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9371 + # source://prism//lib/prism/node.rb#9960 sig { returns(T::Boolean) } def safe_navigation?; end # Save the binary_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9456 + # source://prism//lib/prism/node.rb#10045 def save_binary_operator_loc(repository); end # Save the call_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9408 + # source://prism//lib/prism/node.rb#9997 def save_call_operator_loc(repository); end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9437 + # source://prism//lib/prism/node.rb#10026 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9421 + # source://prism//lib/prism/node.rb#10010 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#9484 + # source://prism//lib/prism/node.rb#10073 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#9461 + # source://prism//lib/prism/node.rb#10050 sig { returns(Prism::Node) } def value; end @@ -18742,14 +19251,14 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9376 + # source://prism//lib/prism/node.rb#9965 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#9489 + # source://prism//lib/prism/node.rb#10078 def type; end end end @@ -18759,13 +19268,13 @@ end # foo.bar[baz] ||= value # ^^^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#9514 +# source://prism//lib/prism/node.rb#10103 class Prism::IndexOrWriteNode < ::Prism::Node # Initialize a new IndexOrWriteNode node. # # @return [IndexOrWriteNode] a new instance of IndexOrWriteNode # - # source://prism//lib/prism/node.rb#9516 + # source://prism//lib/prism/node.rb#10105 sig do params( source: Prism::Source, @@ -18787,18 +19296,18 @@ class Prism::IndexOrWriteNode < ::Prism::Node # 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#9696 + # source://prism//lib/prism/node.rb#10295 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#9532 + # source://prism//lib/prism/node.rb#10121 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader arguments: ArgumentsNode? # - # source://prism//lib/prism/node.rb#9625 + # source://prism//lib/prism/node.rb#10224 sig { returns(T.nilable(Prism::ArgumentsNode)) } def arguments; end @@ -18806,61 +19315,61 @@ class Prism::IndexOrWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9580 + # source://prism//lib/prism/node.rb#10179 sig { returns(T::Boolean) } def attribute_write?; end # attr_reader block: BlockArgumentNode? # - # source://prism//lib/prism/node.rb#9641 + # source://prism//lib/prism/node.rb#10240 sig { returns(T.nilable(Prism::BlockArgumentNode)) } def block; end # def call_operator: () -> String? # - # source://prism//lib/prism/node.rb#9660 + # source://prism//lib/prism/node.rb#10259 sig { returns(T.nilable(String)) } def call_operator; end # attr_reader call_operator_loc: Location? # - # source://prism//lib/prism/node.rb#9593 + # source://prism//lib/prism/node.rb#10192 sig { returns(T.nilable(Prism::Location)) } def call_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9537 + # source://prism//lib/prism/node.rb#10126 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#9670 + # source://prism//lib/prism/node.rb#10269 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#9628 + # source://prism//lib/prism/node.rb#10227 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#9552 + # source://prism//lib/prism/node.rb#10151 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#9542 + # source://prism//lib/prism/node.rb#10141 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: BlockArgumentNode?, ?operator_loc: Location, ?value: Prism::node) -> IndexOrWriteNode # - # source://prism//lib/prism/node.rb#9557 + # source://prism//lib/prism/node.rb#10156 sig do params( node_id: Integer, @@ -18881,16 +19390,23 @@ class Prism::IndexOrWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9562 + # source://prism//lib/prism/node.rb#10161 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: BlockArgumentNode?, operator_loc: Location, value: Prism::node } # - # source://prism//lib/prism/node.rb#9565 + # source://prism//lib/prism/node.rb#10164 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [receiver] + # + # source://prism//lib/prism/node.rb#10131 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -18898,43 +19414,43 @@ class Prism::IndexOrWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9585 + # source://prism//lib/prism/node.rb#10184 sig { returns(T::Boolean) } def ignore_visibility?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#9680 + # source://prism//lib/prism/node.rb#10279 sig { override.returns(String) } def inspect; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#9665 + # source://prism//lib/prism/node.rb#10264 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#9612 + # source://prism//lib/prism/node.rb#10211 sig { returns(Prism::Location) } def opening_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#9675 + # source://prism//lib/prism/node.rb#10274 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#9644 + # source://prism//lib/prism/node.rb#10243 sig { returns(Prism::Location) } def operator_loc; end # attr_reader receiver: Prism::node? # - # source://prism//lib/prism/node.rb#9590 + # source://prism//lib/prism/node.rb#10189 sig { returns(T.nilable(Prism::Node)) } def receiver; end @@ -18942,43 +19458,43 @@ class Prism::IndexOrWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9570 + # source://prism//lib/prism/node.rb#10169 sig { returns(T::Boolean) } def safe_navigation?; end # Save the call_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9607 + # source://prism//lib/prism/node.rb#10206 def save_call_operator_loc(repository); end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9636 + # source://prism//lib/prism/node.rb#10235 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9620 + # source://prism//lib/prism/node.rb#10219 def save_opening_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9652 + # source://prism//lib/prism/node.rb#10251 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#9685 + # source://prism//lib/prism/node.rb#10284 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#9657 + # source://prism//lib/prism/node.rb#10256 sig { returns(Prism::Node) } def value; end @@ -18986,14 +19502,14 @@ class Prism::IndexOrWriteNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9575 + # source://prism//lib/prism/node.rb#10174 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#9690 + # source://prism//lib/prism/node.rb#10289 def type; end end end @@ -19011,13 +19527,13 @@ end # for foo[bar] in baz do end # ^^^^^^^^ # -# source://prism//lib/prism/node.rb#9722 +# source://prism//lib/prism/node.rb#10321 class Prism::IndexTargetNode < ::Prism::Node # Initialize a new IndexTargetNode node. # # @return [IndexTargetNode] a new instance of IndexTargetNode # - # source://prism//lib/prism/node.rb#9724 + # source://prism//lib/prism/node.rb#10323 sig do params( source: Prism::Source, @@ -19036,18 +19552,18 @@ class Prism::IndexTargetNode < ::Prism::Node # 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#9855 + # source://prism//lib/prism/node.rb#10463 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#9737 + # source://prism//lib/prism/node.rb#10336 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader arguments: ArgumentsNode? # - # source://prism//lib/prism/node.rb#9810 + # source://prism//lib/prism/node.rb#10418 sig { returns(T.nilable(Prism::ArgumentsNode)) } def arguments; end @@ -19055,49 +19571,49 @@ class Prism::IndexTargetNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9784 + # source://prism//lib/prism/node.rb#10392 sig { returns(T::Boolean) } def attribute_write?; end # attr_reader block: BlockArgumentNode? # - # source://prism//lib/prism/node.rb#9826 + # source://prism//lib/prism/node.rb#10434 sig { returns(T.nilable(Prism::BlockArgumentNode)) } def block; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9742 + # source://prism//lib/prism/node.rb#10341 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#9834 + # source://prism//lib/prism/node.rb#10442 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#9813 + # source://prism//lib/prism/node.rb#10421 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#9756 + # source://prism//lib/prism/node.rb#10364 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#9747 + # source://prism//lib/prism/node.rb#10355 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: BlockArgumentNode?) -> IndexTargetNode # - # source://prism//lib/prism/node.rb#9761 + # source://prism//lib/prism/node.rb#10369 sig do params( node_id: Integer, @@ -19115,16 +19631,23 @@ class Prism::IndexTargetNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9766 + # source://prism//lib/prism/node.rb#10374 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: BlockArgumentNode? } # - # source://prism//lib/prism/node.rb#9769 + # source://prism//lib/prism/node.rb#10377 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [receiver] + # + # source://prism//lib/prism/node.rb#10346 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -19132,31 +19655,31 @@ class Prism::IndexTargetNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9789 + # source://prism//lib/prism/node.rb#10397 sig { returns(T::Boolean) } def ignore_visibility?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#9839 + # source://prism//lib/prism/node.rb#10447 sig { override.returns(String) } def inspect; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#9829 + # source://prism//lib/prism/node.rb#10437 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#9797 + # source://prism//lib/prism/node.rb#10405 sig { returns(Prism::Location) } def opening_loc; end # attr_reader receiver: Prism::node # - # source://prism//lib/prism/node.rb#9794 + # source://prism//lib/prism/node.rb#10402 sig { returns(Prism::Node) } def receiver; end @@ -19164,25 +19687,25 @@ class Prism::IndexTargetNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9774 + # source://prism//lib/prism/node.rb#10382 sig { returns(T::Boolean) } def safe_navigation?; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9821 + # source://prism//lib/prism/node.rb#10429 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9805 + # source://prism//lib/prism/node.rb#10413 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#9844 + # source://prism//lib/prism/node.rb#10452 sig { override.returns(Symbol) } def type; end @@ -19190,14 +19713,14 @@ class Prism::IndexTargetNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#9779 + # source://prism//lib/prism/node.rb#10387 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#9849 + # source://prism//lib/prism/node.rb#10457 def type; end end end @@ -19205,11 +19728,11 @@ 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#547 +# source://prism//lib/prism/parse_result.rb#534 class Prism::InlineComment < ::Prism::Comment # Returns a string representation of this comment. # - # source://prism//lib/prism/parse_result.rb#555 + # source://prism//lib/prism/parse_result.rb#542 sig { returns(String) } def inspect; end @@ -19218,7 +19741,7 @@ class Prism::InlineComment < ::Prism::Comment # # @return [Boolean] # - # source://prism//lib/prism/parse_result.rb#550 + # source://prism//lib/prism/parse_result.rb#537 sig { override.returns(T::Boolean) } def trailing?; end end @@ -19350,674 +19873,674 @@ class Prism::InspectVisitor < ::Prism::Visitor # Inspect a CallOperatorWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#414 + # source://prism//lib/prism/inspect_visitor.rb#415 def visit_call_operator_write_node(node); end # Inspect a CallOrWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#435 + # source://prism//lib/prism/inspect_visitor.rb#436 def visit_call_or_write_node(node); end # Inspect a CallTargetNode node. # - # source://prism//lib/prism/inspect_visitor.rb#455 + # source://prism//lib/prism/inspect_visitor.rb#456 def visit_call_target_node(node); end # Inspect a CapturePatternNode node. # - # source://prism//lib/prism/inspect_visitor.rb#467 + # source://prism//lib/prism/inspect_visitor.rb#468 def visit_capture_pattern_node(node); end # Inspect a CaseMatchNode node. # - # source://prism//lib/prism/inspect_visitor.rb#479 + # source://prism//lib/prism/inspect_visitor.rb#480 def visit_case_match_node(node); end # Inspect a CaseNode node. # - # source://prism//lib/prism/inspect_visitor.rb#509 + # source://prism//lib/prism/inspect_visitor.rb#510 def visit_case_node(node); end # Inspect a ClassNode node. # - # source://prism//lib/prism/inspect_visitor.rb#539 + # source://prism//lib/prism/inspect_visitor.rb#540 def visit_class_node(node); end # Inspect a ClassVariableAndWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#565 + # source://prism//lib/prism/inspect_visitor.rb#566 def visit_class_variable_and_write_node(node); end # Inspect a ClassVariableOperatorWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#577 + # source://prism//lib/prism/inspect_visitor.rb#578 def visit_class_variable_operator_write_node(node); end # Inspect a ClassVariableOrWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#590 + # source://prism//lib/prism/inspect_visitor.rb#591 def visit_class_variable_or_write_node(node); end # Inspect a ClassVariableReadNode node. # - # source://prism//lib/prism/inspect_visitor.rb#602 + # source://prism//lib/prism/inspect_visitor.rb#603 def visit_class_variable_read_node(node); end # Inspect a ClassVariableTargetNode node. # - # source://prism//lib/prism/inspect_visitor.rb#610 + # source://prism//lib/prism/inspect_visitor.rb#611 def visit_class_variable_target_node(node); end # Inspect a ClassVariableWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#618 + # source://prism//lib/prism/inspect_visitor.rb#619 def visit_class_variable_write_node(node); end # Inspect a ConstantAndWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#630 + # source://prism//lib/prism/inspect_visitor.rb#631 def visit_constant_and_write_node(node); end # Inspect a ConstantOperatorWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#642 + # source://prism//lib/prism/inspect_visitor.rb#643 def visit_constant_operator_write_node(node); end # Inspect a ConstantOrWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#655 + # source://prism//lib/prism/inspect_visitor.rb#656 def visit_constant_or_write_node(node); end # Inspect a ConstantPathAndWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#667 + # source://prism//lib/prism/inspect_visitor.rb#668 def visit_constant_path_and_write_node(node); end # Inspect a ConstantPathNode node. # - # source://prism//lib/prism/inspect_visitor.rb#679 + # source://prism//lib/prism/inspect_visitor.rb#680 def visit_constant_path_node(node); end # Inspect a ConstantPathOperatorWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#699 + # source://prism//lib/prism/inspect_visitor.rb#700 def visit_constant_path_operator_write_node(node); end # Inspect a ConstantPathOrWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#712 + # source://prism//lib/prism/inspect_visitor.rb#713 def visit_constant_path_or_write_node(node); end # Inspect a ConstantPathTargetNode node. # - # source://prism//lib/prism/inspect_visitor.rb#724 + # source://prism//lib/prism/inspect_visitor.rb#725 def visit_constant_path_target_node(node); end # Inspect a ConstantPathWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#744 + # source://prism//lib/prism/inspect_visitor.rb#745 def visit_constant_path_write_node(node); end # Inspect a ConstantReadNode node. # - # source://prism//lib/prism/inspect_visitor.rb#756 + # source://prism//lib/prism/inspect_visitor.rb#757 def visit_constant_read_node(node); end # Inspect a ConstantTargetNode node. # - # source://prism//lib/prism/inspect_visitor.rb#764 + # source://prism//lib/prism/inspect_visitor.rb#765 def visit_constant_target_node(node); end # Inspect a ConstantWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#772 + # source://prism//lib/prism/inspect_visitor.rb#773 def visit_constant_write_node(node); end # Inspect a DefNode node. # - # source://prism//lib/prism/inspect_visitor.rb#784 + # source://prism//lib/prism/inspect_visitor.rb#785 def visit_def_node(node); end # Inspect a DefinedNode node. # - # source://prism//lib/prism/inspect_visitor.rb#818 + # source://prism//lib/prism/inspect_visitor.rb#819 def visit_defined_node(node); end # Inspect a ElseNode node. # - # source://prism//lib/prism/inspect_visitor.rb#830 + # source://prism//lib/prism/inspect_visitor.rb#831 def visit_else_node(node); end # Inspect a EmbeddedStatementsNode node. # - # source://prism//lib/prism/inspect_visitor.rb#845 + # source://prism//lib/prism/inspect_visitor.rb#846 def visit_embedded_statements_node(node); end # Inspect a EmbeddedVariableNode node. # - # source://prism//lib/prism/inspect_visitor.rb#860 + # source://prism//lib/prism/inspect_visitor.rb#861 def visit_embedded_variable_node(node); end # Inspect a EnsureNode node. # - # source://prism//lib/prism/inspect_visitor.rb#870 + # source://prism//lib/prism/inspect_visitor.rb#871 def visit_ensure_node(node); end # Inspect a FalseNode node. # - # source://prism//lib/prism/inspect_visitor.rb#885 + # source://prism//lib/prism/inspect_visitor.rb#886 def visit_false_node(node); end # Inspect a FindPatternNode node. # - # source://prism//lib/prism/inspect_visitor.rb#892 + # source://prism//lib/prism/inspect_visitor.rb#893 def visit_find_pattern_node(node); end # Inspect a FlipFlopNode node. # - # source://prism//lib/prism/inspect_visitor.rb#920 + # source://prism//lib/prism/inspect_visitor.rb#921 def visit_flip_flop_node(node); end # Inspect a FloatNode node. # - # source://prism//lib/prism/inspect_visitor.rb#940 + # source://prism//lib/prism/inspect_visitor.rb#941 def visit_float_node(node); end # Inspect a ForNode node. # - # source://prism//lib/prism/inspect_visitor.rb#948 + # source://prism//lib/prism/inspect_visitor.rb#949 def visit_for_node(node); end # Inspect a ForwardingArgumentsNode node. # - # source://prism//lib/prism/inspect_visitor.rb#969 + # source://prism//lib/prism/inspect_visitor.rb#970 def visit_forwarding_arguments_node(node); end # Inspect a ForwardingParameterNode node. # - # source://prism//lib/prism/inspect_visitor.rb#976 + # source://prism//lib/prism/inspect_visitor.rb#977 def visit_forwarding_parameter_node(node); end # Inspect a ForwardingSuperNode node. # - # source://prism//lib/prism/inspect_visitor.rb#983 + # source://prism//lib/prism/inspect_visitor.rb#984 def visit_forwarding_super_node(node); end # Inspect a GlobalVariableAndWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#996 + # source://prism//lib/prism/inspect_visitor.rb#997 def visit_global_variable_and_write_node(node); end # Inspect a GlobalVariableOperatorWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1008 + # source://prism//lib/prism/inspect_visitor.rb#1009 def visit_global_variable_operator_write_node(node); end # Inspect a GlobalVariableOrWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1021 + # source://prism//lib/prism/inspect_visitor.rb#1022 def visit_global_variable_or_write_node(node); end # Inspect a GlobalVariableReadNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1033 + # source://prism//lib/prism/inspect_visitor.rb#1034 def visit_global_variable_read_node(node); end # Inspect a GlobalVariableTargetNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1041 + # source://prism//lib/prism/inspect_visitor.rb#1042 def visit_global_variable_target_node(node); end # Inspect a GlobalVariableWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1049 + # source://prism//lib/prism/inspect_visitor.rb#1050 def visit_global_variable_write_node(node); end # Inspect a HashNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1061 + # source://prism//lib/prism/inspect_visitor.rb#1062 def visit_hash_node(node); end # Inspect a HashPatternNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1079 + # source://prism//lib/prism/inspect_visitor.rb#1080 def visit_hash_pattern_node(node); end # Inspect a IfNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1109 + # source://prism//lib/prism/inspect_visitor.rb#1110 def visit_if_node(node); end # Inspect a ImaginaryNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1133 + # source://prism//lib/prism/inspect_visitor.rb#1134 def visit_imaginary_node(node); end # Inspect a ImplicitNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1142 + # source://prism//lib/prism/inspect_visitor.rb#1143 def visit_implicit_node(node); end # Inspect a ImplicitRestNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1151 + # source://prism//lib/prism/inspect_visitor.rb#1152 def visit_implicit_rest_node(node); end # Inspect a InNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1158 + # source://prism//lib/prism/inspect_visitor.rb#1159 def visit_in_node(node); end # Inspect a IndexAndWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1175 + # source://prism//lib/prism/inspect_visitor.rb#1176 def visit_index_and_write_node(node); end # Inspect a IndexOperatorWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1206 + # source://prism//lib/prism/inspect_visitor.rb#1207 def visit_index_operator_write_node(node); end # Inspect a IndexOrWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1238 + # source://prism//lib/prism/inspect_visitor.rb#1239 def visit_index_or_write_node(node); end # Inspect a IndexTargetNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1269 + # source://prism//lib/prism/inspect_visitor.rb#1270 def visit_index_target_node(node); end # Inspect a InstanceVariableAndWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1292 + # source://prism//lib/prism/inspect_visitor.rb#1293 def visit_instance_variable_and_write_node(node); end # Inspect a InstanceVariableOperatorWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1304 + # source://prism//lib/prism/inspect_visitor.rb#1305 def visit_instance_variable_operator_write_node(node); end # Inspect a InstanceVariableOrWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1317 + # source://prism//lib/prism/inspect_visitor.rb#1318 def visit_instance_variable_or_write_node(node); end # Inspect a InstanceVariableReadNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1329 + # source://prism//lib/prism/inspect_visitor.rb#1330 def visit_instance_variable_read_node(node); end # Inspect a InstanceVariableTargetNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1337 + # source://prism//lib/prism/inspect_visitor.rb#1338 def visit_instance_variable_target_node(node); end # Inspect a InstanceVariableWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1345 + # source://prism//lib/prism/inspect_visitor.rb#1346 def visit_instance_variable_write_node(node); end # Inspect a IntegerNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1357 + # source://prism//lib/prism/inspect_visitor.rb#1358 def visit_integer_node(node); end # Inspect a InterpolatedMatchLastLineNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1365 + # source://prism//lib/prism/inspect_visitor.rb#1366 def visit_interpolated_match_last_line_node(node); end # Inspect a InterpolatedRegularExpressionNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1383 + # source://prism//lib/prism/inspect_visitor.rb#1384 def visit_interpolated_regular_expression_node(node); end # Inspect a InterpolatedStringNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1401 + # source://prism//lib/prism/inspect_visitor.rb#1402 def visit_interpolated_string_node(node); end # Inspect a InterpolatedSymbolNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1419 + # source://prism//lib/prism/inspect_visitor.rb#1420 def visit_interpolated_symbol_node(node); end # Inspect a InterpolatedXStringNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1437 + # source://prism//lib/prism/inspect_visitor.rb#1438 def visit_interpolated_x_string_node(node); end # Inspect a ItLocalVariableReadNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1455 + # source://prism//lib/prism/inspect_visitor.rb#1456 def visit_it_local_variable_read_node(node); end # Inspect a ItParametersNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1462 + # source://prism//lib/prism/inspect_visitor.rb#1463 def visit_it_parameters_node(node); end # Inspect a KeywordHashNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1469 + # source://prism//lib/prism/inspect_visitor.rb#1470 def visit_keyword_hash_node(node); end # Inspect a KeywordRestParameterNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1485 + # source://prism//lib/prism/inspect_visitor.rb#1486 def visit_keyword_rest_parameter_node(node); end # Inspect a LambdaNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1499 + # source://prism//lib/prism/inspect_visitor.rb#1500 def visit_lambda_node(node); end # Inspect a LocalVariableAndWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1522 + # source://prism//lib/prism/inspect_visitor.rb#1523 def visit_local_variable_and_write_node(node); end # Inspect a LocalVariableOperatorWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1535 + # source://prism//lib/prism/inspect_visitor.rb#1536 def visit_local_variable_operator_write_node(node); end # Inspect a LocalVariableOrWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1549 + # source://prism//lib/prism/inspect_visitor.rb#1550 def visit_local_variable_or_write_node(node); end # Inspect a LocalVariableReadNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1562 + # source://prism//lib/prism/inspect_visitor.rb#1563 def visit_local_variable_read_node(node); end # Inspect a LocalVariableTargetNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1571 + # source://prism//lib/prism/inspect_visitor.rb#1572 def visit_local_variable_target_node(node); end # Inspect a LocalVariableWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1580 + # source://prism//lib/prism/inspect_visitor.rb#1581 def visit_local_variable_write_node(node); end # Inspect a MatchLastLineNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1593 + # source://prism//lib/prism/inspect_visitor.rb#1594 def visit_match_last_line_node(node); end # Inspect a MatchPredicateNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1604 + # source://prism//lib/prism/inspect_visitor.rb#1605 def visit_match_predicate_node(node); end # Inspect a MatchRequiredNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1616 + # source://prism//lib/prism/inspect_visitor.rb#1617 def visit_match_required_node(node); end # Inspect a MatchWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1628 + # source://prism//lib/prism/inspect_visitor.rb#1629 def visit_match_write_node(node); end # Inspect a MissingNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1646 + # source://prism//lib/prism/inspect_visitor.rb#1647 def visit_missing_node(node); end # Inspect a ModuleNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1653 + # source://prism//lib/prism/inspect_visitor.rb#1654 def visit_module_node(node); end # Inspect a MultiTargetNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1672 + # source://prism//lib/prism/inspect_visitor.rb#1673 def visit_multi_target_node(node); end # Inspect a MultiWriteNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1705 + # source://prism//lib/prism/inspect_visitor.rb#1706 def visit_multi_write_node(node); end # Inspect a NextNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1741 + # source://prism//lib/prism/inspect_visitor.rb#1742 def visit_next_node(node); end # Inspect a NilNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1755 + # source://prism//lib/prism/inspect_visitor.rb#1756 def visit_nil_node(node); end # Inspect a NoKeywordsParameterNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1762 + # source://prism//lib/prism/inspect_visitor.rb#1763 def visit_no_keywords_parameter_node(node); end # Inspect a NumberedParametersNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1771 + # source://prism//lib/prism/inspect_visitor.rb#1772 def visit_numbered_parameters_node(node); end # Inspect a NumberedReferenceReadNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1779 + # source://prism//lib/prism/inspect_visitor.rb#1780 def visit_numbered_reference_read_node(node); end # Inspect a OptionalKeywordParameterNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1787 + # source://prism//lib/prism/inspect_visitor.rb#1788 def visit_optional_keyword_parameter_node(node); end # Inspect a OptionalParameterNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1798 + # source://prism//lib/prism/inspect_visitor.rb#1799 def visit_optional_parameter_node(node); end # Inspect a OrNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1810 + # source://prism//lib/prism/inspect_visitor.rb#1811 def visit_or_node(node); end # Inspect a ParametersNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1822 + # source://prism//lib/prism/inspect_visitor.rb#1823 def visit_parameters_node(node); end # Inspect a ParenthesesNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1883 + # source://prism//lib/prism/inspect_visitor.rb#1884 def visit_parentheses_node(node); end # Inspect a PinnedExpressionNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1898 + # source://prism//lib/prism/inspect_visitor.rb#1899 def visit_pinned_expression_node(node); end # Inspect a PinnedVariableNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1910 + # source://prism//lib/prism/inspect_visitor.rb#1911 def visit_pinned_variable_node(node); end # Inspect a PostExecutionNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1920 + # source://prism//lib/prism/inspect_visitor.rb#1921 def visit_post_execution_node(node); end # Inspect a PreExecutionNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1936 + # source://prism//lib/prism/inspect_visitor.rb#1937 def visit_pre_execution_node(node); end # Inspect a ProgramNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1952 + # source://prism//lib/prism/inspect_visitor.rb#1953 def visit_program_node(node); end # Inspect a RangeNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1962 + # source://prism//lib/prism/inspect_visitor.rb#1963 def visit_range_node(node); end # Inspect a RationalNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1982 + # source://prism//lib/prism/inspect_visitor.rb#1983 def visit_rational_node(node); end # Inspect a RedoNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1991 + # source://prism//lib/prism/inspect_visitor.rb#1992 def visit_redo_node(node); end # Inspect a RegularExpressionNode node. # - # source://prism//lib/prism/inspect_visitor.rb#1998 + # source://prism//lib/prism/inspect_visitor.rb#1999 def visit_regular_expression_node(node); end # Inspect a RequiredKeywordParameterNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2009 + # source://prism//lib/prism/inspect_visitor.rb#2010 def visit_required_keyword_parameter_node(node); end # Inspect a RequiredParameterNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2018 + # source://prism//lib/prism/inspect_visitor.rb#2019 def visit_required_parameter_node(node); end # Inspect a RescueModifierNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2026 + # source://prism//lib/prism/inspect_visitor.rb#2027 def visit_rescue_modifier_node(node); end # Inspect a RescueNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2038 + # source://prism//lib/prism/inspect_visitor.rb#2039 def visit_rescue_node(node); end # Inspect a RestParameterNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2075 + # source://prism//lib/prism/inspect_visitor.rb#2076 def visit_rest_parameter_node(node); end # Inspect a RetryNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2089 + # source://prism//lib/prism/inspect_visitor.rb#2090 def visit_retry_node(node); end # Inspect a ReturnNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2096 + # source://prism//lib/prism/inspect_visitor.rb#2097 def visit_return_node(node); end # Inspect a SelfNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2110 + # source://prism//lib/prism/inspect_visitor.rb#2111 def visit_self_node(node); end # Inspect a ShareableConstantNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2117 + # source://prism//lib/prism/inspect_visitor.rb#2118 def visit_shareable_constant_node(node); end # Inspect a SingletonClassNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2126 + # source://prism//lib/prism/inspect_visitor.rb#2127 def visit_singleton_class_node(node); end # Inspect a SourceEncodingNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2145 + # source://prism//lib/prism/inspect_visitor.rb#2146 def visit_source_encoding_node(node); end # Inspect a SourceFileNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2152 + # source://prism//lib/prism/inspect_visitor.rb#2153 def visit_source_file_node(node); end # Inspect a SourceLineNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2160 + # source://prism//lib/prism/inspect_visitor.rb#2161 def visit_source_line_node(node); end # Inspect a SplatNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2167 + # source://prism//lib/prism/inspect_visitor.rb#2168 def visit_splat_node(node); end # Inspect a StatementsNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2181 + # source://prism//lib/prism/inspect_visitor.rb#2182 def visit_statements_node(node); end # Inspect a StringNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2197 + # source://prism//lib/prism/inspect_visitor.rb#2198 def visit_string_node(node); end # Inspect a SuperNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2208 + # source://prism//lib/prism/inspect_visitor.rb#2209 def visit_super_node(node); end # Inspect a SymbolNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2230 + # source://prism//lib/prism/inspect_visitor.rb#2231 def visit_symbol_node(node); end # Inspect a TrueNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2241 + # source://prism//lib/prism/inspect_visitor.rb#2242 def visit_true_node(node); end # Inspect a UndefNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2248 + # source://prism//lib/prism/inspect_visitor.rb#2249 def visit_undef_node(node); end # Inspect a UnlessNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2265 + # source://prism//lib/prism/inspect_visitor.rb#2266 def visit_unless_node(node); end # Inspect a UntilNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2289 + # source://prism//lib/prism/inspect_visitor.rb#2290 def visit_until_node(node); end # Inspect a WhenNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2307 + # source://prism//lib/prism/inspect_visitor.rb#2308 def visit_when_node(node); end # Inspect a WhileNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2331 + # source://prism//lib/prism/inspect_visitor.rb#2332 def visit_while_node(node); end # Inspect a XStringNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2349 + # source://prism//lib/prism/inspect_visitor.rb#2350 def visit_x_string_node(node); end # Inspect a YieldNode node. # - # source://prism//lib/prism/inspect_visitor.rb#2360 + # source://prism//lib/prism/inspect_visitor.rb#2361 def visit_yield_node(node); end private # Compose a string representing the given inner location field. # - # source://prism//lib/prism/inspect_visitor.rb#2384 + # source://prism//lib/prism/inspect_visitor.rb#2385 def inspect_location(location); end # Compose a header for the given node. # - # source://prism//lib/prism/inspect_visitor.rb#2378 + # source://prism//lib/prism/inspect_visitor.rb#2379 def inspect_node(name, node); end class << self @@ -20050,13 +20573,13 @@ end # @target &&= value # ^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#9870 +# source://prism//lib/prism/node.rb#10478 class Prism::InstanceVariableAndWriteNode < ::Prism::Node # Initialize a new InstanceVariableAndWriteNode node. # # @return [InstanceVariableAndWriteNode] a new instance of InstanceVariableAndWriteNode # - # source://prism//lib/prism/node.rb#9872 + # source://prism//lib/prism/node.rb#10480 sig do params( source: Prism::Source, @@ -20074,36 +20597,36 @@ class Prism::InstanceVariableAndWriteNode < ::Prism::Node # 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#9970 + # source://prism//lib/prism/node.rb#10585 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#9884 + # source://prism//lib/prism/node.rb#10492 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9889 + # source://prism//lib/prism/node.rb#10497 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#9899 + # source://prism//lib/prism/node.rb#10514 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#9894 + # source://prism//lib/prism/node.rb#10509 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) -> InstanceVariableAndWriteNode # - # source://prism//lib/prism/node.rb#9904 + # source://prism//lib/prism/node.rb#10519 sig do params( node_id: Integer, @@ -20120,80 +20643,87 @@ class Prism::InstanceVariableAndWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#9909 + # source://prism//lib/prism/node.rb#10524 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#9912 + # source://prism//lib/prism/node.rb#10527 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # source://prism//lib/prism/desugar_compiler.rb#219 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#10502 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#9954 + # source://prism//lib/prism/node.rb#10569 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#9917 + # source://prism//lib/prism/node.rb#10532 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#9920 + # source://prism//lib/prism/node.rb#10535 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#9949 + # source://prism//lib/prism/node.rb#10564 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#9933 + # source://prism//lib/prism/node.rb#10548 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9928 + # source://prism//lib/prism/node.rb#10543 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#9941 + # source://prism//lib/prism/node.rb#10556 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#9959 + # source://prism//lib/prism/node.rb#10574 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#9946 + # source://prism//lib/prism/node.rb#10561 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#9964 + # source://prism//lib/prism/node.rb#10579 def type; end end end @@ -20203,13 +20733,13 @@ end # @target += value # ^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#9983 +# source://prism//lib/prism/node.rb#10598 class Prism::InstanceVariableOperatorWriteNode < ::Prism::Node # Initialize a new InstanceVariableOperatorWriteNode node. # # @return [InstanceVariableOperatorWriteNode] a new instance of InstanceVariableOperatorWriteNode # - # source://prism//lib/prism/node.rb#9985 + # source://prism//lib/prism/node.rb#10600 sig do params( source: Prism::Source, @@ -20228,48 +20758,48 @@ class Prism::InstanceVariableOperatorWriteNode < ::Prism::Node # 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#10082 + # source://prism//lib/prism/node.rb#10704 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#9998 + # source://prism//lib/prism/node.rb#10613 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader binary_operator: Symbol # - # source://prism//lib/prism/node.rb#10063 + # source://prism//lib/prism/node.rb#10685 sig { returns(Symbol) } def binary_operator; end # attr_reader binary_operator_loc: Location # - # source://prism//lib/prism/node.rb#10047 + # source://prism//lib/prism/node.rb#10669 sig { returns(Prism::Location) } def binary_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10003 + # source://prism//lib/prism/node.rb#10618 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#10013 + # source://prism//lib/prism/node.rb#10635 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#10008 + # source://prism//lib/prism/node.rb#10630 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, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> InstanceVariableOperatorWriteNode # - # source://prism//lib/prism/node.rb#10018 + # source://prism//lib/prism/node.rb#10640 sig do params( node_id: Integer, @@ -20287,37 +20817,44 @@ class Prism::InstanceVariableOperatorWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10023 + # source://prism//lib/prism/node.rb#10645 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, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol } # - # source://prism//lib/prism/node.rb#10026 + # source://prism//lib/prism/node.rb#10648 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # source://prism//lib/prism/desugar_compiler.rb#231 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#10623 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#10066 + # source://prism//lib/prism/node.rb#10688 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#10031 + # source://prism//lib/prism/node.rb#10653 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#10034 + # source://prism//lib/prism/node.rb#10656 sig { returns(Prism::Location) } def name_loc; end @@ -20336,31 +20873,31 @@ class Prism::InstanceVariableOperatorWriteNode < ::Prism::Node # Save the binary_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#10055 + # source://prism//lib/prism/node.rb#10677 def save_binary_operator_loc(repository); end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#10042 + # source://prism//lib/prism/node.rb#10664 def save_name_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#10071 + # source://prism//lib/prism/node.rb#10693 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#10060 + # source://prism//lib/prism/node.rb#10682 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#10076 + # source://prism//lib/prism/node.rb#10698 def type; end end end @@ -20370,13 +20907,13 @@ end # @target ||= value # ^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#10096 +# source://prism//lib/prism/node.rb#10718 class Prism::InstanceVariableOrWriteNode < ::Prism::Node # Initialize a new InstanceVariableOrWriteNode node. # # @return [InstanceVariableOrWriteNode] a new instance of InstanceVariableOrWriteNode # - # source://prism//lib/prism/node.rb#10098 + # source://prism//lib/prism/node.rb#10720 sig do params( source: Prism::Source, @@ -20394,36 +20931,36 @@ class Prism::InstanceVariableOrWriteNode < ::Prism::Node # 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#10196 + # source://prism//lib/prism/node.rb#10825 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#10110 + # source://prism//lib/prism/node.rb#10732 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10115 + # source://prism//lib/prism/node.rb#10737 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#10125 + # source://prism//lib/prism/node.rb#10754 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#10120 + # source://prism//lib/prism/node.rb#10749 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) -> InstanceVariableOrWriteNode # - # source://prism//lib/prism/node.rb#10130 + # source://prism//lib/prism/node.rb#10759 sig do params( node_id: Integer, @@ -20440,80 +20977,87 @@ class Prism::InstanceVariableOrWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10135 + # source://prism//lib/prism/node.rb#10764 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#10138 + # source://prism//lib/prism/node.rb#10767 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # source://prism//lib/prism/desugar_compiler.rb#225 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#10742 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#10180 + # source://prism//lib/prism/node.rb#10809 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#10143 + # source://prism//lib/prism/node.rb#10772 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#10146 + # source://prism//lib/prism/node.rb#10775 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#10175 + # source://prism//lib/prism/node.rb#10804 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#10159 + # source://prism//lib/prism/node.rb#10788 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#10154 + # source://prism//lib/prism/node.rb#10783 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#10167 + # source://prism//lib/prism/node.rb#10796 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#10185 + # source://prism//lib/prism/node.rb#10814 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#10172 + # source://prism//lib/prism/node.rb#10801 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#10190 + # source://prism//lib/prism/node.rb#10819 def type; end end end @@ -20523,49 +21067,49 @@ end # @foo # ^^^^ # -# source://prism//lib/prism/node.rb#10209 +# source://prism//lib/prism/node.rb#10838 class Prism::InstanceVariableReadNode < ::Prism::Node # Initialize a new InstanceVariableReadNode node. # # @return [InstanceVariableReadNode] a new instance of InstanceVariableReadNode # - # source://prism//lib/prism/node.rb#10211 + # source://prism//lib/prism/node.rb#10840 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#10276 + # source://prism//lib/prism/node.rb#10911 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#10220 + # source://prism//lib/prism/node.rb#10849 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10225 + # source://prism//lib/prism/node.rb#10854 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#10235 + # source://prism//lib/prism/node.rb#10870 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#10230 + # source://prism//lib/prism/node.rb#10865 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableReadNode # - # source://prism//lib/prism/node.rb#10240 + # source://prism//lib/prism/node.rb#10875 sig do params( node_id: Integer, @@ -20579,22 +21123,27 @@ class Prism::InstanceVariableReadNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10245 + # source://prism//lib/prism/node.rb#10880 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#10248 + # source://prism//lib/prism/node.rb#10883 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#10859 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#10260 + # source://prism//lib/prism/node.rb#10895 sig { override.returns(String) } def inspect; end @@ -20604,20 +21153,20 @@ class Prism::InstanceVariableReadNode < ::Prism::Node # # @_test # name `:@_test` # - # source://prism//lib/prism/node.rb#10257 + # source://prism//lib/prism/node.rb#10892 sig { returns(Symbol) } def name; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#10265 + # source://prism//lib/prism/node.rb#10900 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#10270 + # source://prism//lib/prism/node.rb#10905 def type; end end end @@ -20627,49 +21176,49 @@ end # @foo, @bar = baz # ^^^^ ^^^^ # -# source://prism//lib/prism/node.rb#10286 +# source://prism//lib/prism/node.rb#10921 class Prism::InstanceVariableTargetNode < ::Prism::Node # Initialize a new InstanceVariableTargetNode node. # # @return [InstanceVariableTargetNode] a new instance of InstanceVariableTargetNode # - # source://prism//lib/prism/node.rb#10288 + # source://prism//lib/prism/node.rb#10923 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#10349 + # source://prism//lib/prism/node.rb#10990 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#10297 + # source://prism//lib/prism/node.rb#10932 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10302 + # source://prism//lib/prism/node.rb#10937 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#10312 + # source://prism//lib/prism/node.rb#10953 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#10307 + # source://prism//lib/prism/node.rb#10948 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableTargetNode # - # source://prism//lib/prism/node.rb#10317 + # source://prism//lib/prism/node.rb#10958 sig do params( node_id: Integer, @@ -20683,41 +21232,46 @@ class Prism::InstanceVariableTargetNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10322 + # source://prism//lib/prism/node.rb#10963 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#10325 + # source://prism//lib/prism/node.rb#10966 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#10942 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#10333 + # source://prism//lib/prism/node.rb#10974 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#10330 + # source://prism//lib/prism/node.rb#10971 sig { returns(Symbol) } def name; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#10338 + # source://prism//lib/prism/node.rb#10979 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#10343 + # source://prism//lib/prism/node.rb#10984 def type; end end end @@ -20727,13 +21281,13 @@ end # @foo = 1 # ^^^^^^^^ # -# source://prism//lib/prism/node.rb#10359 +# source://prism//lib/prism/node.rb#11000 class Prism::InstanceVariableWriteNode < ::Prism::Node # Initialize a new InstanceVariableWriteNode node. # # @return [InstanceVariableWriteNode] a new instance of InstanceVariableWriteNode # - # source://prism//lib/prism/node.rb#10361 + # source://prism//lib/prism/node.rb#11002 sig do params( source: Prism::Source, @@ -20751,36 +21305,36 @@ class Prism::InstanceVariableWriteNode < ::Prism::Node # 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#10475 + # source://prism//lib/prism/node.rb#11123 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#10373 + # source://prism//lib/prism/node.rb#11014 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10378 + # source://prism//lib/prism/node.rb#11019 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#10388 + # source://prism//lib/prism/node.rb#11036 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#10383 + # source://prism//lib/prism/node.rb#11031 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, ?operator_loc: Location) -> InstanceVariableWriteNode # - # source://prism//lib/prism/node.rb#10393 + # source://prism//lib/prism/node.rb#11041 sig do params( node_id: Integer, @@ -20797,22 +21351,29 @@ class Prism::InstanceVariableWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10398 + # source://prism//lib/prism/node.rb#11046 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, operator_loc: Location } # - # source://prism//lib/prism/node.rb#10401 + # source://prism//lib/prism/node.rb#11049 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#11024 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#10459 + # source://prism//lib/prism/node.rb#11107 sig { override.returns(String) } def inspect; end @@ -20822,7 +21383,7 @@ class Prism::InstanceVariableWriteNode < ::Prism::Node # # @_foo = "bar" # name `@_foo` # - # source://prism//lib/prism/node.rb#10410 + # source://prism//lib/prism/node.rb#11058 sig { returns(Symbol) } def name; end @@ -20831,13 +21392,13 @@ class Prism::InstanceVariableWriteNode < ::Prism::Node # @_x = 1 # ^^^ # - # source://prism//lib/prism/node.rb#10416 + # source://prism//lib/prism/node.rb#11064 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#10454 + # source://prism//lib/prism/node.rb#11102 sig { returns(String) } def operator; end @@ -20846,25 +21407,25 @@ class Prism::InstanceVariableWriteNode < ::Prism::Node # @x = y # ^ # - # source://prism//lib/prism/node.rb#10441 + # source://prism//lib/prism/node.rb#11089 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#10424 + # source://prism//lib/prism/node.rb#11072 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#10449 + # source://prism//lib/prism/node.rb#11097 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#10464 + # source://prism//lib/prism/node.rb#11112 sig { override.returns(Symbol) } def type; end @@ -20876,41 +21437,41 @@ class Prism::InstanceVariableWriteNode < ::Prism::Node # @_x = 1234 # ^^^^ # - # source://prism//lib/prism/node.rb#10435 + # source://prism//lib/prism/node.rb#11083 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#10469 + # source://prism//lib/prism/node.rb#11117 def type; end end end # Flags for integer nodes that correspond to the base of the integer. # -# source://prism//lib/prism/node.rb#18678 +# source://prism//lib/prism/node.rb#19820 module Prism::IntegerBaseFlags; end # 0b prefix # -# source://prism//lib/prism/node.rb#18680 +# source://prism//lib/prism/node.rb#19822 Prism::IntegerBaseFlags::BINARY = T.let(T.unsafe(nil), Integer) # 0d or no prefix # -# source://prism//lib/prism/node.rb#18683 +# source://prism//lib/prism/node.rb#19825 Prism::IntegerBaseFlags::DECIMAL = T.let(T.unsafe(nil), Integer) # 0x prefix # -# source://prism//lib/prism/node.rb#18689 +# source://prism//lib/prism/node.rb#19831 Prism::IntegerBaseFlags::HEXADECIMAL = T.let(T.unsafe(nil), Integer) # 0o or 0 prefix # -# source://prism//lib/prism/node.rb#18686 +# source://prism//lib/prism/node.rb#19828 Prism::IntegerBaseFlags::OCTAL = T.let(T.unsafe(nil), Integer) # Represents an integer number literal. @@ -20918,13 +21479,13 @@ Prism::IntegerBaseFlags::OCTAL = T.let(T.unsafe(nil), Integer) # 1 # ^ # -# source://prism//lib/prism/node.rb#10488 +# source://prism//lib/prism/node.rb#11136 class Prism::IntegerNode < ::Prism::Node # Initialize a new IntegerNode node. # # @return [IntegerNode] a new instance of IntegerNode # - # source://prism//lib/prism/node.rb#10490 + # source://prism//lib/prism/node.rb#11138 sig do params( source: Prism::Source, @@ -20939,12 +21500,12 @@ class Prism::IntegerNode < ::Prism::Node # 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#10571 + # source://prism//lib/prism/node.rb#11225 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#10499 + # source://prism//lib/prism/node.rb#11147 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -20952,31 +21513,31 @@ class Prism::IntegerNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10532 + # source://prism//lib/prism/node.rb#11186 sig { returns(T::Boolean) } def binary?; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10504 + # source://prism//lib/prism/node.rb#11152 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#10514 + # source://prism//lib/prism/node.rb#11168 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#10509 + # source://prism//lib/prism/node.rb#11163 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#10519 + # source://prism//lib/prism/node.rb#11173 sig do params( node_id: Integer, @@ -20991,23 +21552,28 @@ class Prism::IntegerNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10537 + # source://prism//lib/prism/node.rb#11191 sig { returns(T::Boolean) } def decimal?; end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10524 + # source://prism//lib/prism/node.rb#11178 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#10527 + # source://prism//lib/prism/node.rb#11181 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#11157 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -21015,13 +21581,13 @@ class Prism::IntegerNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10547 + # source://prism//lib/prism/node.rb#11201 sig { returns(T::Boolean) } def hexadecimal?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#10555 + # source://prism//lib/prism/node.rb#11209 sig { override.returns(String) } def inspect; end @@ -21029,26 +21595,26 @@ class Prism::IntegerNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10542 + # source://prism//lib/prism/node.rb#11196 sig { returns(T::Boolean) } def octal?; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#10560 + # source://prism//lib/prism/node.rb#11214 sig { override.returns(Symbol) } def type; end # The value of the integer literal as a number. # - # source://prism//lib/prism/node.rb#10552 + # source://prism//lib/prism/node.rb#11206 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#10565 + # source://prism//lib/prism/node.rb#11219 def type; end end end @@ -21058,7 +21624,7 @@ end # if /foo #{bar} baz/ then end # ^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#10582 +# source://prism//lib/prism/node.rb#11236 class Prism::InterpolatedMatchLastLineNode < ::Prism::Node include ::Prism::RegularExpressionOptions @@ -21066,7 +21632,7 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # # @return [InterpolatedMatchLastLineNode] a new instance of InterpolatedMatchLastLineNode # - # source://prism//lib/prism/node.rb#10584 + # source://prism//lib/prism/node.rb#11238 sig do params( source: Prism::Source, @@ -21083,12 +21649,12 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # 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#10738 + # source://prism//lib/prism/node.rb#11399 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#10595 + # source://prism//lib/prism/node.rb#11249 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -21096,43 +21662,43 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10653 + # source://prism//lib/prism/node.rb#11314 sig { returns(T::Boolean) } def ascii_8bit?; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10600 + # source://prism//lib/prism/node.rb#11254 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#10717 + # source://prism//lib/prism/node.rb#11378 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#10699 + # source://prism//lib/prism/node.rb#11360 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#10610 + # source://prism//lib/prism/node.rb#11271 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#10605 + # source://prism//lib/prism/node.rb#11266 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#10615 + # source://prism//lib/prism/node.rb#11276 sig do params( node_id: Integer, @@ -21148,21 +21714,26 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10620 + # source://prism//lib/prism/node.rb#11281 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#10623 + # source://prism//lib/prism/node.rb#11284 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#11259 + def each_child_node; end + # def euc_jp?: () -> bool # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10648 + # source://prism//lib/prism/node.rb#11309 sig { returns(T::Boolean) } def euc_jp?; end @@ -21170,7 +21741,7 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10633 + # source://prism//lib/prism/node.rb#11294 sig { returns(T::Boolean) } def extended?; end @@ -21181,7 +21752,7 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10673 + # source://prism//lib/prism/node.rb#11334 sig { returns(T::Boolean) } def forced_binary_encoding?; end @@ -21189,7 +21760,7 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10678 + # source://prism//lib/prism/node.rb#11339 sig { returns(T::Boolean) } def forced_us_ascii_encoding?; end @@ -21197,7 +21768,7 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10668 + # source://prism//lib/prism/node.rb#11329 sig { returns(T::Boolean) } def forced_utf8_encoding?; end @@ -21205,13 +21776,13 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10628 + # source://prism//lib/prism/node.rb#11289 sig { returns(T::Boolean) } def ignore_case?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#10722 + # source://prism//lib/prism/node.rb#11383 sig { override.returns(String) } def inspect; end @@ -21219,7 +21790,7 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10638 + # source://prism//lib/prism/node.rb#11299 sig { returns(T::Boolean) } def multi_line?; end @@ -21230,19 +21801,19 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10643 + # source://prism//lib/prism/node.rb#11304 sig { returns(T::Boolean) } def once?; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#10712 + # source://prism//lib/prism/node.rb#11373 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#10683 + # source://prism//lib/prism/node.rb#11344 sig { returns(Prism::Location) } def opening_loc; end @@ -21251,25 +21822,25 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] # - # source://prism//lib/prism/node.rb#10696 + # source://prism//lib/prism/node.rb#11357 sig { returns(T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)]) } def parts; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#10707 + # source://prism//lib/prism/node.rb#11368 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#10691 + # source://prism//lib/prism/node.rb#11352 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#10727 + # source://prism//lib/prism/node.rb#11388 sig { override.returns(Symbol) } def type; end @@ -21277,7 +21848,7 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10663 + # source://prism//lib/prism/node.rb#11324 sig { returns(T::Boolean) } def utf_8?; end @@ -21285,14 +21856,14 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10658 + # source://prism//lib/prism/node.rb#11319 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#10732 + # source://prism//lib/prism/node.rb#11393 def type; end end end @@ -21302,7 +21873,7 @@ end # /foo #{bar} baz/ # ^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#10752 +# source://prism//lib/prism/node.rb#11413 class Prism::InterpolatedRegularExpressionNode < ::Prism::Node include ::Prism::RegularExpressionOptions @@ -21310,7 +21881,7 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # # @return [InterpolatedRegularExpressionNode] a new instance of InterpolatedRegularExpressionNode # - # source://prism//lib/prism/node.rb#10754 + # source://prism//lib/prism/node.rb#11415 sig do params( source: Prism::Source, @@ -21327,12 +21898,12 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # 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#10908 + # source://prism//lib/prism/node.rb#11576 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#10765 + # source://prism//lib/prism/node.rb#11426 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -21340,43 +21911,43 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10823 + # source://prism//lib/prism/node.rb#11491 sig { returns(T::Boolean) } def ascii_8bit?; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10770 + # source://prism//lib/prism/node.rb#11431 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#10887 + # source://prism//lib/prism/node.rb#11555 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#10869 + # source://prism//lib/prism/node.rb#11537 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#10780 + # source://prism//lib/prism/node.rb#11448 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#10775 + # source://prism//lib/prism/node.rb#11443 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#10785 + # source://prism//lib/prism/node.rb#11453 sig do params( node_id: Integer, @@ -21392,21 +21963,26 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10790 + # source://prism//lib/prism/node.rb#11458 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#10793 + # source://prism//lib/prism/node.rb#11461 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#11436 + def each_child_node; end + # def euc_jp?: () -> bool # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10818 + # source://prism//lib/prism/node.rb#11486 sig { returns(T::Boolean) } def euc_jp?; end @@ -21414,7 +21990,7 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10803 + # source://prism//lib/prism/node.rb#11471 sig { returns(T::Boolean) } def extended?; end @@ -21425,7 +22001,7 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10843 + # source://prism//lib/prism/node.rb#11511 sig { returns(T::Boolean) } def forced_binary_encoding?; end @@ -21433,7 +22009,7 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10848 + # source://prism//lib/prism/node.rb#11516 sig { returns(T::Boolean) } def forced_us_ascii_encoding?; end @@ -21441,7 +22017,7 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10838 + # source://prism//lib/prism/node.rb#11506 sig { returns(T::Boolean) } def forced_utf8_encoding?; end @@ -21449,13 +22025,13 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10798 + # source://prism//lib/prism/node.rb#11466 sig { returns(T::Boolean) } def ignore_case?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#10892 + # source://prism//lib/prism/node.rb#11560 sig { override.returns(String) } def inspect; end @@ -21463,7 +22039,7 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10808 + # source://prism//lib/prism/node.rb#11476 sig { returns(T::Boolean) } def multi_line?; end @@ -21474,19 +22050,19 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10813 + # source://prism//lib/prism/node.rb#11481 sig { returns(T::Boolean) } def once?; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#10882 + # source://prism//lib/prism/node.rb#11550 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#10853 + # source://prism//lib/prism/node.rb#11521 sig { returns(Prism::Location) } def opening_loc; end @@ -21495,25 +22071,25 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] # - # source://prism//lib/prism/node.rb#10866 + # source://prism//lib/prism/node.rb#11534 sig { returns(T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)]) } def parts; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#10877 + # source://prism//lib/prism/node.rb#11545 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#10861 + # source://prism//lib/prism/node.rb#11529 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#10897 + # source://prism//lib/prism/node.rb#11565 sig { override.returns(Symbol) } def type; end @@ -21521,7 +22097,7 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10833 + # source://prism//lib/prism/node.rb#11501 sig { returns(T::Boolean) } def utf_8?; end @@ -21529,14 +22105,14 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10828 + # source://prism//lib/prism/node.rb#11496 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#10902 + # source://prism//lib/prism/node.rb#11570 def type; end end end @@ -21546,7 +22122,7 @@ end # "foo #{bar} baz" # ^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#10922 +# source://prism//lib/prism/node.rb#11590 class Prism::InterpolatedStringNode < ::Prism::Node include ::Prism::HeredocQuery @@ -21554,7 +22130,7 @@ class Prism::InterpolatedStringNode < ::Prism::Node # # @return [InterpolatedStringNode] a new instance of InterpolatedStringNode # - # source://prism//lib/prism/node.rb#10924 + # source://prism//lib/prism/node.rb#11592 sig do params( source: Prism::Source, @@ -21562,7 +22138,7 @@ class Prism::InterpolatedStringNode < ::Prism::Node location: Prism::Location, flags: Integer, opening_loc: T.nilable(Prism::Location), - parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode, Prism::InterpolatedStringNode, Prism::XStringNode)], + parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode, Prism::InterpolatedStringNode, Prism::XStringNode, Prism::InterpolatedXStringNode, Prism::SymbolNode, Prism::InterpolatedSymbolNode)], closing_loc: T.nilable(Prism::Location) ).void end @@ -21571,55 +22147,55 @@ class Prism::InterpolatedStringNode < ::Prism::Node # 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#11045 + # source://prism//lib/prism/node.rb#11720 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#10935 + # source://prism//lib/prism/node.rb#11603 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10940 + # source://prism//lib/prism/node.rb#11608 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#11024 + # source://prism//lib/prism/node.rb#11699 sig { returns(T.nilable(String)) } def closing; end # attr_reader closing_loc: Location? # - # source://prism//lib/prism/node.rb#11000 + # source://prism//lib/prism/node.rb#11675 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#10950 + # source://prism//lib/prism/node.rb#11625 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#10945 + # source://prism//lib/prism/node.rb#11620 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 | XStringNode], ?closing_loc: Location?) -> InterpolatedStringNode + # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode | InterpolatedXStringNode | SymbolNode | InterpolatedSymbolNode], ?closing_loc: Location?) -> InterpolatedStringNode # - # source://prism//lib/prism/node.rb#10955 + # source://prism//lib/prism/node.rb#11630 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, Prism::XStringNode)], + parts: T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode, Prism::InterpolatedStringNode, Prism::XStringNode, Prism::InterpolatedXStringNode, Prism::SymbolNode, Prism::InterpolatedSymbolNode)], closing_loc: T.nilable(Prism::Location) ).returns(Prism::InterpolatedStringNode) end @@ -21628,16 +22204,21 @@ class Prism::InterpolatedStringNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#10960 + # source://prism//lib/prism/node.rb#11635 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 | XStringNode], closing_loc: Location? } + # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, opening_loc: Location?, parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode | InterpolatedXStringNode | SymbolNode | InterpolatedSymbolNode], closing_loc: Location? } # - # source://prism//lib/prism/node.rb#10963 + # source://prism//lib/prism/node.rb#11638 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#11613 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -21645,7 +22226,7 @@ class Prism::InterpolatedStringNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10968 + # source://prism//lib/prism/node.rb#11643 sig { returns(T::Boolean) } def frozen?; end @@ -21654,7 +22235,7 @@ class Prism::InterpolatedStringNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#11029 + # source://prism//lib/prism/node.rb#11704 sig { override.returns(String) } def inspect; end @@ -21662,7 +22243,7 @@ class Prism::InterpolatedStringNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#10973 + # source://prism//lib/prism/node.rb#11648 sig { returns(T::Boolean) } def mutable?; end @@ -21671,59 +22252,59 @@ class Prism::InterpolatedStringNode < ::Prism::Node # def opening: () -> String? # - # source://prism//lib/prism/node.rb#11019 + # source://prism//lib/prism/node.rb#11694 sig { returns(T.nilable(String)) } def opening; end # attr_reader opening_loc: Location? # - # source://prism//lib/prism/node.rb#10978 + # source://prism//lib/prism/node.rb#11653 sig { returns(T.nilable(Prism::Location)) } def opening_loc; end - # attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode] + # attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode | XStringNode | InterpolatedXStringNode | SymbolNode | InterpolatedSymbolNode] # - # source://prism//lib/prism/node.rb#10997 + # source://prism//lib/prism/node.rb#11672 sig do - returns(T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode, Prism::InterpolatedStringNode, Prism::XStringNode)]) + returns(T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode, Prism::InterpolatedStringNode, Prism::XStringNode, Prism::InterpolatedXStringNode, Prism::SymbolNode, Prism::InterpolatedSymbolNode)]) end def parts; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11014 + # source://prism//lib/prism/node.rb#11689 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#10992 + # source://prism//lib/prism/node.rb#11667 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#11034 + # source://prism//lib/prism/node.rb#11709 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#11039 + # source://prism//lib/prism/node.rb#11714 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#18693 +# source://prism//lib/prism/node.rb#19835 module Prism::InterpolatedStringNodeFlags; end -# source://prism//lib/prism/node.rb#18695 +# source://prism//lib/prism/node.rb#19837 Prism::InterpolatedStringNodeFlags::FROZEN = T.let(T.unsafe(nil), Integer) -# source://prism//lib/prism/node.rb#18698 +# source://prism//lib/prism/node.rb#19840 Prism::InterpolatedStringNodeFlags::MUTABLE = T.let(T.unsafe(nil), Integer) # Represents a symbol literal that contains interpolation. @@ -21731,13 +22312,13 @@ Prism::InterpolatedStringNodeFlags::MUTABLE = T.let(T.unsafe(nil), Integer) # :"foo #{bar} baz" # ^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#11059 +# source://prism//lib/prism/node.rb#11734 class Prism::InterpolatedSymbolNode < ::Prism::Node # Initialize a new InterpolatedSymbolNode node. # # @return [InterpolatedSymbolNode] a new instance of InterpolatedSymbolNode # - # source://prism//lib/prism/node.rb#11061 + # source://prism//lib/prism/node.rb#11736 sig do params( source: Prism::Source, @@ -21754,48 +22335,48 @@ class Prism::InterpolatedSymbolNode < ::Prism::Node # 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#11172 + # source://prism//lib/prism/node.rb#11854 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#11072 + # source://prism//lib/prism/node.rb#11747 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11077 + # source://prism//lib/prism/node.rb#11752 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#11151 + # source://prism//lib/prism/node.rb#11833 sig { returns(T.nilable(String)) } def closing; end # attr_reader closing_loc: Location? # - # source://prism//lib/prism/node.rb#11127 + # source://prism//lib/prism/node.rb#11809 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#11087 + # source://prism//lib/prism/node.rb#11769 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#11082 + # source://prism//lib/prism/node.rb#11764 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?) -> InterpolatedSymbolNode # - # source://prism//lib/prism/node.rb#11092 + # source://prism//lib/prism/node.rb#11774 sig do params( node_id: Integer, @@ -21811,22 +22392,27 @@ class Prism::InterpolatedSymbolNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11097 + # source://prism//lib/prism/node.rb#11779 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#11100 + # source://prism//lib/prism/node.rb#11782 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#11757 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#11156 + # source://prism//lib/prism/node.rb#11838 sig { override.returns(String) } def inspect; end @@ -21835,44 +22421,44 @@ class Prism::InterpolatedSymbolNode < ::Prism::Node # def opening: () -> String? # - # source://prism//lib/prism/node.rb#11146 + # source://prism//lib/prism/node.rb#11828 sig { returns(T.nilable(String)) } def opening; end # attr_reader opening_loc: Location? # - # source://prism//lib/prism/node.rb#11105 + # source://prism//lib/prism/node.rb#11787 sig { returns(T.nilable(Prism::Location)) } def opening_loc; end # attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] # - # source://prism//lib/prism/node.rb#11124 + # source://prism//lib/prism/node.rb#11806 sig { returns(T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)]) } def parts; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11141 + # source://prism//lib/prism/node.rb#11823 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11119 + # source://prism//lib/prism/node.rb#11801 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#11161 + # source://prism//lib/prism/node.rb#11843 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#11166 + # source://prism//lib/prism/node.rb#11848 def type; end end end @@ -21882,7 +22468,7 @@ end # `foo #{bar} baz` # ^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#11185 +# source://prism//lib/prism/node.rb#11867 class Prism::InterpolatedXStringNode < ::Prism::Node include ::Prism::HeredocQuery @@ -21890,7 +22476,7 @@ class Prism::InterpolatedXStringNode < ::Prism::Node # # @return [InterpolatedXStringNode] a new instance of InterpolatedXStringNode # - # source://prism//lib/prism/node.rb#11187 + # source://prism//lib/prism/node.rb#11869 sig do params( source: Prism::Source, @@ -21907,48 +22493,48 @@ class Prism::InterpolatedXStringNode < ::Prism::Node # 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#11286 + # source://prism//lib/prism/node.rb#11975 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#11198 + # source://prism//lib/prism/node.rb#11880 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11203 + # source://prism//lib/prism/node.rb#11885 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#11265 + # source://prism//lib/prism/node.rb#11954 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#11247 + # source://prism//lib/prism/node.rb#11936 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#11213 + # source://prism//lib/prism/node.rb#11902 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#11208 + # source://prism//lib/prism/node.rb#11897 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) -> InterpolatedXStringNode # - # source://prism//lib/prism/node.rb#11218 + # source://prism//lib/prism/node.rb#11907 sig do params( node_id: Integer, @@ -21964,16 +22550,21 @@ class Prism::InterpolatedXStringNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11223 + # source://prism//lib/prism/node.rb#11912 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#11226 + # source://prism//lib/prism/node.rb#11915 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#11890 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -21982,7 +22573,7 @@ class Prism::InterpolatedXStringNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#11270 + # source://prism//lib/prism/node.rb#11959 sig { override.returns(String) } def inspect; end @@ -21991,44 +22582,44 @@ class Prism::InterpolatedXStringNode < ::Prism::Node # def opening: () -> String # - # source://prism//lib/prism/node.rb#11260 + # source://prism//lib/prism/node.rb#11949 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#11231 + # source://prism//lib/prism/node.rb#11920 sig { returns(Prism::Location) } def opening_loc; end # attr_reader parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] # - # source://prism//lib/prism/node.rb#11244 + # source://prism//lib/prism/node.rb#11933 sig { returns(T::Array[T.any(Prism::StringNode, Prism::EmbeddedStatementsNode, Prism::EmbeddedVariableNode)]) } def parts; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11255 + # source://prism//lib/prism/node.rb#11944 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11239 + # source://prism//lib/prism/node.rb#11928 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#11275 + # source://prism//lib/prism/node.rb#11964 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#11280 + # source://prism//lib/prism/node.rb#11969 def type; end end end @@ -22038,84 +22629,89 @@ end # -> { it } # ^^ # -# source://prism//lib/prism/node.rb#11299 +# source://prism//lib/prism/node.rb#11988 class Prism::ItLocalVariableReadNode < ::Prism::Node # Initialize a new ItLocalVariableReadNode node. # # @return [ItLocalVariableReadNode] a new instance of ItLocalVariableReadNode # - # source://prism//lib/prism/node.rb#11301 + # source://prism//lib/prism/node.rb#11990 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#11358 + # source://prism//lib/prism/node.rb#12053 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#11309 + # source://prism//lib/prism/node.rb#11998 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11314 + # source://prism//lib/prism/node.rb#12003 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#11324 + # source://prism//lib/prism/node.rb#12019 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#11319 + # source://prism//lib/prism/node.rb#12014 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItLocalVariableReadNode # - # source://prism//lib/prism/node.rb#11329 + # source://prism//lib/prism/node.rb#12024 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::ItLocalVariableReadNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11334 + # source://prism//lib/prism/node.rb#12029 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#11337 + # source://prism//lib/prism/node.rb#12032 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#12008 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#11342 + # source://prism//lib/prism/node.rb#12037 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#11347 + # source://prism//lib/prism/node.rb#12042 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#11352 + # source://prism//lib/prism/node.rb#12047 def type; end end end @@ -22125,84 +22721,89 @@ end # -> { it + it } # ^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#11367 +# source://prism//lib/prism/node.rb#12062 class Prism::ItParametersNode < ::Prism::Node # Initialize a new ItParametersNode node. # # @return [ItParametersNode] a new instance of ItParametersNode # - # source://prism//lib/prism/node.rb#11369 + # source://prism//lib/prism/node.rb#12064 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#11426 + # source://prism//lib/prism/node.rb#12127 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#11377 + # source://prism//lib/prism/node.rb#12072 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11382 + # source://prism//lib/prism/node.rb#12077 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#11392 + # source://prism//lib/prism/node.rb#12093 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#11387 + # source://prism//lib/prism/node.rb#12088 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> ItParametersNode # - # source://prism//lib/prism/node.rb#11397 + # source://prism//lib/prism/node.rb#12098 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::ItParametersNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11402 + # source://prism//lib/prism/node.rb#12103 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#11405 + # source://prism//lib/prism/node.rb#12106 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#12082 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#11410 + # source://prism//lib/prism/node.rb#12111 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#11415 + # source://prism//lib/prism/node.rb#12116 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#11420 + # source://prism//lib/prism/node.rb#12121 def type; end end end @@ -22212,13 +22813,13 @@ end # foo(a: b) # ^^^^ # -# source://prism//lib/prism/node.rb#11435 +# source://prism//lib/prism/node.rb#12136 class Prism::KeywordHashNode < ::Prism::Node # Initialize a new KeywordHashNode node. # # @return [KeywordHashNode] a new instance of KeywordHashNode # - # source://prism//lib/prism/node.rb#11437 + # source://prism//lib/prism/node.rb#12138 sig do params( source: Prism::Source, @@ -22233,36 +22834,36 @@ class Prism::KeywordHashNode < ::Prism::Node # 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#11503 + # source://prism//lib/prism/node.rb#12211 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#11446 + # source://prism//lib/prism/node.rb#12147 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11451 + # source://prism//lib/prism/node.rb#12152 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#11461 + # source://prism//lib/prism/node.rb#12169 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#11456 + # source://prism//lib/prism/node.rb#12164 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#11466 + # source://prism//lib/prism/node.rb#12174 sig do params( node_id: Integer, @@ -22276,19 +22877,24 @@ class Prism::KeywordHashNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11471 + # source://prism//lib/prism/node.rb#12179 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#11474 + # source://prism//lib/prism/node.rb#12182 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#12157 + def each_child_node; end + # attr_reader elements: Array[AssocNode | AssocSplatNode] # - # source://prism//lib/prism/node.rb#11484 + # source://prism//lib/prism/node.rb#12192 sig { returns(T::Array[T.any(Prism::AssocNode, Prism::AssocSplatNode)]) } def elements; end @@ -22297,7 +22903,7 @@ class Prism::KeywordHashNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#11487 + # source://prism//lib/prism/node.rb#12195 sig { override.returns(String) } def inspect; end @@ -22305,32 +22911,32 @@ class Prism::KeywordHashNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#11479 + # source://prism//lib/prism/node.rb#12187 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#11492 + # source://prism//lib/prism/node.rb#12200 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#11497 + # source://prism//lib/prism/node.rb#12205 def type; end end end # Flags for keyword hash nodes. # -# source://prism//lib/prism/node.rb#18702 +# source://prism//lib/prism/node.rb#19844 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#18704 +# source://prism//lib/prism/node.rb#19846 Prism::KeywordHashNodeFlags::SYMBOL_KEYS = T.let(T.unsafe(nil), Integer) # Represents a keyword rest parameter to a method, block, or lambda definition. @@ -22339,13 +22945,13 @@ Prism::KeywordHashNodeFlags::SYMBOL_KEYS = T.let(T.unsafe(nil), Integer) # ^^^ # end # -# source://prism//lib/prism/node.rb#11516 +# source://prism//lib/prism/node.rb#12224 class Prism::KeywordRestParameterNode < ::Prism::Node # Initialize a new KeywordRestParameterNode node. # # @return [KeywordRestParameterNode] a new instance of KeywordRestParameterNode # - # source://prism//lib/prism/node.rb#11518 + # source://prism//lib/prism/node.rb#12226 sig do params( source: Prism::Source, @@ -22362,36 +22968,36 @@ class Prism::KeywordRestParameterNode < ::Prism::Node # 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#11623 + # source://prism//lib/prism/node.rb#12337 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#11529 + # source://prism//lib/prism/node.rb#12237 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11534 + # source://prism//lib/prism/node.rb#12242 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#11544 + # source://prism//lib/prism/node.rb#12258 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#11539 + # source://prism//lib/prism/node.rb#12253 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#11549 + # source://prism//lib/prism/node.rb#12263 sig do params( node_id: Integer, @@ -22407,46 +23013,51 @@ class Prism::KeywordRestParameterNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11554 + # source://prism//lib/prism/node.rb#12268 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#11557 + # source://prism//lib/prism/node.rb#12271 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#12247 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#11607 + # source://prism//lib/prism/node.rb#12321 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol? # - # source://prism//lib/prism/node.rb#11567 + # source://prism//lib/prism/node.rb#12281 sig { returns(T.nilable(Symbol)) } def name; end # attr_reader name_loc: Location? # - # source://prism//lib/prism/node.rb#11570 + # source://prism//lib/prism/node.rb#12284 sig { returns(T.nilable(Prism::Location)) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#11602 + # source://prism//lib/prism/node.rb#12316 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#11589 + # source://prism//lib/prism/node.rb#12303 sig { returns(Prism::Location) } def operator_loc; end @@ -22454,32 +23065,32 @@ class Prism::KeywordRestParameterNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#11562 + # source://prism//lib/prism/node.rb#12276 sig { returns(T::Boolean) } def repeated_parameter?; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11584 + # source://prism//lib/prism/node.rb#12298 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11597 + # source://prism//lib/prism/node.rb#12311 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#11612 + # source://prism//lib/prism/node.rb#12326 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#11617 + # source://prism//lib/prism/node.rb#12331 def type; end end end @@ -22489,13 +23100,13 @@ end # ->(value) { value * 2 } # ^^^^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#11636 +# source://prism//lib/prism/node.rb#12350 class Prism::LambdaNode < ::Prism::Node # Initialize a new LambdaNode node. # # @return [LambdaNode] a new instance of LambdaNode # - # source://prism//lib/prism/node.rb#11638 + # source://prism//lib/prism/node.rb#12352 sig do params( source: Prism::Source, @@ -22515,54 +23126,54 @@ class Prism::LambdaNode < ::Prism::Node # 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#11767 + # source://prism//lib/prism/node.rb#12489 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#11652 + # source://prism//lib/prism/node.rb#12366 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader body: StatementsNode | BeginNode | nil # - # source://prism//lib/prism/node.rb#11733 + # source://prism//lib/prism/node.rb#12455 sig { returns(T.nilable(T.any(Prism::StatementsNode, Prism::BeginNode))) } def body; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11657 + # source://prism//lib/prism/node.rb#12371 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#11746 + # source://prism//lib/prism/node.rb#12468 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#11717 + # source://prism//lib/prism/node.rb#12439 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#11670 + # source://prism//lib/prism/node.rb#12392 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#11662 + # source://prism//lib/prism/node.rb#12384 sig { override.returns(T::Array[Prism::Node]) } 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: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil, ?body: StatementsNode | BeginNode | nil) -> LambdaNode # - # source://prism//lib/prism/node.rb#11675 + # source://prism//lib/prism/node.rb#12397 sig do params( node_id: Integer, @@ -22581,89 +23192,96 @@ class Prism::LambdaNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11680 + # source://prism//lib/prism/node.rb#12402 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil, body: StatementsNode | BeginNode | nil } # - # source://prism//lib/prism/node.rb#11683 + # source://prism//lib/prism/node.rb#12405 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [parameters] + # + # source://prism//lib/prism/node.rb#12376 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#11751 + # source://prism//lib/prism/node.rb#12473 sig { override.returns(String) } def inspect; end # attr_reader locals: Array[Symbol] # - # source://prism//lib/prism/node.rb#11688 + # source://prism//lib/prism/node.rb#12410 sig { returns(T::Array[Symbol]) } def locals; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#11741 + # source://prism//lib/prism/node.rb#12463 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#11704 + # source://prism//lib/prism/node.rb#12426 sig { returns(Prism::Location) } def opening_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#11736 + # source://prism//lib/prism/node.rb#12458 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#11691 + # source://prism//lib/prism/node.rb#12413 sig { returns(Prism::Location) } def operator_loc; end # attr_reader parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil # - # source://prism//lib/prism/node.rb#11730 + # source://prism//lib/prism/node.rb#12452 sig { returns(T.nilable(T.any(Prism::BlockParametersNode, Prism::NumberedParametersNode, Prism::ItParametersNode))) } def parameters; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11725 + # source://prism//lib/prism/node.rb#12447 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11712 + # source://prism//lib/prism/node.rb#12434 def save_opening_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11699 + # source://prism//lib/prism/node.rb#12421 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#11756 + # source://prism//lib/prism/node.rb#12478 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#11761 + # source://prism//lib/prism/node.rb#12483 def type; end end end @@ -22674,33 +23292,39 @@ end # generally lines up. However, there are a few cases that require special # handling. # -# source://prism//lib/prism/lex_compat.rb#13 +# 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#620 + # source://prism//lib/prism/lex_compat.rb#624 def initialize(source, **options); end # Returns the value of attribute options. # - # source://prism//lib/prism/lex_compat.rb#618 + # source://prism//lib/prism/lex_compat.rb#622 def options; end - # source://prism//lib/prism/lex_compat.rb#625 + # source://prism//lib/prism/lex_compat.rb#629 def result; end # Returns the value of attribute source. # - # source://prism//lib/prism/lex_compat.rb#618 + # source://prism//lib/prism/lex_compat.rb#622 def source; end end +# In previous versions of Ruby, Ripper wouldn't flush the bom before the +# first token, so we had to have a hack in place to account for that. +# +# source://prism//lib/prism/lex_compat.rb#619 +Prism::LexCompat::BOM_FLUSHED = T.let(T.unsafe(nil), TrueClass) + # 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#231 +# source://prism//lib/prism/lex_compat.rb#230 class Prism::LexCompat::EndContentToken < ::Prism::LexCompat::Token - # source://prism//lib/prism/lex_compat.rb#232 + # source://prism//lib/prism/lex_compat.rb#231 def ==(other); end end @@ -22708,13 +23332,13 @@ end # heredoc that should be appended onto the list of tokens when the heredoc # closes. # -# source://prism//lib/prism/lex_compat.rb#292 +# 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#604 + # source://prism//lib/prism/lex_compat.rb#603 def build(opening); end end end @@ -22723,23 +23347,23 @@ end # 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#316 +# 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#319 + # source://prism//lib/prism/lex_compat.rb#318 def initialize(split); end - # source://prism//lib/prism/lex_compat.rb#324 + # source://prism//lib/prism/lex_compat.rb#323 def <<(token); end - # source://prism//lib/prism/lex_compat.rb#317 + # source://prism//lib/prism/lex_compat.rb#316 def split; end - # source://prism//lib/prism/lex_compat.rb#328 + # source://prism//lib/prism/lex_compat.rb#327 def to_a; end - # source://prism//lib/prism/lex_compat.rb#317 + # source://prism//lib/prism/lex_compat.rb#316 def tokens; end end @@ -22754,45 +23378,45 @@ end # 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#375 +# 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#380 + # 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#391 + # source://prism//lib/prism/lex_compat.rb#390 def <<(token); end # Returns the value of attribute dedent. # - # source://prism//lib/prism/lex_compat.rb#378 + # 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#378 + # 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#378 + # source://prism//lib/prism/lex_compat.rb#377 def embexpr_balance; end - # source://prism//lib/prism/lex_compat.rb#428 + # 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#378 + # source://prism//lib/prism/lex_compat.rb#377 def tokens; end end -# source://prism//lib/prism/lex_compat.rb#376 +# 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. @@ -22800,20 +23424,20 @@ Prism::LexCompat::Heredoc::DedentingHeredoc::TAB_WIDTH = T.let(T.unsafe(nil), In # 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#297 +# 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#300 + # source://prism//lib/prism/lex_compat.rb#299 def initialize; end - # source://prism//lib/prism/lex_compat.rb#304 + # source://prism//lib/prism/lex_compat.rb#303 def <<(token); end - # source://prism//lib/prism/lex_compat.rb#308 + # source://prism//lib/prism/lex_compat.rb#307 def to_a; end - # source://prism//lib/prism/lex_compat.rb#298 + # source://prism//lib/prism/lex_compat.rb#297 def tokens; end end @@ -22822,27 +23446,27 @@ end # through named captures in regular expressions). In that case we don't # compare the state. # -# source://prism//lib/prism/lex_compat.rb#249 +# source://prism//lib/prism/lex_compat.rb#248 class Prism::LexCompat::IdentToken < ::Prism::LexCompat::Token - # source://prism//lib/prism/lex_compat.rb#250 + # 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#239 +# source://prism//lib/prism/lex_compat.rb#238 class Prism::LexCompat::IgnoreStateToken < ::Prism::LexCompat::Token - # source://prism//lib/prism/lex_compat.rb#240 + # 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#260 +# source://prism//lib/prism/lex_compat.rb#259 class Prism::LexCompat::IgnoredNewlineToken < ::Prism::LexCompat::Token - # source://prism//lib/prism/lex_compat.rb#261 + # source://prism//lib/prism/lex_compat.rb#260 def ==(other); end end @@ -22855,9 +23479,9 @@ end # more accurately, so we need to allow comparing against both END and # END|LABEL. # -# source://prism//lib/prism/lex_compat.rb#280 +# source://prism//lib/prism/lex_compat.rb#279 class Prism::LexCompat::ParamToken < ::Prism::LexCompat::Token - # source://prism//lib/prism/lex_compat.rb#281 + # source://prism//lib/prism/lex_compat.rb#280 def ==(other); end end @@ -22865,28 +23489,28 @@ end # many-to-one mapping because we split up our token types, whereas Ripper # tends to group them. # -# source://prism//lib/prism/lex_compat.rb#34 +# 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#15 +# 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#20 + # 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#26 + # 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#17 + # source://prism//lib/prism/lex_compat.rb#16 def value; end end @@ -22894,38 +23518,38 @@ end # 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#205 +# 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#214 + # 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#209 + # 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#224 + # 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#219 + # 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#782 +# source://prism//lib/prism/parse_result.rb#769 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#787 + # source://prism//lib/prism/parse_result.rb#774 sig do params( value: T::Array[T.untyped], @@ -22941,13 +23565,13 @@ class Prism::LexResult < ::Prism::Result # Implement the hash pattern matching interface for LexResult. # - # source://prism//lib/prism/parse_result.rb#793 + # source://prism//lib/prism/parse_result.rb#780 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#784 + # source://prism//lib/prism/parse_result.rb#771 sig { returns(T::Array[T.untyped]) } def value; end end @@ -22955,22 +23579,22 @@ end # This is a class that wraps the Ripper lexer to produce almost exactly the # same tokens. # -# source://prism//lib/prism/lex_compat.rb#873 +# source://prism//lib/prism/lex_ripper.rb#9 class Prism::LexRipper # @return [LexRipper] a new instance of LexRipper # - # source://prism//lib/prism/lex_compat.rb#876 + # source://prism//lib/prism/lex_ripper.rb#12 def initialize(source); end - # source://prism//lib/prism/lex_compat.rb#880 + # source://prism//lib/prism/lex_ripper.rb#16 def result; end - # source://prism//lib/prism/lex_compat.rb#874 + # source://prism//lib/prism/lex_ripper.rb#10 def source; end private - # source://prism//lib/prism/lex_compat.rb#914 + # source://prism//lib/prism/lex_ripper.rb#50 def lex(source); end end @@ -22979,13 +23603,13 @@ end # target &&= value # ^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#11783 +# source://prism//lib/prism/node.rb#12505 class Prism::LocalVariableAndWriteNode < ::Prism::Node # Initialize a new LocalVariableAndWriteNode node. # # @return [LocalVariableAndWriteNode] a new instance of LocalVariableAndWriteNode # - # source://prism//lib/prism/node.rb#11785 + # source://prism//lib/prism/node.rb#12507 sig do params( source: Prism::Source, @@ -23004,36 +23628,36 @@ class Prism::LocalVariableAndWriteNode < ::Prism::Node # 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#11887 + # source://prism//lib/prism/node.rb#12616 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#11798 + # source://prism//lib/prism/node.rb#12520 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11803 + # source://prism//lib/prism/node.rb#12525 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#11813 + # source://prism//lib/prism/node.rb#12542 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#11808 + # source://prism//lib/prism/node.rb#12537 sig { override.returns(T::Array[Prism::Node]) } 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#11818 + # source://prism//lib/prism/node.rb#12547 sig do params( node_id: Integer, @@ -23051,86 +23675,93 @@ class Prism::LocalVariableAndWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11823 + # source://prism//lib/prism/node.rb#12552 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#11826 + # source://prism//lib/prism/node.rb#12555 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # attr_reader depth: Integer # - # source://prism//lib/prism/node.rb#11863 + # source://prism//lib/prism/node.rb#12592 sig { returns(Integer) } def depth; end # source://prism//lib/prism/desugar_compiler.rb#237 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#12530 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#11871 + # source://prism//lib/prism/node.rb#12600 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#11860 + # source://prism//lib/prism/node.rb#12589 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#11831 + # source://prism//lib/prism/node.rb#12560 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#11866 + # source://prism//lib/prism/node.rb#12595 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#11844 + # source://prism//lib/prism/node.rb#12573 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11839 + # source://prism//lib/prism/node.rb#12568 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11852 + # source://prism//lib/prism/node.rb#12581 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#11876 + # source://prism//lib/prism/node.rb#12605 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#11857 + # source://prism//lib/prism/node.rb#12586 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#11881 + # source://prism//lib/prism/node.rb#12610 def type; end end end @@ -23140,13 +23771,13 @@ end # target += value # ^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#11901 +# source://prism//lib/prism/node.rb#12630 class Prism::LocalVariableOperatorWriteNode < ::Prism::Node # Initialize a new LocalVariableOperatorWriteNode node. # # @return [LocalVariableOperatorWriteNode] a new instance of LocalVariableOperatorWriteNode # - # source://prism//lib/prism/node.rb#11903 + # source://prism//lib/prism/node.rb#12632 sig do params( source: Prism::Source, @@ -23166,48 +23797,48 @@ class Prism::LocalVariableOperatorWriteNode < ::Prism::Node # 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#12004 + # source://prism//lib/prism/node.rb#12740 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#11917 + # source://prism//lib/prism/node.rb#12646 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader binary_operator: Symbol # - # source://prism//lib/prism/node.rb#11982 + # source://prism//lib/prism/node.rb#12718 sig { returns(Symbol) } def binary_operator; end # attr_reader binary_operator_loc: Location # - # source://prism//lib/prism/node.rb#11963 + # source://prism//lib/prism/node.rb#12699 sig { returns(Prism::Location) } def binary_operator_loc; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11922 + # source://prism//lib/prism/node.rb#12651 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#11932 + # source://prism//lib/prism/node.rb#12668 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#11927 + # source://prism//lib/prism/node.rb#12663 sig { override.returns(T::Array[Prism::Node]) } 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#11937 + # source://prism//lib/prism/node.rb#12673 sig do params( node_id: Integer, @@ -23226,43 +23857,50 @@ class Prism::LocalVariableOperatorWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#11942 + # source://prism//lib/prism/node.rb#12678 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#11945 + # source://prism//lib/prism/node.rb#12681 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # attr_reader depth: Integer # - # source://prism//lib/prism/node.rb#11985 + # source://prism//lib/prism/node.rb#12721 sig { returns(Integer) } def depth; end # source://prism//lib/prism/desugar_compiler.rb#249 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#12656 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#11988 + # source://prism//lib/prism/node.rb#12724 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#11979 + # source://prism//lib/prism/node.rb#12715 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#11950 + # source://prism//lib/prism/node.rb#12686 sig { returns(Prism::Location) } def name_loc; end @@ -23281,31 +23919,31 @@ class Prism::LocalVariableOperatorWriteNode < ::Prism::Node # Save the binary_operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11971 + # source://prism//lib/prism/node.rb#12707 def save_binary_operator_loc(repository); end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#11958 + # source://prism//lib/prism/node.rb#12694 def save_name_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#11993 + # source://prism//lib/prism/node.rb#12729 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#11976 + # source://prism//lib/prism/node.rb#12712 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#11998 + # source://prism//lib/prism/node.rb#12734 def type; end end end @@ -23315,13 +23953,13 @@ end # target ||= value # ^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#12019 +# source://prism//lib/prism/node.rb#12755 class Prism::LocalVariableOrWriteNode < ::Prism::Node # Initialize a new LocalVariableOrWriteNode node. # # @return [LocalVariableOrWriteNode] a new instance of LocalVariableOrWriteNode # - # source://prism//lib/prism/node.rb#12021 + # source://prism//lib/prism/node.rb#12757 sig do params( source: Prism::Source, @@ -23340,36 +23978,36 @@ class Prism::LocalVariableOrWriteNode < ::Prism::Node # 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#12123 + # source://prism//lib/prism/node.rb#12866 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#12034 + # source://prism//lib/prism/node.rb#12770 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12039 + # source://prism//lib/prism/node.rb#12775 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#12049 + # source://prism//lib/prism/node.rb#12792 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#12044 + # source://prism//lib/prism/node.rb#12787 sig { override.returns(T::Array[Prism::Node]) } 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#12054 + # source://prism//lib/prism/node.rb#12797 sig do params( node_id: Integer, @@ -23387,86 +24025,93 @@ class Prism::LocalVariableOrWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12059 + # source://prism//lib/prism/node.rb#12802 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#12062 + # source://prism//lib/prism/node.rb#12805 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # attr_reader depth: Integer # - # source://prism//lib/prism/node.rb#12099 + # source://prism//lib/prism/node.rb#12842 sig { returns(Integer) } def depth; end # source://prism//lib/prism/desugar_compiler.rb#243 def desugar; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#12780 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#12107 + # source://prism//lib/prism/node.rb#12850 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#12096 + # source://prism//lib/prism/node.rb#12839 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#12067 + # source://prism//lib/prism/node.rb#12810 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#12102 + # source://prism//lib/prism/node.rb#12845 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#12080 + # source://prism//lib/prism/node.rb#12823 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#12075 + # source://prism//lib/prism/node.rb#12818 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#12088 + # source://prism//lib/prism/node.rb#12831 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#12112 + # source://prism//lib/prism/node.rb#12855 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#12093 + # source://prism//lib/prism/node.rb#12836 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#12117 + # source://prism//lib/prism/node.rb#12860 def type; end end end @@ -23476,13 +24121,13 @@ end # foo # ^^^ # -# source://prism//lib/prism/node.rb#12137 +# source://prism//lib/prism/node.rb#12880 class Prism::LocalVariableReadNode < ::Prism::Node # Initialize a new LocalVariableReadNode node. # # @return [LocalVariableReadNode] a new instance of LocalVariableReadNode # - # source://prism//lib/prism/node.rb#12139 + # source://prism//lib/prism/node.rb#12882 sig do params( source: Prism::Source, @@ -23498,36 +24143,36 @@ class Prism::LocalVariableReadNode < ::Prism::Node # 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#12218 + # source://prism//lib/prism/node.rb#12967 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#12149 + # source://prism//lib/prism/node.rb#12892 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12154 + # source://prism//lib/prism/node.rb#12897 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#12164 + # source://prism//lib/prism/node.rb#12913 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#12159 + # source://prism//lib/prism/node.rb#12908 sig { override.returns(T::Array[Prism::Node]) } 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#12169 + # source://prism//lib/prism/node.rb#12918 sig do params( node_id: Integer, @@ -23542,13 +24187,13 @@ class Prism::LocalVariableReadNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12174 + # source://prism//lib/prism/node.rb#12923 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, depth: Integer } # - # source://prism//lib/prism/node.rb#12177 + # source://prism//lib/prism/node.rb#12926 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end @@ -23560,16 +24205,21 @@ class Prism::LocalVariableReadNode < ::Prism::Node # # 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#12199 + # source://prism//lib/prism/node.rb#12948 sig { returns(Integer) } def depth; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#12902 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#12202 + # source://prism//lib/prism/node.rb#12951 sig { override.returns(String) } def inspect; end @@ -23583,20 +24233,20 @@ class Prism::LocalVariableReadNode < ::Prism::Node # # _1 # name `:_1` # - # source://prism//lib/prism/node.rb#12190 + # source://prism//lib/prism/node.rb#12939 sig { returns(Symbol) } def name; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#12207 + # source://prism//lib/prism/node.rb#12956 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#12212 + # source://prism//lib/prism/node.rb#12961 def type; end end end @@ -23609,13 +24259,13 @@ end # foo => baz # ^^^ # -# source://prism//lib/prism/node.rb#12232 +# source://prism//lib/prism/node.rb#12981 class Prism::LocalVariableTargetNode < ::Prism::Node # Initialize a new LocalVariableTargetNode node. # # @return [LocalVariableTargetNode] a new instance of LocalVariableTargetNode # - # source://prism//lib/prism/node.rb#12234 + # source://prism//lib/prism/node.rb#12983 sig do params( source: Prism::Source, @@ -23631,36 +24281,36 @@ class Prism::LocalVariableTargetNode < ::Prism::Node # 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#12299 + # source://prism//lib/prism/node.rb#13054 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#12244 + # source://prism//lib/prism/node.rb#12993 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12249 + # source://prism//lib/prism/node.rb#12998 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#12259 + # source://prism//lib/prism/node.rb#13014 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#12254 + # source://prism//lib/prism/node.rb#13009 sig { override.returns(T::Array[Prism::Node]) } 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#12264 + # source://prism//lib/prism/node.rb#13019 sig do params( node_id: Integer, @@ -23675,47 +24325,52 @@ class Prism::LocalVariableTargetNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12269 + # source://prism//lib/prism/node.rb#13024 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, depth: Integer } # - # source://prism//lib/prism/node.rb#12272 + # source://prism//lib/prism/node.rb#13027 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # attr_reader depth: Integer # - # source://prism//lib/prism/node.rb#12280 + # source://prism//lib/prism/node.rb#13035 sig { returns(Integer) } def depth; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#13003 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#12283 + # source://prism//lib/prism/node.rb#13038 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#12277 + # source://prism//lib/prism/node.rb#13032 sig { returns(Symbol) } def name; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#12288 + # source://prism//lib/prism/node.rb#13043 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#12293 + # source://prism//lib/prism/node.rb#13048 def type; end end end @@ -23725,13 +24380,13 @@ end # foo = 1 # ^^^^^^^ # -# source://prism//lib/prism/node.rb#12310 +# source://prism//lib/prism/node.rb#13065 class Prism::LocalVariableWriteNode < ::Prism::Node # Initialize a new LocalVariableWriteNode node. # # @return [LocalVariableWriteNode] a new instance of LocalVariableWriteNode # - # source://prism//lib/prism/node.rb#12312 + # source://prism//lib/prism/node.rb#13067 sig do params( source: Prism::Source, @@ -23750,36 +24405,36 @@ class Prism::LocalVariableWriteNode < ::Prism::Node # 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#12440 + # source://prism//lib/prism/node.rb#13202 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#12325 + # source://prism//lib/prism/node.rb#13080 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12330 + # source://prism//lib/prism/node.rb#13085 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#12340 + # source://prism//lib/prism/node.rb#13102 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#12335 + # source://prism//lib/prism/node.rb#13097 sig { override.returns(T::Array[Prism::Node]) } 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#12345 + # source://prism//lib/prism/node.rb#13107 sig do params( node_id: Integer, @@ -23797,13 +24452,13 @@ class Prism::LocalVariableWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12350 + # source://prism//lib/prism/node.rb#13112 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, depth: Integer, name_loc: Location, value: Prism::node, operator_loc: Location } # - # source://prism//lib/prism/node.rb#12353 + # source://prism//lib/prism/node.rb#13115 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end @@ -23815,16 +24470,23 @@ class Prism::LocalVariableWriteNode < ::Prism::Node # # 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#12371 + # source://prism//lib/prism/node.rb#13133 sig { returns(Integer) } def depth; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#13090 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#12424 + # source://prism//lib/prism/node.rb#13186 sig { override.returns(String) } def inspect; end @@ -23834,7 +24496,7 @@ class Prism::LocalVariableWriteNode < ::Prism::Node # # abc = 123 # name `:abc` # - # source://prism//lib/prism/node.rb#12362 + # source://prism//lib/prism/node.rb#13124 sig { returns(Symbol) } def name; end @@ -23843,13 +24505,13 @@ class Prism::LocalVariableWriteNode < ::Prism::Node # foo = :bar # ^^^ # - # source://prism//lib/prism/node.rb#12377 + # source://prism//lib/prism/node.rb#13139 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#12419 + # source://prism//lib/prism/node.rb#13181 sig { returns(String) } def operator; end @@ -23858,25 +24520,25 @@ class Prism::LocalVariableWriteNode < ::Prism::Node # x = :y # ^ # - # source://prism//lib/prism/node.rb#12406 + # source://prism//lib/prism/node.rb#13168 sig { returns(Prism::Location) } def operator_loc; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#12385 + # source://prism//lib/prism/node.rb#13147 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#12414 + # source://prism//lib/prism/node.rb#13176 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#12429 + # source://prism//lib/prism/node.rb#13191 sig { override.returns(Symbol) } def type; end @@ -23892,34 +24554,34 @@ class Prism::LocalVariableWriteNode < ::Prism::Node # # foo = foo # - # source://prism//lib/prism/node.rb#12400 + # source://prism//lib/prism/node.rb#13162 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#12434 + # source://prism//lib/prism/node.rb#13196 def type; end end end # This represents a location in the source. # -# source://prism//lib/prism/parse_result.rb#291 +# source://prism//lib/prism/parse_result.rb#278 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#306 + # source://prism//lib/prism/parse_result.rb#293 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#494 + # source://prism//lib/prism/parse_result.rb#481 sig { params(other: T.untyped).returns(T::Boolean) } def ==(other); end @@ -23927,14 +24589,14 @@ class Prism::Location # 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#513 + # source://prism//lib/prism/parse_result.rb#500 sig { params(string: String).returns(Prism::Location) } def adjoin(string); end # The end column in code units using the given cache to fetch or calculate # the value. # - # source://prism//lib/prism/parse_result.rb#479 + # source://prism//lib/prism/parse_result.rb#466 sig do params( cache: T.any(Prism::CodeUnitsCache, T.proc.params(byte_offset: Integer).returns(Integer)) @@ -23945,7 +24607,7 @@ class Prism::Location # The end offset from the start of the file in code units using the given # cache to fetch or calculate the value. # - # source://prism//lib/prism/parse_result.rb#415 + # source://prism//lib/prism/parse_result.rb#402 sig do params( cache: T.any(Prism::CodeUnitsCache, T.proc.params(byte_offset: Integer).returns(Integer)) @@ -23956,7 +24618,7 @@ class Prism::Location # The start column in code units using the given cache to fetch or calculate # the value. # - # source://prism//lib/prism/parse_result.rb#455 + # source://prism//lib/prism/parse_result.rb#442 sig do params( cache: T.any(Prism::CodeUnitsCache, T.proc.params(byte_offset: Integer).returns(Integer)) @@ -23967,7 +24629,7 @@ class Prism::Location # The start offset from the start of the file in code units using the given # cache to fetch or calculate the value. # - # source://prism//lib/prism/parse_result.rb#393 + # source://prism//lib/prism/parse_result.rb#380 sig do params( cache: T.any(Prism::CodeUnitsCache, T.proc.params(byte_offset: Integer).returns(Integer)) @@ -23977,78 +24639,78 @@ class Prism::Location # Returns a new location that is the result of chopping off the last byte. # - # source://prism//lib/prism/parse_result.rb#352 + # source://prism//lib/prism/parse_result.rb#339 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#342 + # source://prism//lib/prism/parse_result.rb#329 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#347 + # source://prism//lib/prism/parse_result.rb#334 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#484 + # source://prism//lib/prism/parse_result.rb#471 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#467 + # source://prism//lib/prism/parse_result.rb#454 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#404 + # source://prism//lib/prism/parse_result.rb#391 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#473 + # source://prism//lib/prism/parse_result.rb#460 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#409 + # source://prism//lib/prism/parse_result.rb#396 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#461 + # source://prism//lib/prism/parse_result.rb#448 sig { returns(Integer) } def end_column; end # The line number where this location ends. # - # source://prism//lib/prism/parse_result.rb#431 + # source://prism//lib/prism/parse_result.rb#418 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#398 + # source://prism//lib/prism/parse_result.rb#385 sig { returns(Integer) } def end_offset; end # Returns a string representation of this location. # - # source://prism//lib/prism/parse_result.rb#357 + # source://prism//lib/prism/parse_result.rb#344 sig { returns(String) } def inspect; end @@ -24056,38 +24718,38 @@ class Prism::Location # 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#503 + # source://prism//lib/prism/parse_result.rb#490 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#325 + # source://prism//lib/prism/parse_result.rb#312 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#320 + # source://prism//lib/prism/parse_result.rb#307 sig { returns(T::Array[Prism::Comment]) } def leading_comments; end # The length of this location in bytes. # - # source://prism//lib/prism/parse_result.rb#302 + # source://prism//lib/prism/parse_result.rb#289 sig { returns(Integer) } def length; end # Implement the pretty print interface for Location. # - # source://prism//lib/prism/parse_result.rb#489 + # source://prism//lib/prism/parse_result.rb#476 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#367 + # source://prism//lib/prism/parse_result.rb#354 sig { returns(String) } def slice; end @@ -24095,78 +24757,78 @@ class Prism::Location # 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#374 + # source://prism//lib/prism/parse_result.rb#361 def slice_lines; end # Returns all of the lines of the source code associated with this location. # - # source://prism//lib/prism/parse_result.rb#362 + # source://prism//lib/prism/parse_result.rb#349 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#443 + # source://prism//lib/prism/parse_result.rb#430 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#382 + # source://prism//lib/prism/parse_result.rb#369 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#449 + # source://prism//lib/prism/parse_result.rb#436 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#387 + # source://prism//lib/prism/parse_result.rb#374 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#437 + # source://prism//lib/prism/parse_result.rb#424 sig { returns(Integer) } def start_column; end # The line number where this location starts. # - # source://prism//lib/prism/parse_result.rb#420 + # source://prism//lib/prism/parse_result.rb#407 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#425 + # source://prism//lib/prism/parse_result.rb#412 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#299 + # source://prism//lib/prism/parse_result.rb#286 sig { returns(Integer) } def start_offset; end # Attach a comment to the trailing comments of this location. # - # source://prism//lib/prism/parse_result.rb#336 + # source://prism//lib/prism/parse_result.rb#323 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#331 + # source://prism//lib/prism/parse_result.rb#318 sig { returns(T::Array[Prism::Comment]) } def trailing_comments; end @@ -24175,66 +24837,66 @@ class Prism::Location # A Source object that is used to determine more information from the given # offset and length. # - # source://prism//lib/prism/parse_result.rb#294 + # source://prism//lib/prism/parse_result.rb#281 sig { returns(Prism::Source) } def source; end end # Flags for while and until loop nodes. # -# source://prism//lib/prism/node.rb#18708 +# source://prism//lib/prism/node.rb#19850 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#18710 +# source://prism//lib/prism/node.rb#19852 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#575 +# source://prism//lib/prism/parse_result.rb#562 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#583 + # source://prism//lib/prism/parse_result.rb#570 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#599 + # source://prism//lib/prism/parse_result.rb#586 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#604 + # source://prism//lib/prism/parse_result.rb#591 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#589 + # source://prism//lib/prism/parse_result.rb#576 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#577 + # source://prism//lib/prism/parse_result.rb#564 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#594 + # source://prism//lib/prism/parse_result.rb#581 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#580 + # source://prism//lib/prism/parse_result.rb#567 sig { returns(Prism::Location) } def value_loc; end end @@ -24244,7 +24906,7 @@ end # if /foo/i then end # ^^^^^^ # -# source://prism//lib/prism/node.rb#12454 +# source://prism//lib/prism/node.rb#13216 class Prism::MatchLastLineNode < ::Prism::Node include ::Prism::RegularExpressionOptions @@ -24252,7 +24914,7 @@ class Prism::MatchLastLineNode < ::Prism::Node # # @return [MatchLastLineNode] a new instance of MatchLastLineNode # - # source://prism//lib/prism/node.rb#12456 + # source://prism//lib/prism/node.rb#13218 sig do params( source: Prism::Source, @@ -24270,12 +24932,12 @@ class Prism::MatchLastLineNode < ::Prism::Node # 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#12629 + # source://prism//lib/prism/node.rb#13397 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#12468 + # source://prism//lib/prism/node.rb#13230 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -24283,55 +24945,55 @@ class Prism::MatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#12526 + # source://prism//lib/prism/node.rb#13294 sig { returns(T::Boolean) } def ascii_8bit?; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12473 + # source://prism//lib/prism/node.rb#13235 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#12608 + # source://prism//lib/prism/node.rb#13376 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#12582 + # source://prism//lib/prism/node.rb#13350 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#12483 + # source://prism//lib/prism/node.rb#13251 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#12478 + # source://prism//lib/prism/node.rb#13246 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def content: () -> String # - # source://prism//lib/prism/node.rb#12603 + # source://prism//lib/prism/node.rb#13371 sig { returns(String) } def content; end # attr_reader content_loc: Location # - # source://prism//lib/prism/node.rb#12569 + # source://prism//lib/prism/node.rb#13337 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#12488 + # source://prism//lib/prism/node.rb#13256 sig do params( node_id: Integer, @@ -24348,21 +25010,26 @@ class Prism::MatchLastLineNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12493 + # source://prism//lib/prism/node.rb#13261 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#12496 + # source://prism//lib/prism/node.rb#13264 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#13240 + def each_child_node; end + # def euc_jp?: () -> bool # # @return [Boolean] # - # source://prism//lib/prism/node.rb#12521 + # source://prism//lib/prism/node.rb#13289 sig { returns(T::Boolean) } def euc_jp?; end @@ -24370,7 +25037,7 @@ class Prism::MatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#12506 + # source://prism//lib/prism/node.rb#13274 sig { returns(T::Boolean) } def extended?; end @@ -24381,7 +25048,7 @@ class Prism::MatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#12546 + # source://prism//lib/prism/node.rb#13314 sig { returns(T::Boolean) } def forced_binary_encoding?; end @@ -24389,7 +25056,7 @@ class Prism::MatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#12551 + # source://prism//lib/prism/node.rb#13319 sig { returns(T::Boolean) } def forced_us_ascii_encoding?; end @@ -24397,7 +25064,7 @@ class Prism::MatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#12541 + # source://prism//lib/prism/node.rb#13309 sig { returns(T::Boolean) } def forced_utf8_encoding?; end @@ -24405,13 +25072,13 @@ class Prism::MatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#12501 + # source://prism//lib/prism/node.rb#13269 sig { returns(T::Boolean) } def ignore_case?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#12613 + # source://prism//lib/prism/node.rb#13381 sig { override.returns(String) } def inspect; end @@ -24419,7 +25086,7 @@ class Prism::MatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#12511 + # source://prism//lib/prism/node.rb#13279 sig { returns(T::Boolean) } def multi_line?; end @@ -24427,19 +25094,19 @@ class Prism::MatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#12516 + # source://prism//lib/prism/node.rb#13284 sig { returns(T::Boolean) } def once?; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#12598 + # source://prism//lib/prism/node.rb#13366 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#12556 + # source://prism//lib/prism/node.rb#13324 sig { returns(Prism::Location) } def opening_loc; end @@ -24449,30 +25116,30 @@ class Prism::MatchLastLineNode < ::Prism::Node # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#12590 + # source://prism//lib/prism/node.rb#13358 def save_closing_loc(repository); end # Save the content_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#12577 + # source://prism//lib/prism/node.rb#13345 def save_content_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#12564 + # source://prism//lib/prism/node.rb#13332 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#12618 + # source://prism//lib/prism/node.rb#13386 sig { override.returns(Symbol) } def type; end # attr_reader unescaped: String # - # source://prism//lib/prism/node.rb#12595 + # source://prism//lib/prism/node.rb#13363 sig { returns(String) } def unescaped; end @@ -24480,7 +25147,7 @@ class Prism::MatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#12536 + # source://prism//lib/prism/node.rb#13304 sig { returns(T::Boolean) } def utf_8?; end @@ -24488,14 +25155,14 @@ class Prism::MatchLastLineNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#12531 + # source://prism//lib/prism/node.rb#13299 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#12623 + # source://prism//lib/prism/node.rb#13391 def type; end end end @@ -24505,13 +25172,13 @@ end # foo in bar # ^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#12643 +# source://prism//lib/prism/node.rb#13411 class Prism::MatchPredicateNode < ::Prism::Node # Initialize a new MatchPredicateNode node. # # @return [MatchPredicateNode] a new instance of MatchPredicateNode # - # source://prism//lib/prism/node.rb#12645 + # source://prism//lib/prism/node.rb#13413 sig do params( source: Prism::Source, @@ -24528,36 +25195,36 @@ class Prism::MatchPredicateNode < ::Prism::Node # 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#12729 + # source://prism//lib/prism/node.rb#13505 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#12656 + # source://prism//lib/prism/node.rb#13424 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12661 + # source://prism//lib/prism/node.rb#13429 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#12671 + # source://prism//lib/prism/node.rb#13447 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#12666 + # source://prism//lib/prism/node.rb#13442 sig { override.returns(T::Array[Prism::Node]) } 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#12676 + # source://prism//lib/prism/node.rb#13452 sig do params( node_id: Integer, @@ -24573,65 +25240,72 @@ class Prism::MatchPredicateNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12681 + # source://prism//lib/prism/node.rb#13457 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#12684 + # source://prism//lib/prism/node.rb#13460 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#13434 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#12713 + # source://prism//lib/prism/node.rb#13489 sig { override.returns(String) } def inspect; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#12708 + # source://prism//lib/prism/node.rb#13484 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#12695 + # source://prism//lib/prism/node.rb#13471 sig { returns(Prism::Location) } def operator_loc; end # attr_reader pattern: Prism::node # - # source://prism//lib/prism/node.rb#12692 + # source://prism//lib/prism/node.rb#13468 sig { returns(Prism::Node) } def pattern; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#12703 + # source://prism//lib/prism/node.rb#13479 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#12718 + # source://prism//lib/prism/node.rb#13494 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#12689 + # source://prism//lib/prism/node.rb#13465 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#12723 + # source://prism//lib/prism/node.rb#13499 def type; end end end @@ -24641,13 +25315,13 @@ end # foo => bar # ^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#12741 +# source://prism//lib/prism/node.rb#13517 class Prism::MatchRequiredNode < ::Prism::Node # Initialize a new MatchRequiredNode node. # # @return [MatchRequiredNode] a new instance of MatchRequiredNode # - # source://prism//lib/prism/node.rb#12743 + # source://prism//lib/prism/node.rb#13519 sig do params( source: Prism::Source, @@ -24664,36 +25338,36 @@ class Prism::MatchRequiredNode < ::Prism::Node # 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#12875 + # source://prism//lib/prism/node.rb#13659 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#12754 + # source://prism//lib/prism/node.rb#13530 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12759 + # source://prism//lib/prism/node.rb#13535 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#12769 + # source://prism//lib/prism/node.rb#13553 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#12764 + # source://prism//lib/prism/node.rb#13548 sig { override.returns(T::Array[Prism::Node]) } 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#12774 + # source://prism//lib/prism/node.rb#13558 sig do params( node_id: Integer, @@ -24709,28 +25383,35 @@ class Prism::MatchRequiredNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12779 + # source://prism//lib/prism/node.rb#13563 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#12782 + # source://prism//lib/prism/node.rb#13566 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#13540 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#12859 + # source://prism//lib/prism/node.rb#13643 sig { override.returns(String) } def inspect; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#12854 + # source://prism//lib/prism/node.rb#13638 sig { returns(String) } def operator; end @@ -24739,7 +25420,7 @@ class Prism::MatchRequiredNode < ::Prism::Node # foo => bar # ^^ # - # source://prism//lib/prism/node.rb#12841 + # source://prism//lib/prism/node.rb#13625 sig { returns(Prism::Location) } def operator_loc; end @@ -24787,19 +25468,19 @@ class Prism::MatchRequiredNode < ::Prism::Node # # foo => CONST # - # source://prism//lib/prism/node.rb#12835 + # source://prism//lib/prism/node.rb#13619 sig { returns(Prism::Node) } def pattern; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#12849 + # source://prism//lib/prism/node.rb#13633 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#12864 + # source://prism//lib/prism/node.rb#13648 sig { override.returns(Symbol) } def type; end @@ -24808,14 +25489,14 @@ class Prism::MatchRequiredNode < ::Prism::Node # foo => bar # ^^^ # - # source://prism//lib/prism/node.rb#12790 + # source://prism//lib/prism/node.rb#13574 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#12869 + # source://prism//lib/prism/node.rb#13653 def type; end end end @@ -24825,13 +25506,13 @@ end # /(?bar)/ =~ baz # ^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#12887 +# source://prism//lib/prism/node.rb#13671 class Prism::MatchWriteNode < ::Prism::Node # Initialize a new MatchWriteNode node. # # @return [MatchWriteNode] a new instance of MatchWriteNode # - # source://prism//lib/prism/node.rb#12889 + # source://prism//lib/prism/node.rb#13673 sig do params( source: Prism::Source, @@ -24847,42 +25528,42 @@ class Prism::MatchWriteNode < ::Prism::Node # 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#12954 + # source://prism//lib/prism/node.rb#13746 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#12899 + # source://prism//lib/prism/node.rb#13683 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader call: CallNode # - # source://prism//lib/prism/node.rb#12932 + # source://prism//lib/prism/node.rb#13724 sig { returns(Prism::CallNode) } def call; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12904 + # source://prism//lib/prism/node.rb#13688 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#12914 + # source://prism//lib/prism/node.rb#13706 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#12909 + # source://prism//lib/prism/node.rb#13701 sig { override.returns(T::Array[Prism::Node]) } 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#12919 + # source://prism//lib/prism/node.rb#13711 sig do params( node_id: Integer, @@ -24897,125 +25578,137 @@ class Prism::MatchWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12924 + # source://prism//lib/prism/node.rb#13716 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#12927 + # source://prism//lib/prism/node.rb#13719 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [call] + # + # source://prism//lib/prism/node.rb#13693 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#12938 + # source://prism//lib/prism/node.rb#13730 sig { override.returns(String) } def inspect; end # attr_reader targets: Array[LocalVariableTargetNode] # - # source://prism//lib/prism/node.rb#12935 + # source://prism//lib/prism/node.rb#13727 sig { returns(T::Array[Prism::LocalVariableTargetNode]) } def targets; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#12943 + # source://prism//lib/prism/node.rb#13735 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#12948 + # source://prism//lib/prism/node.rb#13740 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#12963 +# source://prism//lib/prism/node.rb#13755 class Prism::MissingNode < ::Prism::Node # Initialize a new MissingNode node. # # @return [MissingNode] a new instance of MissingNode # - # source://prism//lib/prism/node.rb#12965 + # source://prism//lib/prism/node.rb#13757 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#13022 + # source://prism//lib/prism/node.rb#13820 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#12973 + # source://prism//lib/prism/node.rb#13765 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12978 + # source://prism//lib/prism/node.rb#13770 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#12988 + # source://prism//lib/prism/node.rb#13786 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#12983 + # source://prism//lib/prism/node.rb#13781 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> MissingNode # - # source://prism//lib/prism/node.rb#12993 + # source://prism//lib/prism/node.rb#13791 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::MissingNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#12998 + # source://prism//lib/prism/node.rb#13796 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#13001 + # source://prism//lib/prism/node.rb#13799 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#13775 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#13006 + # source://prism//lib/prism/node.rb#13804 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#13011 + # source://prism//lib/prism/node.rb#13809 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#13016 + # source://prism//lib/prism/node.rb#13814 def type; end end end @@ -25025,13 +25718,13 @@ end # module Foo end # ^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#13031 +# source://prism//lib/prism/node.rb#13829 class Prism::ModuleNode < ::Prism::Node # Initialize a new ModuleNode node. # # @return [ModuleNode] a new instance of ModuleNode # - # source://prism//lib/prism/node.rb#13033 + # source://prism//lib/prism/node.rb#13831 sig do params( source: Prism::Source, @@ -25051,48 +25744,48 @@ class Prism::ModuleNode < ::Prism::Node # 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#13147 + # source://prism//lib/prism/node.rb#13953 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#13047 + # source://prism//lib/prism/node.rb#13845 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader body: StatementsNode | BeginNode | nil # - # source://prism//lib/prism/node.rb#13102 + # source://prism//lib/prism/node.rb#13908 sig { returns(T.nilable(T.any(Prism::StatementsNode, Prism::BeginNode))) } def body; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13052 + # source://prism//lib/prism/node.rb#13850 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#13065 + # source://prism//lib/prism/node.rb#13871 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#13057 + # source://prism//lib/prism/node.rb#13863 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # attr_reader constant_path: ConstantReadNode | ConstantPathNode | MissingNode # - # source://prism//lib/prism/node.rb#13099 + # source://prism//lib/prism/node.rb#13905 sig { returns(T.any(Prism::ConstantReadNode, Prism::ConstantPathNode, Prism::MissingNode)) } def constant_path; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?module_keyword_loc: Location, ?constant_path: ConstantReadNode | ConstantPathNode | MissingNode, ?body: StatementsNode | BeginNode | nil, ?end_keyword_loc: Location, ?name: Symbol) -> ModuleNode # - # source://prism//lib/prism/node.rb#13070 + # source://prism//lib/prism/node.rb#13876 sig do params( node_id: Integer, @@ -25111,25 +25804,32 @@ class Prism::ModuleNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13075 + # source://prism//lib/prism/node.rb#13881 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, locals: Array[Symbol], module_keyword_loc: Location, constant_path: ConstantReadNode | ConstantPathNode | MissingNode, body: StatementsNode | BeginNode | nil, end_keyword_loc: Location, name: Symbol } # - # source://prism//lib/prism/node.rb#13078 + # source://prism//lib/prism/node.rb#13884 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [constant_path] + # + # source://prism//lib/prism/node.rb#13855 + def each_child_node; end + # def end_keyword: () -> String # - # source://prism//lib/prism/node.rb#13126 + # source://prism//lib/prism/node.rb#13932 sig { returns(String) } def end_keyword; end # attr_reader end_keyword_loc: Location # - # source://prism//lib/prism/node.rb#13105 + # source://prism//lib/prism/node.rb#13911 sig { returns(Prism::Location) } def end_keyword_loc; end @@ -25138,56 +25838,56 @@ class Prism::ModuleNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#13131 + # source://prism//lib/prism/node.rb#13937 sig { override.returns(String) } def inspect; end # attr_reader locals: Array[Symbol] # - # source://prism//lib/prism/node.rb#13083 + # source://prism//lib/prism/node.rb#13889 sig { returns(T::Array[Symbol]) } def locals; end # def module_keyword: () -> String # - # source://prism//lib/prism/node.rb#13121 + # source://prism//lib/prism/node.rb#13927 sig { returns(String) } def module_keyword; end # attr_reader module_keyword_loc: Location # - # source://prism//lib/prism/node.rb#13086 + # source://prism//lib/prism/node.rb#13892 sig { returns(Prism::Location) } def module_keyword_loc; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#13118 + # source://prism//lib/prism/node.rb#13924 sig { returns(Symbol) } def name; end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#13113 + # source://prism//lib/prism/node.rb#13919 def save_end_keyword_loc(repository); end # Save the module_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#13094 + # source://prism//lib/prism/node.rb#13900 def save_module_keyword_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#13136 + # source://prism//lib/prism/node.rb#13942 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#13141 + # source://prism//lib/prism/node.rb#13947 def type; end end end @@ -25202,13 +25902,13 @@ end # for a, b in [[1, 2], [3, 4]] # ^^^^ # -# source://prism//lib/prism/node.rb#13168 +# source://prism//lib/prism/node.rb#13974 class Prism::MultiTargetNode < ::Prism::Node # Initialize a new MultiTargetNode node. # # @return [MultiTargetNode] a new instance of MultiTargetNode # - # source://prism//lib/prism/node.rb#13170 + # source://prism//lib/prism/node.rb#13976 sig do params( source: Prism::Source, @@ -25227,36 +25927,36 @@ class Prism::MultiTargetNode < ::Prism::Node # 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#13323 + # source://prism//lib/prism/node.rb#14138 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#13183 + # source://prism//lib/prism/node.rb#13989 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13188 + # source://prism//lib/prism/node.rb#13994 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#13202 + # source://prism//lib/prism/node.rb#14017 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#13193 + # source://prism//lib/prism/node.rb#14008 sig { override.returns(T::Array[Prism::Node]) } 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 | NumberedReferenceReadNode], ?lparen_loc: Location?, ?rparen_loc: Location?) -> MultiTargetNode # - # source://prism//lib/prism/node.rb#13207 + # source://prism//lib/prism/node.rb#14022 sig do params( node_id: Integer, @@ -25274,22 +25974,29 @@ class Prism::MultiTargetNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13212 + # source://prism//lib/prism/node.rb#14027 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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 | NumberedReferenceReadNode], lparen_loc: Location?, rparen_loc: Location? } # - # source://prism//lib/prism/node.rb#13215 + # source://prism//lib/prism/node.rb#14030 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [rest] + # + # source://prism//lib/prism/node.rb#13999 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#13307 + # source://prism//lib/prism/node.rb#14122 sig { override.returns(String) } def inspect; end @@ -25303,7 +26010,7 @@ class Prism::MultiTargetNode < ::Prism::Node # a, (b, c) = 1, 2, 3, 4, 5 # ^^^^ # - # source://prism//lib/prism/node.rb#13228 + # source://prism//lib/prism/node.rb#14043 sig do returns(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)]) end @@ -25311,7 +26018,7 @@ class Prism::MultiTargetNode < ::Prism::Node # def lparen: () -> String? # - # source://prism//lib/prism/node.rb#13297 + # source://prism//lib/prism/node.rb#14112 sig { returns(T.nilable(String)) } def lparen; end @@ -25320,7 +26027,7 @@ class Prism::MultiTargetNode < ::Prism::Node # a, (b, c) = 1, 2, 3 # ^ # - # source://prism//lib/prism/node.rb#13256 + # source://prism//lib/prism/node.rb#14071 sig { returns(T.nilable(Prism::Location)) } def lparen_loc; end @@ -25339,7 +26046,7 @@ class Prism::MultiTargetNode < ::Prism::Node # a, (b,) = 1, 2, 3, 4 # ^ # - # source://prism//lib/prism/node.rb#13244 + # source://prism//lib/prism/node.rb#14059 sig { returns(T.nilable(T.any(Prism::ImplicitRestNode, Prism::SplatNode))) } def rest; end @@ -25348,7 +26055,7 @@ class Prism::MultiTargetNode < ::Prism::Node # a, (*, b, c) = 1, 2, 3, 4, 5 # ^^^^ # - # source://prism//lib/prism/node.rb#13250 + # source://prism//lib/prism/node.rb#14065 sig do returns(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)]) end @@ -25356,7 +26063,7 @@ class Prism::MultiTargetNode < ::Prism::Node # def rparen: () -> String? # - # source://prism//lib/prism/node.rb#13302 + # source://prism//lib/prism/node.rb#14117 sig { returns(T.nilable(String)) } def rparen; end @@ -25365,32 +26072,32 @@ class Prism::MultiTargetNode < ::Prism::Node # a, (b, c) = 1, 2, 3 # ^ # - # source://prism//lib/prism/node.rb#13278 + # source://prism//lib/prism/node.rb#14093 sig { returns(T.nilable(Prism::Location)) } def rparen_loc; end # Save the lparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#13270 + # source://prism//lib/prism/node.rb#14085 def save_lparen_loc(repository); end # Save the rparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#13292 + # source://prism//lib/prism/node.rb#14107 def save_rparen_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#13312 + # source://prism//lib/prism/node.rb#14127 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#13317 + # source://prism//lib/prism/node.rb#14132 def type; end end end @@ -25400,13 +26107,13 @@ end # a, b, c = 1, 2, 3 # ^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#13339 +# source://prism//lib/prism/node.rb#14154 class Prism::MultiWriteNode < ::Prism::Node # Initialize a new MultiWriteNode node. # # @return [MultiWriteNode] a new instance of MultiWriteNode # - # source://prism//lib/prism/node.rb#13341 + # source://prism//lib/prism/node.rb#14156 sig do params( source: Prism::Source, @@ -25427,36 +26134,36 @@ class Prism::MultiWriteNode < ::Prism::Node # 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#13524 + # source://prism//lib/prism/node.rb#14349 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#13356 + # source://prism//lib/prism/node.rb#14171 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13361 + # source://prism//lib/prism/node.rb#14176 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#13376 + # source://prism//lib/prism/node.rb#14201 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#13366 + # source://prism//lib/prism/node.rb#14191 sig { override.returns(T::Array[Prism::Node]) } 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 | BackReferenceReadNode | NumberedReferenceReadNode], ?rest: ImplicitRestNode | SplatNode | nil, ?rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode], ?lparen_loc: Location?, ?rparen_loc: Location?, ?operator_loc: Location, ?value: Prism::node) -> MultiWriteNode # - # source://prism//lib/prism/node.rb#13381 + # source://prism//lib/prism/node.rb#14206 sig do params( node_id: Integer, @@ -25476,22 +26183,29 @@ class Prism::MultiWriteNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13386 + # source://prism//lib/prism/node.rb#14211 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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 | BackReferenceReadNode | NumberedReferenceReadNode], rest: ImplicitRestNode | SplatNode | nil, rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | BackReferenceReadNode | NumberedReferenceReadNode], lparen_loc: Location?, rparen_loc: Location?, operator_loc: Location, value: Prism::node } # - # source://prism//lib/prism/node.rb#13389 + # source://prism//lib/prism/node.rb#14214 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [rest] + # + # source://prism//lib/prism/node.rb#14181 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#13508 + # source://prism//lib/prism/node.rb#14333 sig { override.returns(String) } def inspect; end @@ -25505,7 +26219,7 @@ class Prism::MultiWriteNode < ::Prism::Node # a, b, c = 1, 2, 3, 4, 5 # ^^^^^^^ # - # source://prism//lib/prism/node.rb#13402 + # source://prism//lib/prism/node.rb#14227 sig do returns(T::Array[T.any(Prism::LocalVariableTargetNode, Prism::InstanceVariableTargetNode, Prism::ClassVariableTargetNode, Prism::GlobalVariableTargetNode, Prism::ConstantTargetNode, Prism::ConstantPathTargetNode, Prism::CallTargetNode, Prism::IndexTargetNode, Prism::MultiTargetNode, Prism::BackReferenceReadNode, Prism::NumberedReferenceReadNode)]) end @@ -25513,7 +26227,7 @@ class Prism::MultiWriteNode < ::Prism::Node # def lparen: () -> String? # - # source://prism//lib/prism/node.rb#13493 + # source://prism//lib/prism/node.rb#14318 sig { returns(T.nilable(String)) } def lparen; end @@ -25522,13 +26236,13 @@ class Prism::MultiWriteNode < ::Prism::Node # (a, b, c) = 1, 2, 3 # ^ # - # source://prism//lib/prism/node.rb#13430 + # source://prism//lib/prism/node.rb#14255 sig { returns(T.nilable(Prism::Location)) } def lparen_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#13503 + # source://prism//lib/prism/node.rb#14328 sig { returns(String) } def operator; end @@ -25537,7 +26251,7 @@ class Prism::MultiWriteNode < ::Prism::Node # a, b, c = 1, 2, 3 # ^ # - # source://prism//lib/prism/node.rb#13474 + # source://prism//lib/prism/node.rb#14299 sig { returns(Prism::Location) } def operator_loc; end @@ -25556,7 +26270,7 @@ class Prism::MultiWriteNode < ::Prism::Node # a, b, = 1, 2, 3, 4 # ^ # - # source://prism//lib/prism/node.rb#13418 + # source://prism//lib/prism/node.rb#14243 sig { returns(T.nilable(T.any(Prism::ImplicitRestNode, Prism::SplatNode))) } def rest; end @@ -25565,7 +26279,7 @@ class Prism::MultiWriteNode < ::Prism::Node # a, *, b, c = 1, 2, 3, 4, 5 # ^^^^ # - # source://prism//lib/prism/node.rb#13424 + # source://prism//lib/prism/node.rb#14249 sig do returns(T::Array[T.any(Prism::LocalVariableTargetNode, Prism::InstanceVariableTargetNode, Prism::ClassVariableTargetNode, Prism::GlobalVariableTargetNode, Prism::ConstantTargetNode, Prism::ConstantPathTargetNode, Prism::CallTargetNode, Prism::IndexTargetNode, Prism::MultiTargetNode, Prism::BackReferenceReadNode, Prism::NumberedReferenceReadNode)]) end @@ -25573,7 +26287,7 @@ class Prism::MultiWriteNode < ::Prism::Node # def rparen: () -> String? # - # source://prism//lib/prism/node.rb#13498 + # source://prism//lib/prism/node.rb#14323 sig { returns(T.nilable(String)) } def rparen; end @@ -25582,31 +26296,31 @@ class Prism::MultiWriteNode < ::Prism::Node # (a, b, c) = 1, 2, 3 # ^ # - # source://prism//lib/prism/node.rb#13452 + # source://prism//lib/prism/node.rb#14277 sig { returns(T.nilable(Prism::Location)) } def rparen_loc; end # Save the lparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#13444 + # source://prism//lib/prism/node.rb#14269 def save_lparen_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#13482 + # source://prism//lib/prism/node.rb#14307 def save_operator_loc(repository); end # Save the rparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#13466 + # source://prism//lib/prism/node.rb#14291 def save_rparen_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#13513 + # source://prism//lib/prism/node.rb#14338 sig { override.returns(Symbol) } def type; end @@ -25615,14 +26329,14 @@ class Prism::MultiWriteNode < ::Prism::Node # a, b, c = 1, 2, 3 # ^^^^^^^ # - # source://prism//lib/prism/node.rb#13490 + # source://prism//lib/prism/node.rb#14315 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#13518 + # source://prism//lib/prism/node.rb#14343 def type; end end end @@ -26394,13 +27108,13 @@ end # next 1 # ^^^^^^ # -# source://prism//lib/prism/node.rb#13542 +# source://prism//lib/prism/node.rb#14367 class Prism::NextNode < ::Prism::Node # Initialize a new NextNode node. # # @return [NextNode] a new instance of NextNode # - # source://prism//lib/prism/node.rb#13544 + # source://prism//lib/prism/node.rb#14369 sig do params( source: Prism::Source, @@ -26416,42 +27130,42 @@ class Prism::NextNode < ::Prism::Node # 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#13626 + # source://prism//lib/prism/node.rb#14458 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#13554 + # source://prism//lib/prism/node.rb#14379 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader arguments: ArgumentsNode? # - # source://prism//lib/prism/node.rb#13589 + # source://prism//lib/prism/node.rb#14421 sig { returns(T.nilable(Prism::ArgumentsNode)) } def arguments; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13559 + # source://prism//lib/prism/node.rb#14384 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#13571 + # source://prism//lib/prism/node.rb#14403 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#13564 + # source://prism//lib/prism/node.rb#14396 sig { override.returns(T::Array[Prism::Node]) } 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#13576 + # source://prism//lib/prism/node.rb#14408 sig do params( node_id: Integer, @@ -26466,53 +27180,60 @@ class Prism::NextNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13581 + # source://prism//lib/prism/node.rb#14413 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#13584 + # source://prism//lib/prism/node.rb#14416 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [arguments] + # + # source://prism//lib/prism/node.rb#14389 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#13610 + # source://prism//lib/prism/node.rb#14442 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#13605 + # source://prism//lib/prism/node.rb#14437 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#13592 + # source://prism//lib/prism/node.rb#14424 sig { returns(Prism::Location) } def keyword_loc; end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#13600 + # source://prism//lib/prism/node.rb#14432 def save_keyword_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#13615 + # source://prism//lib/prism/node.rb#14447 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#13620 + # source://prism//lib/prism/node.rb#14452 def type; end end end @@ -26522,84 +27243,89 @@ end # nil # ^^^ # -# source://prism//lib/prism/node.rb#13637 +# source://prism//lib/prism/node.rb#14469 class Prism::NilNode < ::Prism::Node # Initialize a new NilNode node. # # @return [NilNode] a new instance of NilNode # - # source://prism//lib/prism/node.rb#13639 + # source://prism//lib/prism/node.rb#14471 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#13696 + # source://prism//lib/prism/node.rb#14534 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#13647 + # source://prism//lib/prism/node.rb#14479 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13652 + # source://prism//lib/prism/node.rb#14484 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#13662 + # source://prism//lib/prism/node.rb#14500 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#13657 + # source://prism//lib/prism/node.rb#14495 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> NilNode # - # source://prism//lib/prism/node.rb#13667 + # source://prism//lib/prism/node.rb#14505 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::NilNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13672 + # source://prism//lib/prism/node.rb#14510 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#13675 + # source://prism//lib/prism/node.rb#14513 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#14489 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#13680 + # source://prism//lib/prism/node.rb#14518 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#13685 + # source://prism//lib/prism/node.rb#14523 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#13690 + # source://prism//lib/prism/node.rb#14528 def type; end end end @@ -26610,13 +27336,13 @@ end # ^^^^^ # end # -# source://prism//lib/prism/node.rb#13706 +# source://prism//lib/prism/node.rb#14544 class Prism::NoKeywordsParameterNode < ::Prism::Node # Initialize a new NoKeywordsParameterNode node. # # @return [NoKeywordsParameterNode] a new instance of NoKeywordsParameterNode # - # source://prism//lib/prism/node.rb#13708 + # source://prism//lib/prism/node.rb#14546 sig do params( source: Prism::Source, @@ -26632,36 +27358,36 @@ class Prism::NoKeywordsParameterNode < ::Prism::Node # 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#13803 + # source://prism//lib/prism/node.rb#14647 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#13718 + # source://prism//lib/prism/node.rb#14556 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13723 + # source://prism//lib/prism/node.rb#14561 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#13733 + # source://prism//lib/prism/node.rb#14577 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#13728 + # source://prism//lib/prism/node.rb#14572 sig { override.returns(T::Array[Prism::Node]) } 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#13738 + # source://prism//lib/prism/node.rb#14582 sig do params( node_id: Integer, @@ -26676,71 +27402,76 @@ class Prism::NoKeywordsParameterNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13743 + # source://prism//lib/prism/node.rb#14587 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#13746 + # source://prism//lib/prism/node.rb#14590 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#14566 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#13787 + # source://prism//lib/prism/node.rb#14631 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#13782 + # source://prism//lib/prism/node.rb#14626 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#13764 + # source://prism//lib/prism/node.rb#14608 sig { returns(Prism::Location) } def keyword_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#13777 + # source://prism//lib/prism/node.rb#14621 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#13751 + # source://prism//lib/prism/node.rb#14595 sig { returns(Prism::Location) } def operator_loc; end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#13772 + # source://prism//lib/prism/node.rb#14616 def save_keyword_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#13759 + # source://prism//lib/prism/node.rb#14603 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#13792 + # source://prism//lib/prism/node.rb#14636 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#13797 + # source://prism//lib/prism/node.rb#14641 def type; end end end @@ -26808,7 +27539,7 @@ class Prism::Node # # @raise [NoMethodError] # - # source://prism//lib/prism/node.rb#281 + # source://prism//lib/prism/node.rb#288 sig { abstract.returns(T::Array[T.any(Prism::Node, Prism::Location)]) } def comment_targets; end @@ -26822,7 +27553,7 @@ class Prism::Node # # @raise [NoMethodError] # - # source://prism//lib/prism/node.rb#275 + # source://prism//lib/prism/node.rb#282 sig { abstract.returns(T::Array[Prism::Node]) } def compact_child_nodes; end @@ -26838,6 +27569,15 @@ class Prism::Node # source://prism//lib/prism/node_ext.rb#10 def deprecated(*replacements); end + # With a block given, yields each child node. Without a block, returns + # an enumerator that contains each child node. Excludes any `nil`s in + # the place of optional nodes that were not present. + # + # @raise [NoMethodError] + # + # source://prism//lib/prism/node.rb#276 + def each_child_node; end + # Delegates to the end_character_column of the associated location object. # # source://prism//lib/prism/node.rb#106 @@ -26872,7 +27612,7 @@ class Prism::Node # # @raise [NoMethodError] # - # source://prism//lib/prism/node.rb#286 + # source://prism//lib/prism/node.rb#293 sig { abstract.returns(String) } def inspect; end @@ -27030,7 +27770,7 @@ class Prism::Node # # @raise [NoMethodError] # - # source://prism//lib/prism/node.rb#302 + # source://prism//lib/prism/node.rb#309 sig { abstract.returns(Symbol) } def type; end @@ -27068,26 +27808,26 @@ class Prism::Node # # @raise [NoMethodError] # - # source://prism//lib/prism/node.rb#310 + # source://prism//lib/prism/node.rb#317 def type; end end end # The flags that are common to all nodes. # -# source://prism//lib/prism/node.rb#18807 +# source://prism//lib/prism/node.rb#19949 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#18810 +# source://prism//lib/prism/node.rb#19952 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#18814 +# source://prism//lib/prism/node.rb#19956 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. @@ -27095,13 +27835,13 @@ Prism::NodeFlags::STATIC_LITERAL = T.let(T.unsafe(nil), Integer) # -> { _1 + _2 } # ^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#13814 +# source://prism//lib/prism/node.rb#14658 class Prism::NumberedParametersNode < ::Prism::Node # Initialize a new NumberedParametersNode node. # # @return [NumberedParametersNode] a new instance of NumberedParametersNode # - # source://prism//lib/prism/node.rb#13816 + # source://prism//lib/prism/node.rb#14660 sig do params( source: Prism::Source, @@ -27116,36 +27856,36 @@ class Prism::NumberedParametersNode < ::Prism::Node # 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#13877 + # source://prism//lib/prism/node.rb#14727 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#13825 + # source://prism//lib/prism/node.rb#14669 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13830 + # source://prism//lib/prism/node.rb#14674 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#13840 + # source://prism//lib/prism/node.rb#14690 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#13835 + # source://prism//lib/prism/node.rb#14685 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?maximum: Integer) -> NumberedParametersNode # - # source://prism//lib/prism/node.rb#13845 + # source://prism//lib/prism/node.rb#14695 sig do params( node_id: Integer, @@ -27159,41 +27899,46 @@ class Prism::NumberedParametersNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13850 + # source://prism//lib/prism/node.rb#14700 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, maximum: Integer } # - # source://prism//lib/prism/node.rb#13853 + # source://prism//lib/prism/node.rb#14703 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#14679 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#13861 + # source://prism//lib/prism/node.rb#14711 sig { override.returns(String) } def inspect; end # attr_reader maximum: Integer # - # source://prism//lib/prism/node.rb#13858 + # source://prism//lib/prism/node.rb#14708 sig { returns(Integer) } def maximum; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#13866 + # source://prism//lib/prism/node.rb#14716 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#13871 + # source://prism//lib/prism/node.rb#14721 def type; end end end @@ -27203,13 +27948,13 @@ end # $1 # ^^ # -# source://prism//lib/prism/node.rb#13887 +# source://prism//lib/prism/node.rb#14737 class Prism::NumberedReferenceReadNode < ::Prism::Node # Initialize a new NumberedReferenceReadNode node. # # @return [NumberedReferenceReadNode] a new instance of NumberedReferenceReadNode # - # source://prism//lib/prism/node.rb#13889 + # source://prism//lib/prism/node.rb#14739 sig do params( source: Prism::Source, @@ -27224,36 +27969,36 @@ class Prism::NumberedReferenceReadNode < ::Prism::Node # 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#13956 + # source://prism//lib/prism/node.rb#14812 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#13898 + # source://prism//lib/prism/node.rb#14748 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13903 + # source://prism//lib/prism/node.rb#14753 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#13913 + # source://prism//lib/prism/node.rb#14769 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#13908 + # source://prism//lib/prism/node.rb#14764 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?number: Integer) -> NumberedReferenceReadNode # - # source://prism//lib/prism/node.rb#13918 + # source://prism//lib/prism/node.rb#14774 sig do params( node_id: Integer, @@ -27267,22 +28012,27 @@ class Prism::NumberedReferenceReadNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13923 + # source://prism//lib/prism/node.rb#14779 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, number: Integer } # - # source://prism//lib/prism/node.rb#13926 + # source://prism//lib/prism/node.rb#14782 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#14758 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#13940 + # source://prism//lib/prism/node.rb#14796 sig { override.returns(String) } def inspect; end @@ -27294,20 +28044,20 @@ class Prism::NumberedReferenceReadNode < ::Prism::Node # # $4294967296 # number `0` # - # source://prism//lib/prism/node.rb#13937 + # source://prism//lib/prism/node.rb#14793 sig { returns(Integer) } def number; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#13945 + # source://prism//lib/prism/node.rb#14801 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#13950 + # source://prism//lib/prism/node.rb#14806 def type; end end end @@ -27318,13 +28068,13 @@ end # ^^^^ # end # -# source://prism//lib/prism/node.rb#13967 +# source://prism//lib/prism/node.rb#14823 class Prism::OptionalKeywordParameterNode < ::Prism::Node # Initialize a new OptionalKeywordParameterNode node. # # @return [OptionalKeywordParameterNode] a new instance of OptionalKeywordParameterNode # - # source://prism//lib/prism/node.rb#13969 + # source://prism//lib/prism/node.rb#14825 sig do params( source: Prism::Source, @@ -27341,36 +28091,36 @@ class Prism::OptionalKeywordParameterNode < ::Prism::Node # 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#14053 + # source://prism//lib/prism/node.rb#14916 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#13980 + # source://prism//lib/prism/node.rb#14836 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#13985 + # source://prism//lib/prism/node.rb#14841 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#13995 + # source://prism//lib/prism/node.rb#14858 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#13990 + # source://prism//lib/prism/node.rb#14853 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#14000 + # source://prism//lib/prism/node.rb#14863 sig do params( node_id: Integer, @@ -27386,34 +28136,41 @@ class Prism::OptionalKeywordParameterNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14005 + # source://prism//lib/prism/node.rb#14868 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#14008 + # source://prism//lib/prism/node.rb#14871 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#14846 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#14037 + # source://prism//lib/prism/node.rb#14900 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#14018 + # source://prism//lib/prism/node.rb#14881 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#14021 + # source://prism//lib/prism/node.rb#14884 sig { returns(Prism::Location) } def name_loc; end @@ -27421,32 +28178,32 @@ class Prism::OptionalKeywordParameterNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#14013 + # source://prism//lib/prism/node.rb#14876 sig { returns(T::Boolean) } def repeated_parameter?; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14029 + # source://prism//lib/prism/node.rb#14892 def save_name_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#14042 + # source://prism//lib/prism/node.rb#14905 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#14034 + # source://prism//lib/prism/node.rb#14897 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#14047 + # source://prism//lib/prism/node.rb#14910 def type; end end end @@ -27457,13 +28214,13 @@ end # ^^^^^ # end # -# source://prism//lib/prism/node.rb#14067 +# source://prism//lib/prism/node.rb#14930 class Prism::OptionalParameterNode < ::Prism::Node # Initialize a new OptionalParameterNode node. # # @return [OptionalParameterNode] a new instance of OptionalParameterNode # - # source://prism//lib/prism/node.rb#14069 + # source://prism//lib/prism/node.rb#14932 sig do params( source: Prism::Source, @@ -27481,36 +28238,36 @@ class Prism::OptionalParameterNode < ::Prism::Node # 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#14172 + # source://prism//lib/prism/node.rb#15042 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#14081 + # source://prism//lib/prism/node.rb#14944 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14086 + # source://prism//lib/prism/node.rb#14949 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#14096 + # source://prism//lib/prism/node.rb#14966 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#14091 + # source://prism//lib/prism/node.rb#14961 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#14101 + # source://prism//lib/prism/node.rb#14971 sig do params( node_id: Integer, @@ -27527,46 +28284,53 @@ class Prism::OptionalParameterNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14106 + # source://prism//lib/prism/node.rb#14976 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#14109 + # source://prism//lib/prism/node.rb#14979 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [value] + # + # source://prism//lib/prism/node.rb#14954 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#14156 + # source://prism//lib/prism/node.rb#15026 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#14119 + # source://prism//lib/prism/node.rb#14989 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#14122 + # source://prism//lib/prism/node.rb#14992 sig { returns(Prism::Location) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#14151 + # source://prism//lib/prism/node.rb#15021 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#14135 + # source://prism//lib/prism/node.rb#15005 sig { returns(Prism::Location) } def operator_loc; end @@ -27574,38 +28338,38 @@ class Prism::OptionalParameterNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#14114 + # source://prism//lib/prism/node.rb#14984 sig { returns(T::Boolean) } def repeated_parameter?; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14130 + # source://prism//lib/prism/node.rb#15000 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14143 + # source://prism//lib/prism/node.rb#15013 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#14161 + # source://prism//lib/prism/node.rb#15031 sig { override.returns(Symbol) } def type; end # attr_reader value: Prism::node # - # source://prism//lib/prism/node.rb#14148 + # source://prism//lib/prism/node.rb#15018 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#14166 + # source://prism//lib/prism/node.rb#15036 def type; end end end @@ -27615,13 +28379,13 @@ end # left or right # ^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#14186 +# source://prism//lib/prism/node.rb#15056 class Prism::OrNode < ::Prism::Node # Initialize a new OrNode node. # # @return [OrNode] a new instance of OrNode # - # source://prism//lib/prism/node.rb#14188 + # source://prism//lib/prism/node.rb#15058 sig do params( source: Prism::Source, @@ -27638,36 +28402,36 @@ class Prism::OrNode < ::Prism::Node # 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#14287 + # source://prism//lib/prism/node.rb#15165 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#14199 + # source://prism//lib/prism/node.rb#15069 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14204 + # source://prism//lib/prism/node.rb#15074 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#14214 + # source://prism//lib/prism/node.rb#15092 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#14209 + # source://prism//lib/prism/node.rb#15087 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) -> OrNode # - # source://prism//lib/prism/node.rb#14219 + # source://prism//lib/prism/node.rb#15097 sig do params( node_id: Integer, @@ -27683,22 +28447,29 @@ class Prism::OrNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14224 + # source://prism//lib/prism/node.rb#15102 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#14227 + # source://prism//lib/prism/node.rb#15105 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [left] + # + # source://prism//lib/prism/node.rb#15079 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#14271 + # source://prism//lib/prism/node.rb#15149 sig { override.returns(String) } def inspect; end @@ -27710,13 +28481,13 @@ class Prism::OrNode < ::Prism::Node # 1 || 2 # ^ # - # source://prism//lib/prism/node.rb#14238 + # source://prism//lib/prism/node.rb#15116 sig { returns(Prism::Node) } def left; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#14266 + # source://prism//lib/prism/node.rb#15144 sig { returns(String) } def operator; end @@ -27725,7 +28496,7 @@ class Prism::OrNode < ::Prism::Node # left or right # ^^ # - # source://prism//lib/prism/node.rb#14253 + # source://prism//lib/prism/node.rb#15131 sig { returns(Prism::Location) } def operator_loc; end @@ -27737,26 +28508,26 @@ class Prism::OrNode < ::Prism::Node # 1 or 2 # ^ # - # source://prism//lib/prism/node.rb#14247 + # source://prism//lib/prism/node.rb#15125 sig { returns(Prism::Node) } def right; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14261 + # source://prism//lib/prism/node.rb#15139 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#14276 + # source://prism//lib/prism/node.rb#15154 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#14281 + # source://prism//lib/prism/node.rb#15159 def type; end end end @@ -27766,7 +28537,7 @@ end # source://prism//lib/prism/pack.rb#8 module Prism::Pack class << self - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def parse(_arg0, _arg1, _arg2); end end end @@ -28006,12 +28777,12 @@ Prism::Pack::UTF8 = T.let(T.unsafe(nil), Symbol) # Flags for parameter nodes. # -# source://prism//lib/prism/node.rb#18714 +# source://prism//lib/prism/node.rb#19856 module Prism::ParameterFlags; end # a parameter name that has been repeated in the method signature # -# source://prism//lib/prism/node.rb#18716 +# source://prism//lib/prism/node.rb#19858 Prism::ParameterFlags::REPEATED_PARAMETER = T.let(T.unsafe(nil), Integer) # Represents the list of parameters on a method, block, or lambda definition. @@ -28020,13 +28791,13 @@ Prism::ParameterFlags::REPEATED_PARAMETER = T.let(T.unsafe(nil), Integer) # ^^^^^^^ # end # -# source://prism//lib/prism/node.rb#14300 +# source://prism//lib/prism/node.rb#15178 class Prism::ParametersNode < ::Prism::Node # Initialize a new ParametersNode node. # # @return [ParametersNode] a new instance of ParametersNode # - # source://prism//lib/prism/node.rb#14302 + # source://prism//lib/prism/node.rb#15180 sig do params( source: Prism::Source, @@ -28047,42 +28818,42 @@ class Prism::ParametersNode < ::Prism::Node # 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#14395 + # source://prism//lib/prism/node.rb#15286 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#14317 + # source://prism//lib/prism/node.rb#15195 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader block: BlockParameterNode? # - # source://prism//lib/prism/node.rb#14376 + # source://prism//lib/prism/node.rb#15267 sig { returns(T.nilable(Prism::BlockParameterNode)) } def block; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14322 + # source://prism//lib/prism/node.rb#15200 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#14340 + # source://prism//lib/prism/node.rb#15231 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#14327 + # source://prism//lib/prism/node.rb#15218 sig { override.returns(T::Array[Prism::Node]) } 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#14345 + # source://prism//lib/prism/node.rb#15236 sig do params( node_id: Integer, @@ -28102,28 +28873,35 @@ class Prism::ParametersNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14350 + # source://prism//lib/prism/node.rb#15241 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#14353 + # source://prism//lib/prism/node.rb#15244 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [rest] + # + # source://prism//lib/prism/node.rb#15205 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#14379 + # source://prism//lib/prism/node.rb#15270 sig { override.returns(String) } def inspect; end # attr_reader keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil # - # source://prism//lib/prism/node.rb#14373 + # source://prism//lib/prism/node.rb#15264 sig do returns(T.nilable(T.any(Prism::KeywordRestParameterNode, Prism::ForwardingParameterNode, Prism::NoKeywordsParameterNode))) end @@ -28131,19 +28909,19 @@ class Prism::ParametersNode < ::Prism::Node # attr_reader keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode] # - # source://prism//lib/prism/node.rb#14370 + # source://prism//lib/prism/node.rb#15261 sig { returns(T::Array[T.any(Prism::RequiredKeywordParameterNode, Prism::OptionalKeywordParameterNode)]) } def keywords; end # attr_reader optionals: Array[OptionalParameterNode] # - # source://prism//lib/prism/node.rb#14361 + # source://prism//lib/prism/node.rb#15252 sig { returns(T::Array[Prism::OptionalParameterNode]) } def optionals; end # attr_reader posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode] # - # source://prism//lib/prism/node.rb#14367 + # source://prism//lib/prism/node.rb#15258 sig do returns(T::Array[T.any(Prism::RequiredParameterNode, Prism::MultiTargetNode, Prism::KeywordRestParameterNode, Prism::NoKeywordsParameterNode, Prism::ForwardingParameterNode)]) end @@ -28151,13 +28929,13 @@ class Prism::ParametersNode < ::Prism::Node # attr_reader requireds: Array[RequiredParameterNode | MultiTargetNode] # - # source://prism//lib/prism/node.rb#14358 + # source://prism//lib/prism/node.rb#15249 sig { returns(T::Array[T.any(Prism::RequiredParameterNode, Prism::MultiTargetNode)]) } def requireds; end # attr_reader rest: RestParameterNode | ImplicitRestNode | nil # - # source://prism//lib/prism/node.rb#14364 + # source://prism//lib/prism/node.rb#15255 sig { returns(T.nilable(T.any(Prism::RestParameterNode, Prism::ImplicitRestNode))) } def rest; end @@ -28169,14 +28947,14 @@ class Prism::ParametersNode < ::Prism::Node # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#14384 + # source://prism//lib/prism/node.rb#15275 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#14389 + # source://prism//lib/prism/node.rb#15280 def type; end end end @@ -28186,13 +28964,13 @@ end # (10 + 34) # ^^^^^^^^^ # -# source://prism//lib/prism/node.rb#14415 +# source://prism//lib/prism/node.rb#15306 class Prism::ParenthesesNode < ::Prism::Node # Initialize a new ParenthesesNode node. # # @return [ParenthesesNode] a new instance of ParenthesesNode # - # source://prism//lib/prism/node.rb#14417 + # source://prism//lib/prism/node.rb#15308 sig do params( source: Prism::Source, @@ -28209,54 +28987,54 @@ class Prism::ParenthesesNode < ::Prism::Node # 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#14523 + # source://prism//lib/prism/node.rb#15421 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#14428 + # source://prism//lib/prism/node.rb#15319 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader body: Prism::node? # - # source://prism//lib/prism/node.rb#14468 + # source://prism//lib/prism/node.rb#15366 sig { returns(T.nilable(Prism::Node)) } def body; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14433 + # source://prism//lib/prism/node.rb#15324 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#14502 + # source://prism//lib/prism/node.rb#15400 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#14484 + # source://prism//lib/prism/node.rb#15382 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#14445 + # source://prism//lib/prism/node.rb#15343 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#14438 + # source://prism//lib/prism/node.rb#15336 sig { override.returns(T::Array[Prism::Node]) } 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#14450 + # source://prism//lib/prism/node.rb#15348 sig do params( node_id: Integer, @@ -28272,22 +29050,29 @@ class Prism::ParenthesesNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14455 + # source://prism//lib/prism/node.rb#15353 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#14458 + # source://prism//lib/prism/node.rb#15356 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [body] + # + # source://prism//lib/prism/node.rb#15329 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#14507 + # source://prism//lib/prism/node.rb#15405 sig { override.returns(String) } def inspect; end @@ -28295,7 +29080,7 @@ class Prism::ParenthesesNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#14463 + # source://prism//lib/prism/node.rb#15361 sig { returns(T::Boolean) } def multiple_statements?; end @@ -28304,111 +29089,111 @@ class Prism::ParenthesesNode < ::Prism::Node # def opening: () -> String # - # source://prism//lib/prism/node.rb#14497 + # source://prism//lib/prism/node.rb#15395 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#14471 + # source://prism//lib/prism/node.rb#15369 sig { returns(Prism::Location) } def opening_loc; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14492 + # source://prism//lib/prism/node.rb#15390 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14479 + # source://prism//lib/prism/node.rb#15377 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#14512 + # source://prism//lib/prism/node.rb#15410 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#14517 + # source://prism//lib/prism/node.rb#15415 def type; end end end # Flags for parentheses nodes. # -# source://prism//lib/prism/node.rb#18720 +# source://prism//lib/prism/node.rb#19862 module Prism::ParenthesesNodeFlags; end # parentheses that contain multiple potentially void statements # -# source://prism//lib/prism/node.rb#18722 +# source://prism//lib/prism/node.rb#19864 Prism::ParenthesesNodeFlags::MULTIPLE_STATEMENTS = T.let(T.unsafe(nil), Integer) # This represents an error that was encountered during parsing. # -# source://prism//lib/prism/parse_result.rb#610 +# source://prism//lib/prism/parse_result.rb#597 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#625 + # source://prism//lib/prism/parse_result.rb#612 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#633 + # source://prism//lib/prism/parse_result.rb#620 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#638 + # source://prism//lib/prism/parse_result.rb#625 sig { returns(String) } def inspect; end # The level of this error. # - # source://prism//lib/prism/parse_result.rb#622 + # source://prism//lib/prism/parse_result.rb#609 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#619 + # source://prism//lib/prism/parse_result.rb#606 sig { returns(Prism::Location) } def location; end # The message associated with this error. # - # source://prism//lib/prism/parse_result.rb#616 + # source://prism//lib/prism/parse_result.rb#603 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#613 + # source://prism//lib/prism/parse_result.rb#600 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#799 +# source://prism//lib/prism/parse_result.rb#786 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#805 + # source://prism//lib/prism/parse_result.rb#792 sig do params( value: [Prism::ProgramNode, T::Array[T.untyped]], @@ -28424,27 +29209,27 @@ class Prism::ParseLexResult < ::Prism::Result # Implement the hash pattern matching interface for ParseLexResult. # - # source://prism//lib/prism/parse_result.rb#811 + # source://prism//lib/prism/parse_result.rb#798 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#802 + # source://prism//lib/prism/parse_result.rb#789 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#740 +# source://prism//lib/prism/parse_result.rb#727 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#753 + # source://prism//lib/prism/parse_result.rb#740 sig do params( value: Prism::ProgramNode, @@ -28460,30 +29245,30 @@ class Prism::ParseResult < ::Prism::Result # Attach the list of comments to their respective locations in the tree. # - # source://prism//lib/prism/parse_result.rb#764 + # source://prism//lib/prism/parse_result.rb#751 def attach_comments!; end # Implement the hash pattern matching interface for ParseResult. # - # source://prism//lib/prism/parse_result.rb#759 + # source://prism//lib/prism/parse_result.rb#746 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#776 + # source://prism//lib/prism/parse_result.rb#763 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#770 + # source://prism//lib/prism/parse_result.rb#757 def mark_newlines!; end # The syntax tree that was parsed from the source code. # - # source://prism//lib/prism/parse_result.rb#750 + # source://prism//lib/prism/parse_result.rb#737 sig { returns(Prism::ProgramNode) } def value; end end @@ -28676,50 +29461,50 @@ end # This represents a warning that was encountered during parsing. # -# source://prism//lib/prism/parse_result.rb#644 +# source://prism//lib/prism/parse_result.rb#631 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#659 + # source://prism//lib/prism/parse_result.rb#646 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#667 + # source://prism//lib/prism/parse_result.rb#654 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#672 + # source://prism//lib/prism/parse_result.rb#659 sig { returns(String) } def inspect; end # The level of this warning. # - # source://prism//lib/prism/parse_result.rb#656 + # source://prism//lib/prism/parse_result.rb#643 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#653 + # source://prism//lib/prism/parse_result.rb#640 sig { returns(Prism::Location) } def location; end # The message associated with this warning. # - # source://prism//lib/prism/parse_result.rb#650 + # source://prism//lib/prism/parse_result.rb#637 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#647 + # source://prism//lib/prism/parse_result.rb#634 sig { returns(Symbol) } def type; end end @@ -28890,13 +29675,13 @@ end # foo in ^(bar) # ^^^^^^ # -# source://prism//lib/prism/node.rb#14536 +# source://prism//lib/prism/node.rb#15434 class Prism::PinnedExpressionNode < ::Prism::Node # Initialize a new PinnedExpressionNode node. # # @return [PinnedExpressionNode] a new instance of PinnedExpressionNode # - # source://prism//lib/prism/node.rb#14538 + # source://prism//lib/prism/node.rb#15436 sig do params( source: Prism::Source, @@ -28914,36 +29699,36 @@ class Prism::PinnedExpressionNode < ::Prism::Node # 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#14668 + # source://prism//lib/prism/node.rb#15573 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#14550 + # source://prism//lib/prism/node.rb#15448 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14555 + # source://prism//lib/prism/node.rb#15453 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#14565 + # source://prism//lib/prism/node.rb#15470 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#14560 + # source://prism//lib/prism/node.rb#15465 sig { override.returns(T::Array[Prism::Node]) } 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#14570 + # source://prism//lib/prism/node.rb#15475 sig do params( node_id: Integer, @@ -28960,22 +29745,29 @@ class Prism::PinnedExpressionNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14575 + # source://prism//lib/prism/node.rb#15480 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#14578 + # source://prism//lib/prism/node.rb#15483 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [expression] + # + # source://prism//lib/prism/node.rb#15458 + def each_child_node; end + # The expression used in the pinned expression # # foo in ^(bar) # ^^^ # - # source://prism//lib/prism/node.rb#14586 + # source://prism//lib/prism/node.rb#15491 sig { returns(Prism::Node) } def expression; end @@ -28984,13 +29776,13 @@ class Prism::PinnedExpressionNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#14652 + # source://prism//lib/prism/node.rb#15557 sig { override.returns(String) } def inspect; end # def lparen: () -> String # - # source://prism//lib/prism/node.rb#14642 + # source://prism//lib/prism/node.rb#15547 sig { returns(String) } def lparen; end @@ -28999,13 +29791,13 @@ class Prism::PinnedExpressionNode < ::Prism::Node # foo in ^(bar) # ^ # - # source://prism//lib/prism/node.rb#14608 + # source://prism//lib/prism/node.rb#15513 sig { returns(Prism::Location) } def lparen_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#14637 + # source://prism//lib/prism/node.rb#15542 sig { returns(String) } def operator; end @@ -29014,13 +29806,13 @@ class Prism::PinnedExpressionNode < ::Prism::Node # foo in ^(bar) # ^ # - # source://prism//lib/prism/node.rb#14592 + # source://prism//lib/prism/node.rb#15497 sig { returns(Prism::Location) } def operator_loc; end # def rparen: () -> String # - # source://prism//lib/prism/node.rb#14647 + # source://prism//lib/prism/node.rb#15552 sig { returns(String) } def rparen; end @@ -29029,38 +29821,38 @@ class Prism::PinnedExpressionNode < ::Prism::Node # foo in ^(bar) # ^ # - # source://prism//lib/prism/node.rb#14624 + # source://prism//lib/prism/node.rb#15529 sig { returns(Prism::Location) } def rparen_loc; end # Save the lparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14616 + # source://prism//lib/prism/node.rb#15521 def save_lparen_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14600 + # source://prism//lib/prism/node.rb#15505 def save_operator_loc(repository); end # Save the rparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14632 + # source://prism//lib/prism/node.rb#15537 def save_rparen_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#14657 + # source://prism//lib/prism/node.rb#15562 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#14662 + # source://prism//lib/prism/node.rb#15567 def type; end end end @@ -29070,13 +29862,13 @@ end # foo in ^bar # ^^^^ # -# source://prism//lib/prism/node.rb#14681 +# source://prism//lib/prism/node.rb#15586 class Prism::PinnedVariableNode < ::Prism::Node # Initialize a new PinnedVariableNode node. # # @return [PinnedVariableNode] a new instance of PinnedVariableNode # - # source://prism//lib/prism/node.rb#14683 + # source://prism//lib/prism/node.rb#15588 sig do params( source: Prism::Source, @@ -29092,36 +29884,36 @@ class Prism::PinnedVariableNode < ::Prism::Node # 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#14769 + # source://prism//lib/prism/node.rb#15681 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#14693 + # source://prism//lib/prism/node.rb#15598 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14698 + # source://prism//lib/prism/node.rb#15603 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#14708 + # source://prism//lib/prism/node.rb#15620 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#14703 + # source://prism//lib/prism/node.rb#15615 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?variable: LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode, ?operator_loc: Location) -> PinnedVariableNode # - # source://prism//lib/prism/node.rb#14713 + # source://prism//lib/prism/node.rb#15625 sig do params( node_id: Integer, @@ -29136,28 +29928,35 @@ class Prism::PinnedVariableNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14718 + # source://prism//lib/prism/node.rb#15630 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, variable: LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode | MissingNode, operator_loc: Location } # - # source://prism//lib/prism/node.rb#14721 + # source://prism//lib/prism/node.rb#15633 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [variable] + # + # source://prism//lib/prism/node.rb#15608 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#14753 + # source://prism//lib/prism/node.rb#15665 sig { override.returns(String) } def inspect; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#14748 + # source://prism//lib/prism/node.rb#15660 sig { returns(String) } def operator; end @@ -29166,19 +29965,19 @@ class Prism::PinnedVariableNode < ::Prism::Node # foo in ^bar # ^ # - # source://prism//lib/prism/node.rb#14735 + # source://prism//lib/prism/node.rb#15647 sig { returns(Prism::Location) } def operator_loc; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14743 + # source://prism//lib/prism/node.rb#15655 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#14758 + # source://prism//lib/prism/node.rb#15670 sig { override.returns(Symbol) } def type; end @@ -29187,7 +29986,7 @@ class Prism::PinnedVariableNode < ::Prism::Node # foo in ^bar # ^^^ # - # source://prism//lib/prism/node.rb#14729 + # source://prism//lib/prism/node.rb#15641 sig do returns(T.any(Prism::LocalVariableReadNode, Prism::InstanceVariableReadNode, Prism::ClassVariableReadNode, Prism::GlobalVariableReadNode, Prism::BackReferenceReadNode, Prism::NumberedReferenceReadNode, Prism::ItLocalVariableReadNode, Prism::MissingNode)) end @@ -29196,7 +29995,7 @@ class Prism::PinnedVariableNode < ::Prism::Node class << self # Return a symbol representation of this node type. See `Node::type`. # - # source://prism//lib/prism/node.rb#14763 + # source://prism//lib/prism/node.rb#15675 def type; end end end @@ -29206,13 +30005,13 @@ end # END { foo } # ^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#14780 +# source://prism//lib/prism/node.rb#15692 class Prism::PostExecutionNode < ::Prism::Node # Initialize a new PostExecutionNode node. # # @return [PostExecutionNode] a new instance of PostExecutionNode # - # source://prism//lib/prism/node.rb#14782 + # source://prism//lib/prism/node.rb#15694 sig do params( source: Prism::Source, @@ -29230,48 +30029,48 @@ class Prism::PostExecutionNode < ::Prism::Node # 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#14902 + # source://prism//lib/prism/node.rb#15821 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#14794 + # source://prism//lib/prism/node.rb#15706 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14799 + # source://prism//lib/prism/node.rb#15711 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#14881 + # source://prism//lib/prism/node.rb#15800 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#14858 + # source://prism//lib/prism/node.rb#15777 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#14811 + # source://prism//lib/prism/node.rb#15730 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#14804 + # source://prism//lib/prism/node.rb#15723 sig { override.returns(T::Array[Prism::Node]) } 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#14816 + # source://prism//lib/prism/node.rb#15735 sig do params( node_id: Integer, @@ -29288,83 +30087,90 @@ class Prism::PostExecutionNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14821 + # source://prism//lib/prism/node.rb#15740 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#14824 + # source://prism//lib/prism/node.rb#15743 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [statements] + # + # source://prism//lib/prism/node.rb#15716 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#14886 + # source://prism//lib/prism/node.rb#15805 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#14871 + # source://prism//lib/prism/node.rb#15790 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#14832 + # source://prism//lib/prism/node.rb#15751 sig { returns(Prism::Location) } def keyword_loc; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#14876 + # source://prism//lib/prism/node.rb#15795 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#14845 + # source://prism//lib/prism/node.rb#15764 sig { returns(Prism::Location) } def opening_loc; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14866 + # source://prism//lib/prism/node.rb#15785 def save_closing_loc(repository); end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14840 + # source://prism//lib/prism/node.rb#15759 def save_keyword_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14853 + # source://prism//lib/prism/node.rb#15772 def save_opening_loc(repository); end # attr_reader statements: StatementsNode? # - # source://prism//lib/prism/node.rb#14829 + # source://prism//lib/prism/node.rb#15748 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#14891 + # source://prism//lib/prism/node.rb#15810 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#14896 + # source://prism//lib/prism/node.rb#15815 def type; end end end @@ -29374,13 +30180,13 @@ end # BEGIN { foo } # ^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#14915 +# source://prism//lib/prism/node.rb#15834 class Prism::PreExecutionNode < ::Prism::Node # Initialize a new PreExecutionNode node. # # @return [PreExecutionNode] a new instance of PreExecutionNode # - # source://prism//lib/prism/node.rb#14917 + # source://prism//lib/prism/node.rb#15836 sig do params( source: Prism::Source, @@ -29398,48 +30204,48 @@ class Prism::PreExecutionNode < ::Prism::Node # 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#15037 + # source://prism//lib/prism/node.rb#15963 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#14929 + # source://prism//lib/prism/node.rb#15848 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14934 + # source://prism//lib/prism/node.rb#15853 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#15016 + # source://prism//lib/prism/node.rb#15942 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#14993 + # source://prism//lib/prism/node.rb#15919 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#14946 + # source://prism//lib/prism/node.rb#15872 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#14939 + # source://prism//lib/prism/node.rb#15865 sig { override.returns(T::Array[Prism::Node]) } 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#14951 + # source://prism//lib/prism/node.rb#15877 sig do params( node_id: Integer, @@ -29456,96 +30262,103 @@ class Prism::PreExecutionNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#14956 + # source://prism//lib/prism/node.rb#15882 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#14959 + # source://prism//lib/prism/node.rb#15885 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [statements] + # + # source://prism//lib/prism/node.rb#15858 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#15021 + # source://prism//lib/prism/node.rb#15947 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#15006 + # source://prism//lib/prism/node.rb#15932 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#14967 + # source://prism//lib/prism/node.rb#15893 sig { returns(Prism::Location) } def keyword_loc; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#15011 + # source://prism//lib/prism/node.rb#15937 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#14980 + # source://prism//lib/prism/node.rb#15906 sig { returns(Prism::Location) } def opening_loc; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#15001 + # source://prism//lib/prism/node.rb#15927 def save_closing_loc(repository); end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14975 + # source://prism//lib/prism/node.rb#15901 def save_keyword_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#14988 + # source://prism//lib/prism/node.rb#15914 def save_opening_loc(repository); end # attr_reader statements: StatementsNode? # - # source://prism//lib/prism/node.rb#14964 + # source://prism//lib/prism/node.rb#15890 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#15026 + # source://prism//lib/prism/node.rb#15952 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#15031 + # source://prism//lib/prism/node.rb#15957 def type; end end end # The top level node of any parse tree. # -# source://prism//lib/prism/node.rb#15047 +# source://prism//lib/prism/node.rb#15973 class Prism::ProgramNode < ::Prism::Node # Initialize a new ProgramNode node. # # @return [ProgramNode] a new instance of ProgramNode # - # source://prism//lib/prism/node.rb#15049 + # source://prism//lib/prism/node.rb#15975 sig do params( source: Prism::Source, @@ -29561,36 +30374,36 @@ class Prism::ProgramNode < ::Prism::Node # 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#15114 + # source://prism//lib/prism/node.rb#16047 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#15059 + # source://prism//lib/prism/node.rb#15985 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15064 + # source://prism//lib/prism/node.rb#15990 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#15074 + # source://prism//lib/prism/node.rb#16007 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#15069 + # source://prism//lib/prism/node.rb#16002 sig { override.returns(T::Array[Prism::Node]) } 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#15079 + # source://prism//lib/prism/node.rb#16012 sig do params( node_id: Integer, @@ -29605,59 +30418,66 @@ class Prism::ProgramNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15084 + # source://prism//lib/prism/node.rb#16017 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#15087 + # source://prism//lib/prism/node.rb#16020 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [statements] + # + # source://prism//lib/prism/node.rb#15995 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#15098 + # source://prism//lib/prism/node.rb#16031 sig { override.returns(String) } def inspect; end # attr_reader locals: Array[Symbol] # - # source://prism//lib/prism/node.rb#15092 + # source://prism//lib/prism/node.rb#16025 sig { returns(T::Array[Symbol]) } def locals; end # attr_reader statements: StatementsNode # - # source://prism//lib/prism/node.rb#15095 + # source://prism//lib/prism/node.rb#16028 sig { returns(Prism::StatementsNode) } def statements; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#15103 + # source://prism//lib/prism/node.rb#16036 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#15108 + # source://prism//lib/prism/node.rb#16041 def type; end end end # Flags for range and flip-flop nodes. # -# source://prism//lib/prism/node.rb#18726 +# source://prism//lib/prism/node.rb#19868 module Prism::RangeFlags; end # ... operator # -# source://prism//lib/prism/node.rb#18728 +# source://prism//lib/prism/node.rb#19870 Prism::RangeFlags::EXCLUDE_END = T.let(T.unsafe(nil), Integer) # Represents the use of the `..` or `...` operators. @@ -29668,13 +30488,13 @@ Prism::RangeFlags::EXCLUDE_END = T.let(T.unsafe(nil), Integer) # c if a =~ /left/ ... b =~ /right/ # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#15129 +# source://prism//lib/prism/node.rb#16062 class Prism::RangeNode < ::Prism::Node # Initialize a new RangeNode node. # # @return [RangeNode] a new instance of RangeNode # - # source://prism//lib/prism/node.rb#15131 + # source://prism//lib/prism/node.rb#16064 sig do params( source: Prism::Source, @@ -29691,36 +30511,36 @@ class Prism::RangeNode < ::Prism::Node # 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#15236 + # source://prism//lib/prism/node.rb#16177 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#15142 + # source://prism//lib/prism/node.rb#16075 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15147 + # source://prism//lib/prism/node.rb#16080 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#15160 + # source://prism//lib/prism/node.rb#16101 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#15152 + # source://prism//lib/prism/node.rb#16093 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#15165 + # source://prism//lib/prism/node.rb#16106 sig do params( node_id: Integer, @@ -29736,21 +30556,28 @@ class Prism::RangeNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15170 + # source://prism//lib/prism/node.rb#16111 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#15173 + # source://prism//lib/prism/node.rb#16114 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [left] + # + # source://prism//lib/prism/node.rb#16085 + def each_child_node; end + # def exclude_end?: () -> bool # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15178 + # source://prism//lib/prism/node.rb#16119 sig { returns(T::Boolean) } def exclude_end?; end @@ -29759,7 +30586,7 @@ class Prism::RangeNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#15220 + # source://prism//lib/prism/node.rb#16161 sig { override.returns(String) } def inspect; end @@ -29771,19 +30598,19 @@ class Prism::RangeNode < ::Prism::Node # hello...goodbye # ^^^^^ # - # source://prism//lib/prism/node.rb#15189 + # source://prism//lib/prism/node.rb#16130 sig { returns(T.nilable(Prism::Node)) } def left; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#15215 + # source://prism//lib/prism/node.rb#16156 sig { returns(String) } def operator; end # The location of the `..` or `...` operator. # - # source://prism//lib/prism/node.rb#15202 + # source://prism//lib/prism/node.rb#16143 sig { returns(Prism::Location) } def operator_loc; end @@ -29796,26 +30623,26 @@ class Prism::RangeNode < ::Prism::Node # ^^^ # If neither right-hand or left-hand side was included, this will be a MissingNode. # - # source://prism//lib/prism/node.rb#15199 + # source://prism//lib/prism/node.rb#16140 sig { returns(T.nilable(Prism::Node)) } def right; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#15210 + # source://prism//lib/prism/node.rb#16151 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#15225 + # source://prism//lib/prism/node.rb#16166 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#15230 + # source://prism//lib/prism/node.rb#16171 def type; end end end @@ -29825,13 +30652,13 @@ end # 1.0r # ^^^^ # -# source://prism//lib/prism/node.rb#15249 +# source://prism//lib/prism/node.rb#16190 class Prism::RationalNode < ::Prism::Node # Initialize a new RationalNode node. # # @return [RationalNode] a new instance of RationalNode # - # source://prism//lib/prism/node.rb#15251 + # source://prism//lib/prism/node.rb#16192 sig do params( source: Prism::Source, @@ -29847,12 +30674,12 @@ class Prism::RationalNode < ::Prism::Node # 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#15340 + # source://prism//lib/prism/node.rb#16287 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#15261 + # source://prism//lib/prism/node.rb#16202 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -29860,31 +30687,31 @@ class Prism::RationalNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15294 + # source://prism//lib/prism/node.rb#16241 sig { returns(T::Boolean) } def binary?; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15266 + # source://prism//lib/prism/node.rb#16207 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#15276 + # source://prism//lib/prism/node.rb#16223 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#15271 + # source://prism//lib/prism/node.rb#16218 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#15281 + # source://prism//lib/prism/node.rb#16228 sig do params( node_id: Integer, @@ -29900,20 +30727,20 @@ class Prism::RationalNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15299 + # source://prism//lib/prism/node.rb#16246 sig { returns(T::Boolean) } def decimal?; end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15286 + # source://prism//lib/prism/node.rb#16233 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#15289 + # source://prism//lib/prism/node.rb#16236 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end @@ -29921,10 +30748,15 @@ class Prism::RationalNode < ::Prism::Node # # 1.5r # denominator 2 # - # source://prism//lib/prism/node.rb#15321 + # source://prism//lib/prism/node.rb#16268 sig { returns(Integer) } def denominator; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#16212 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -29932,13 +30764,13 @@ class Prism::RationalNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15309 + # source://prism//lib/prism/node.rb#16256 sig { returns(T::Boolean) } def hexadecimal?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#15324 + # source://prism//lib/prism/node.rb#16271 sig { override.returns(String) } def inspect; end @@ -29946,7 +30778,7 @@ class Prism::RationalNode < ::Prism::Node # # 1.5r # numerator 3 # - # source://prism//lib/prism/node.rb#15316 + # source://prism//lib/prism/node.rb#16263 sig { returns(Integer) } def numerator; end @@ -29960,13 +30792,13 @@ class Prism::RationalNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15304 + # source://prism//lib/prism/node.rb#16251 sig { returns(T::Boolean) } def octal?; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#15329 + # source://prism//lib/prism/node.rb#16276 sig { override.returns(Symbol) } def type; end @@ -29979,7 +30811,7 @@ class Prism::RationalNode < ::Prism::Node class << self # Return a symbol representation of this node type. See `Node::type`. # - # source://prism//lib/prism/node.rb#15334 + # source://prism//lib/prism/node.rb#16281 def type; end end end @@ -29989,84 +30821,89 @@ end # redo # ^^^^ # -# source://prism//lib/prism/node.rb#15352 +# source://prism//lib/prism/node.rb#16299 class Prism::RedoNode < ::Prism::Node # Initialize a new RedoNode node. # # @return [RedoNode] a new instance of RedoNode # - # source://prism//lib/prism/node.rb#15354 + # source://prism//lib/prism/node.rb#16301 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#15411 + # source://prism//lib/prism/node.rb#16364 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#15362 + # source://prism//lib/prism/node.rb#16309 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15367 + # source://prism//lib/prism/node.rb#16314 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#15377 + # source://prism//lib/prism/node.rb#16330 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#15372 + # source://prism//lib/prism/node.rb#16325 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RedoNode # - # source://prism//lib/prism/node.rb#15382 + # source://prism//lib/prism/node.rb#16335 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::RedoNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15387 + # source://prism//lib/prism/node.rb#16340 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#15390 + # source://prism//lib/prism/node.rb#16343 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#16319 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#15395 + # source://prism//lib/prism/node.rb#16348 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#15400 + # source://prism//lib/prism/node.rb#16353 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#15405 + # source://prism//lib/prism/node.rb#16358 def type; end end end @@ -30203,62 +31040,62 @@ class Prism::Reflection::StringField < ::Prism::Reflection::Field; end # Flags for regular expression and match last line nodes. # -# source://prism//lib/prism/node.rb#18732 +# source://prism//lib/prism/node.rb#19874 module Prism::RegularExpressionFlags; end # n - forces the ASCII-8BIT encoding # -# source://prism//lib/prism/node.rb#18749 +# source://prism//lib/prism/node.rb#19891 Prism::RegularExpressionFlags::ASCII_8BIT = T.let(T.unsafe(nil), Integer) # e - forces the EUC-JP encoding # -# source://prism//lib/prism/node.rb#18746 +# source://prism//lib/prism/node.rb#19888 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#18737 +# source://prism//lib/prism/node.rb#19879 Prism::RegularExpressionFlags::EXTENDED = T.let(T.unsafe(nil), Integer) # internal bytes forced the encoding to binary # -# source://prism//lib/prism/node.rb#18761 +# source://prism//lib/prism/node.rb#19903 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#18764 +# source://prism//lib/prism/node.rb#19906 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#18758 +# source://prism//lib/prism/node.rb#19900 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#18734 +# source://prism//lib/prism/node.rb#19876 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#18740 +# source://prism//lib/prism/node.rb#19882 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#18743 +# source://prism//lib/prism/node.rb#19885 Prism::RegularExpressionFlags::ONCE = T.let(T.unsafe(nil), Integer) # u - forces the UTF-8 encoding # -# source://prism//lib/prism/node.rb#18755 +# source://prism//lib/prism/node.rb#19897 Prism::RegularExpressionFlags::UTF_8 = T.let(T.unsafe(nil), Integer) # s - forces the Windows-31J encoding # -# source://prism//lib/prism/node.rb#18752 +# source://prism//lib/prism/node.rb#19894 Prism::RegularExpressionFlags::WINDOWS_31J = T.let(T.unsafe(nil), Integer) # Represents a regular expression literal with no interpolation. @@ -30266,7 +31103,7 @@ Prism::RegularExpressionFlags::WINDOWS_31J = T.let(T.unsafe(nil), Integer) # /foo/i # ^^^^^^ # -# source://prism//lib/prism/node.rb#15420 +# source://prism//lib/prism/node.rb#16373 class Prism::RegularExpressionNode < ::Prism::Node include ::Prism::RegularExpressionOptions @@ -30274,7 +31111,7 @@ class Prism::RegularExpressionNode < ::Prism::Node # # @return [RegularExpressionNode] a new instance of RegularExpressionNode # - # source://prism//lib/prism/node.rb#15422 + # source://prism//lib/prism/node.rb#16375 sig do params( source: Prism::Source, @@ -30292,12 +31129,12 @@ class Prism::RegularExpressionNode < ::Prism::Node # 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#15595 + # source://prism//lib/prism/node.rb#16554 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#15434 + # source://prism//lib/prism/node.rb#16387 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -30305,55 +31142,55 @@ class Prism::RegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15492 + # source://prism//lib/prism/node.rb#16451 sig { returns(T::Boolean) } def ascii_8bit?; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15439 + # source://prism//lib/prism/node.rb#16392 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#15574 + # source://prism//lib/prism/node.rb#16533 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#15548 + # source://prism//lib/prism/node.rb#16507 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#15449 + # source://prism//lib/prism/node.rb#16408 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#15444 + # source://prism//lib/prism/node.rb#16403 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def content: () -> String # - # source://prism//lib/prism/node.rb#15569 + # source://prism//lib/prism/node.rb#16528 sig { returns(String) } def content; end # attr_reader content_loc: Location # - # source://prism//lib/prism/node.rb#15535 + # source://prism//lib/prism/node.rb#16494 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#15454 + # source://prism//lib/prism/node.rb#16413 sig do params( node_id: Integer, @@ -30370,21 +31207,26 @@ class Prism::RegularExpressionNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15459 + # source://prism//lib/prism/node.rb#16418 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#15462 + # source://prism//lib/prism/node.rb#16421 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#16397 + def each_child_node; end + # def euc_jp?: () -> bool # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15487 + # source://prism//lib/prism/node.rb#16446 sig { returns(T::Boolean) } def euc_jp?; end @@ -30392,7 +31234,7 @@ class Prism::RegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15472 + # source://prism//lib/prism/node.rb#16431 sig { returns(T::Boolean) } def extended?; end @@ -30403,7 +31245,7 @@ class Prism::RegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15512 + # source://prism//lib/prism/node.rb#16471 sig { returns(T::Boolean) } def forced_binary_encoding?; end @@ -30411,7 +31253,7 @@ class Prism::RegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15517 + # source://prism//lib/prism/node.rb#16476 sig { returns(T::Boolean) } def forced_us_ascii_encoding?; end @@ -30419,7 +31261,7 @@ class Prism::RegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15507 + # source://prism//lib/prism/node.rb#16466 sig { returns(T::Boolean) } def forced_utf8_encoding?; end @@ -30427,13 +31269,13 @@ class Prism::RegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15467 + # source://prism//lib/prism/node.rb#16426 sig { returns(T::Boolean) } def ignore_case?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#15579 + # source://prism//lib/prism/node.rb#16538 sig { override.returns(String) } def inspect; end @@ -30441,7 +31283,7 @@ class Prism::RegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15477 + # source://prism//lib/prism/node.rb#16436 sig { returns(T::Boolean) } def multi_line?; end @@ -30449,19 +31291,19 @@ class Prism::RegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15482 + # source://prism//lib/prism/node.rb#16441 sig { returns(T::Boolean) } def once?; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#15564 + # source://prism//lib/prism/node.rb#16523 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#15522 + # source://prism//lib/prism/node.rb#16481 sig { returns(Prism::Location) } def opening_loc; end @@ -30471,30 +31313,30 @@ class Prism::RegularExpressionNode < ::Prism::Node # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#15556 + # source://prism//lib/prism/node.rb#16515 def save_closing_loc(repository); end # Save the content_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#15543 + # source://prism//lib/prism/node.rb#16502 def save_content_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#15530 + # source://prism//lib/prism/node.rb#16489 def save_opening_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#15584 + # source://prism//lib/prism/node.rb#16543 sig { override.returns(Symbol) } def type; end # attr_reader unescaped: String # - # source://prism//lib/prism/node.rb#15561 + # source://prism//lib/prism/node.rb#16520 sig { returns(String) } def unescaped; end @@ -30502,7 +31344,7 @@ class Prism::RegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15502 + # source://prism//lib/prism/node.rb#16461 sig { returns(T::Boolean) } def utf_8?; end @@ -30510,14 +31352,14 @@ class Prism::RegularExpressionNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15497 + # source://prism//lib/prism/node.rb#16456 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#15589 + # source://prism//lib/prism/node.rb#16548 def type; end end end @@ -31066,13 +31908,13 @@ end # ^^ # end # -# source://prism//lib/prism/node.rb#15610 +# source://prism//lib/prism/node.rb#16569 class Prism::RequiredKeywordParameterNode < ::Prism::Node # Initialize a new RequiredKeywordParameterNode node. # # @return [RequiredKeywordParameterNode] a new instance of RequiredKeywordParameterNode # - # source://prism//lib/prism/node.rb#15612 + # source://prism//lib/prism/node.rb#16571 sig do params( source: Prism::Source, @@ -31088,36 +31930,36 @@ class Prism::RequiredKeywordParameterNode < ::Prism::Node # 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#15692 + # source://prism//lib/prism/node.rb#16657 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#15622 + # source://prism//lib/prism/node.rb#16581 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15627 + # source://prism//lib/prism/node.rb#16586 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#15637 + # source://prism//lib/prism/node.rb#16602 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#15632 + # source://prism//lib/prism/node.rb#16597 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#15642 + # source://prism//lib/prism/node.rb#16607 sig do params( node_id: Integer, @@ -31132,34 +31974,39 @@ class Prism::RequiredKeywordParameterNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15647 + # source://prism//lib/prism/node.rb#16612 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#15650 + # source://prism//lib/prism/node.rb#16615 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#16591 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#15676 + # source://prism//lib/prism/node.rb#16641 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#15660 + # source://prism//lib/prism/node.rb#16625 sig { returns(Symbol) } def name; end # attr_reader name_loc: Location # - # source://prism//lib/prism/node.rb#15663 + # source://prism//lib/prism/node.rb#16628 sig { returns(Prism::Location) } def name_loc; end @@ -31167,26 +32014,26 @@ class Prism::RequiredKeywordParameterNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15655 + # source://prism//lib/prism/node.rb#16620 sig { returns(T::Boolean) } def repeated_parameter?; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#15671 + # source://prism//lib/prism/node.rb#16636 def save_name_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#15681 + # source://prism//lib/prism/node.rb#16646 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#15686 + # source://prism//lib/prism/node.rb#16651 def type; end end end @@ -31197,49 +32044,49 @@ end # ^ # end # -# source://prism//lib/prism/node.rb#15705 +# source://prism//lib/prism/node.rb#16670 class Prism::RequiredParameterNode < ::Prism::Node # Initialize a new RequiredParameterNode node. # # @return [RequiredParameterNode] a new instance of RequiredParameterNode # - # source://prism//lib/prism/node.rb#15707 + # source://prism//lib/prism/node.rb#16672 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#15773 + # source://prism//lib/prism/node.rb#16744 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#15716 + # source://prism//lib/prism/node.rb#16681 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15721 + # source://prism//lib/prism/node.rb#16686 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#15731 + # source://prism//lib/prism/node.rb#16702 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#15726 + # source://prism//lib/prism/node.rb#16697 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#15736 + # source://prism//lib/prism/node.rb#16707 sig do params( node_id: Integer, @@ -31253,28 +32100,33 @@ class Prism::RequiredParameterNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15741 + # source://prism//lib/prism/node.rb#16712 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#15744 + # source://prism//lib/prism/node.rb#16715 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#16691 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#15757 + # source://prism//lib/prism/node.rb#16728 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol # - # source://prism//lib/prism/node.rb#15754 + # source://prism//lib/prism/node.rb#16725 sig { returns(Symbol) } def name; end @@ -31282,20 +32134,20 @@ class Prism::RequiredParameterNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#15749 + # source://prism//lib/prism/node.rb#16720 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#15762 + # source://prism//lib/prism/node.rb#16733 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#15767 + # source://prism//lib/prism/node.rb#16738 def type; end end end @@ -31305,13 +32157,13 @@ end # foo rescue nil # ^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#15784 +# source://prism//lib/prism/node.rb#16755 class Prism::RescueModifierNode < ::Prism::Node # Initialize a new RescueModifierNode node. # # @return [RescueModifierNode] a new instance of RescueModifierNode # - # source://prism//lib/prism/node.rb#15786 + # source://prism//lib/prism/node.rb#16757 sig do params( source: Prism::Source, @@ -31328,36 +32180,36 @@ class Prism::RescueModifierNode < ::Prism::Node # 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#15870 + # source://prism//lib/prism/node.rb#16849 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#15797 + # source://prism//lib/prism/node.rb#16768 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15802 + # source://prism//lib/prism/node.rb#16773 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#15812 + # source://prism//lib/prism/node.rb#16791 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#15807 + # source://prism//lib/prism/node.rb#16786 sig { override.returns(T::Array[Prism::Node]) } 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#15817 + # source://prism//lib/prism/node.rb#16796 sig do params( node_id: Integer, @@ -31373,19 +32225,26 @@ class Prism::RescueModifierNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15822 + # source://prism//lib/prism/node.rb#16801 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#15825 + # source://prism//lib/prism/node.rb#16804 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [expression] + # + # source://prism//lib/prism/node.rb#16778 + def each_child_node; end + # attr_reader expression: Prism::node # - # source://prism//lib/prism/node.rb#15830 + # source://prism//lib/prism/node.rb#16809 sig { returns(Prism::Node) } def expression; end @@ -31394,19 +32253,19 @@ class Prism::RescueModifierNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#15854 + # source://prism//lib/prism/node.rb#16833 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#15849 + # source://prism//lib/prism/node.rb#16828 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#15833 + # source://prism//lib/prism/node.rb#16812 sig { returns(Prism::Location) } def keyword_loc; end @@ -31415,26 +32274,26 @@ class Prism::RescueModifierNode < ::Prism::Node # attr_reader rescue_expression: Prism::node # - # source://prism//lib/prism/node.rb#15846 + # source://prism//lib/prism/node.rb#16825 sig { returns(Prism::Node) } def rescue_expression; end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#15841 + # source://prism//lib/prism/node.rb#16820 def save_keyword_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#15859 + # source://prism//lib/prism/node.rb#16838 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#15864 + # source://prism//lib/prism/node.rb#16843 def type; end end end @@ -31449,13 +32308,13 @@ end # # `Foo, *splat, Bar` are in the `exceptions` field. `ex` is in the `reference` field. # -# source://prism//lib/prism/node.rb#15887 +# source://prism//lib/prism/node.rb#16866 class Prism::RescueNode < ::Prism::Node # Initialize a new RescueNode node. # # @return [RescueNode] a new instance of RescueNode # - # source://prism//lib/prism/node.rb#15889 + # source://prism//lib/prism/node.rb#16868 sig do params( source: Prism::Source, @@ -31476,30 +32335,30 @@ class Prism::RescueNode < ::Prism::Node # 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#16036 + # source://prism//lib/prism/node.rb#17025 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#15904 + # source://prism//lib/prism/node.rb#16883 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15909 + # source://prism//lib/prism/node.rb#16888 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#15924 + # source://prism//lib/prism/node.rb#16913 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#15914 + # source://prism//lib/prism/node.rb#16903 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end @@ -31511,7 +32370,7 @@ class Prism::RescueNode < ::Prism::Node # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?exceptions: Array[Prism::node], ?operator_loc: Location?, ?reference: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode | nil, ?then_keyword_loc: Location?, ?statements: StatementsNode?, ?subsequent: RescueNode?) -> RescueNode # - # source://prism//lib/prism/node.rb#15929 + # source://prism//lib/prism/node.rb#16918 sig do params( node_id: Integer, @@ -31531,19 +32390,26 @@ class Prism::RescueNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#15934 + # source://prism//lib/prism/node.rb#16923 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, exceptions: Array[Prism::node], operator_loc: Location?, reference: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode | nil, then_keyword_loc: Location?, statements: StatementsNode?, subsequent: RescueNode? } # - # source://prism//lib/prism/node.rb#15937 + # source://prism//lib/prism/node.rb#16926 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [reference] + # + # source://prism//lib/prism/node.rb#16893 + def each_child_node; end + # attr_reader exceptions: Array[Prism::node] # - # source://prism//lib/prism/node.rb#15955 + # source://prism//lib/prism/node.rb#16944 sig { returns(T::Array[Prism::Node]) } def exceptions; end @@ -31552,37 +32418,37 @@ class Prism::RescueNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#16020 + # source://prism//lib/prism/node.rb#17009 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#16005 + # source://prism//lib/prism/node.rb#16994 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#15942 + # source://prism//lib/prism/node.rb#16931 sig { returns(Prism::Location) } def keyword_loc; end # def operator: () -> String? # - # source://prism//lib/prism/node.rb#16010 + # source://prism//lib/prism/node.rb#16999 sig { returns(T.nilable(String)) } def operator; end # attr_reader operator_loc: Location? # - # source://prism//lib/prism/node.rb#15958 + # source://prism//lib/prism/node.rb#16947 sig { returns(T.nilable(Prism::Location)) } def operator_loc; end # attr_reader reference: LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | BackReferenceReadNode | NumberedReferenceReadNode | MissingNode | nil # - # source://prism//lib/prism/node.rb#15977 + # source://prism//lib/prism/node.rb#16966 sig do returns(T.nilable(T.any(Prism::LocalVariableTargetNode, Prism::InstanceVariableTargetNode, Prism::ClassVariableTargetNode, Prism::GlobalVariableTargetNode, Prism::ConstantTargetNode, Prism::ConstantPathTargetNode, Prism::CallTargetNode, Prism::IndexTargetNode, Prism::BackReferenceReadNode, Prism::NumberedReferenceReadNode, Prism::MissingNode))) end @@ -31591,55 +32457,55 @@ class Prism::RescueNode < ::Prism::Node # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#15950 + # source://prism//lib/prism/node.rb#16939 def save_keyword_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#15972 + # source://prism//lib/prism/node.rb#16961 def save_operator_loc(repository); end # Save the then_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#15994 + # source://prism//lib/prism/node.rb#16983 def save_then_keyword_loc(repository); end # attr_reader statements: StatementsNode? # - # source://prism//lib/prism/node.rb#15999 + # source://prism//lib/prism/node.rb#16988 sig { returns(T.nilable(Prism::StatementsNode)) } def statements; end # attr_reader subsequent: RescueNode? # - # source://prism//lib/prism/node.rb#16002 + # source://prism//lib/prism/node.rb#16991 sig { returns(T.nilable(Prism::RescueNode)) } def subsequent; end # def then_keyword: () -> String? # - # source://prism//lib/prism/node.rb#16015 + # source://prism//lib/prism/node.rb#17004 sig { returns(T.nilable(String)) } def then_keyword; end # attr_reader then_keyword_loc: Location? # - # source://prism//lib/prism/node.rb#15980 + # source://prism//lib/prism/node.rb#16969 sig { returns(T.nilable(Prism::Location)) } def then_keyword_loc; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#16025 + # source://prism//lib/prism/node.rb#17014 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#16030 + # source://prism//lib/prism/node.rb#17019 def type; end end end @@ -31650,13 +32516,13 @@ end # ^^ # end # -# source://prism//lib/prism/node.rb#16054 +# source://prism//lib/prism/node.rb#17043 class Prism::RestParameterNode < ::Prism::Node # Initialize a new RestParameterNode node. # # @return [RestParameterNode] a new instance of RestParameterNode # - # source://prism//lib/prism/node.rb#16056 + # source://prism//lib/prism/node.rb#17045 sig do params( source: Prism::Source, @@ -31673,36 +32539,36 @@ class Prism::RestParameterNode < ::Prism::Node # 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#16161 + # source://prism//lib/prism/node.rb#17156 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#16067 + # source://prism//lib/prism/node.rb#17056 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16072 + # source://prism//lib/prism/node.rb#17061 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#16082 + # source://prism//lib/prism/node.rb#17077 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#16077 + # source://prism//lib/prism/node.rb#17072 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#16087 + # source://prism//lib/prism/node.rb#17082 sig do params( node_id: Integer, @@ -31718,46 +32584,51 @@ class Prism::RestParameterNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16092 + # source://prism//lib/prism/node.rb#17087 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#16095 + # source://prism//lib/prism/node.rb#17090 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#17066 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#16145 + # source://prism//lib/prism/node.rb#17140 sig { override.returns(String) } def inspect; end # attr_reader name: Symbol? # - # source://prism//lib/prism/node.rb#16105 + # source://prism//lib/prism/node.rb#17100 sig { returns(T.nilable(Symbol)) } def name; end # attr_reader name_loc: Location? # - # source://prism//lib/prism/node.rb#16108 + # source://prism//lib/prism/node.rb#17103 sig { returns(T.nilable(Prism::Location)) } def name_loc; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#16140 + # source://prism//lib/prism/node.rb#17135 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#16127 + # source://prism//lib/prism/node.rb#17122 sig { returns(Prism::Location) } def operator_loc; end @@ -31765,32 +32636,32 @@ class Prism::RestParameterNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#16100 + # source://prism//lib/prism/node.rb#17095 sig { returns(T::Boolean) } def repeated_parameter?; end # Save the name_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#16122 + # source://prism//lib/prism/node.rb#17117 def save_name_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#16135 + # source://prism//lib/prism/node.rb#17130 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#16150 + # source://prism//lib/prism/node.rb#17145 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#16155 + # source://prism//lib/prism/node.rb#17150 def type; end end end @@ -31799,13 +32670,13 @@ end # the requested structure, any comments that were encounters, and any errors # that were encountered. # -# source://prism//lib/prism/parse_result.rb#680 +# source://prism//lib/prism/parse_result.rb#667 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#702 + # source://prism//lib/prism/parse_result.rb#689 sig do params( comments: T::Array[Prism::Comment], @@ -31820,7 +32691,7 @@ class Prism::Result # Create a code units cache for the given encoding. # - # source://prism//lib/prism/parse_result.rb#734 + # source://prism//lib/prism/parse_result.rb#721 sig do params( encoding: Encoding @@ -31830,7 +32701,7 @@ class Prism::Result # The list of comments that were encountered during parsing. # - # source://prism//lib/prism/parse_result.rb#682 + # source://prism//lib/prism/parse_result.rb#669 sig { returns(T::Array[Prism::Comment]) } def comments; end @@ -31838,25 +32709,25 @@ class Prism::Result # 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#690 + # source://prism//lib/prism/parse_result.rb#677 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#712 + # source://prism//lib/prism/parse_result.rb#699 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#717 + # source://prism//lib/prism/parse_result.rb#704 sig { returns(Encoding) } def encoding; end # The list of errors that were generated during parsing. # - # source://prism//lib/prism/parse_result.rb#693 + # source://prism//lib/prism/parse_result.rb#680 sig { returns(T::Array[Prism::ParseError]) } def errors; end @@ -31865,19 +32736,19 @@ class Prism::Result # # @return [Boolean] # - # source://prism//lib/prism/parse_result.rb#729 + # source://prism//lib/prism/parse_result.rb#716 sig { returns(T::Boolean) } def failure?; end # The list of magic comments that were encountered during parsing. # - # source://prism//lib/prism/parse_result.rb#685 + # source://prism//lib/prism/parse_result.rb#672 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#699 + # source://prism//lib/prism/parse_result.rb#686 sig { returns(Prism::Source) } def source; end @@ -31886,13 +32757,13 @@ class Prism::Result # # @return [Boolean] # - # source://prism//lib/prism/parse_result.rb#723 + # source://prism//lib/prism/parse_result.rb#710 sig { returns(T::Boolean) } def success?; end # The list of warnings that were generated during parsing. # - # source://prism//lib/prism/parse_result.rb#696 + # source://prism//lib/prism/parse_result.rb#683 sig { returns(T::Array[Prism::ParseWarning]) } def warnings; end end @@ -31902,84 +32773,89 @@ end # retry # ^^^^^ # -# source://prism//lib/prism/node.rb#16174 +# source://prism//lib/prism/node.rb#17169 class Prism::RetryNode < ::Prism::Node # Initialize a new RetryNode node. # # @return [RetryNode] a new instance of RetryNode # - # source://prism//lib/prism/node.rb#16176 + # source://prism//lib/prism/node.rb#17171 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#16233 + # source://prism//lib/prism/node.rb#17234 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#16184 + # source://prism//lib/prism/node.rb#17179 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16189 + # source://prism//lib/prism/node.rb#17184 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#16199 + # source://prism//lib/prism/node.rb#17200 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#16194 + # source://prism//lib/prism/node.rb#17195 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> RetryNode # - # source://prism//lib/prism/node.rb#16204 + # source://prism//lib/prism/node.rb#17205 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::RetryNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16209 + # source://prism//lib/prism/node.rb#17210 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#16212 + # source://prism//lib/prism/node.rb#17213 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#17189 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#16217 + # source://prism//lib/prism/node.rb#17218 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#16222 + # source://prism//lib/prism/node.rb#17223 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#16227 + # source://prism//lib/prism/node.rb#17228 def type; end end end @@ -31989,13 +32865,13 @@ end # return 1 # ^^^^^^^^ # -# source://prism//lib/prism/node.rb#16242 +# source://prism//lib/prism/node.rb#17243 class Prism::ReturnNode < ::Prism::Node # Initialize a new ReturnNode node. # # @return [ReturnNode] a new instance of ReturnNode # - # source://prism//lib/prism/node.rb#16244 + # source://prism//lib/prism/node.rb#17245 sig do params( source: Prism::Source, @@ -32011,42 +32887,42 @@ class Prism::ReturnNode < ::Prism::Node # 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#16326 + # source://prism//lib/prism/node.rb#17334 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#16254 + # source://prism//lib/prism/node.rb#17255 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader arguments: ArgumentsNode? # - # source://prism//lib/prism/node.rb#16302 + # source://prism//lib/prism/node.rb#17310 sig { returns(T.nilable(Prism::ArgumentsNode)) } def arguments; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16259 + # source://prism//lib/prism/node.rb#17260 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#16271 + # source://prism//lib/prism/node.rb#17279 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#16264 + # source://prism//lib/prism/node.rb#17272 sig { override.returns(T::Array[Prism::Node]) } 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#16276 + # source://prism//lib/prism/node.rb#17284 sig do params( node_id: Integer, @@ -32061,53 +32937,60 @@ class Prism::ReturnNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16281 + # source://prism//lib/prism/node.rb#17289 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, arguments: ArgumentsNode? } # - # source://prism//lib/prism/node.rb#16284 + # source://prism//lib/prism/node.rb#17292 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [arguments] + # + # source://prism//lib/prism/node.rb#17265 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#16310 + # source://prism//lib/prism/node.rb#17318 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#16305 + # source://prism//lib/prism/node.rb#17313 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#16289 + # source://prism//lib/prism/node.rb#17297 sig { returns(Prism::Location) } def keyword_loc; end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#16297 + # source://prism//lib/prism/node.rb#17305 def save_keyword_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#16315 + # source://prism//lib/prism/node.rb#17323 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#16320 + # source://prism//lib/prism/node.rb#17328 def type; end end end @@ -32117,13 +33000,13 @@ end # variables visible at that scope as well as the forwarding parameters # available at that scope. # -# source://prism//lib/prism/parse_result.rb#888 +# source://prism//lib/prism/parse_result.rb#875 class Prism::Scope # Create a new scope object with the given locals and forwarding. # # @return [Scope] a new instance of Scope # - # source://prism//lib/prism/parse_result.rb#899 + # source://prism//lib/prism/parse_result.rb#886 sig { params(locals: T::Array[Symbol], forwarding: T::Array[Symbol]).void } def initialize(locals, forwarding); end @@ -32131,14 +33014,14 @@ class Prism::Scope # should by defined as an array of symbols containing the specific values of # :*, :**, :&, or :"...". # - # source://prism//lib/prism/parse_result.rb#896 + # source://prism//lib/prism/parse_result.rb#883 sig { returns(T::Array[Symbol]) } def forwarding; end # The list of local variables that are defined in this scope. This should be # defined as an array of symbols. # - # source://prism//lib/prism/parse_result.rb#891 + # source://prism//lib/prism/parse_result.rb#878 sig { returns(T::Array[Symbol]) } def locals; end end @@ -32148,84 +33031,89 @@ end # self # ^^^^ # -# source://prism//lib/prism/node.rb#16337 +# source://prism//lib/prism/node.rb#17345 class Prism::SelfNode < ::Prism::Node # Initialize a new SelfNode node. # # @return [SelfNode] a new instance of SelfNode # - # source://prism//lib/prism/node.rb#16339 + # source://prism//lib/prism/node.rb#17347 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#16396 + # source://prism//lib/prism/node.rb#17410 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#16347 + # source://prism//lib/prism/node.rb#17355 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16352 + # source://prism//lib/prism/node.rb#17360 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#16362 + # source://prism//lib/prism/node.rb#17376 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#16357 + # source://prism//lib/prism/node.rb#17371 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SelfNode # - # source://prism//lib/prism/node.rb#16367 + # source://prism//lib/prism/node.rb#17381 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::SelfNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16372 + # source://prism//lib/prism/node.rb#17386 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#16375 + # source://prism//lib/prism/node.rb#17389 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#17365 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#16380 + # source://prism//lib/prism/node.rb#17394 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#16385 + # source://prism//lib/prism/node.rb#17399 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#16390 + # source://prism//lib/prism/node.rb#17404 def type; end end end @@ -32317,82 +33205,82 @@ class Prism::Serialize::Loader # source://prism//lib/prism/serialize.rb#304 def load_comments(freeze); end - # source://prism//lib/prism/serialize.rb#829 + # source://prism//lib/prism/serialize.rb#831 def load_constant(constant_pool, encoding); end # source://prism//lib/prism/serialize.rb#275 def load_constant_pool(constant_pool); end - # source://prism//lib/prism/serialize.rb#780 + # source://prism//lib/prism/serialize.rb#782 def load_double; end - # source://prism//lib/prism/serialize.rb#795 + # source://prism//lib/prism/serialize.rb#797 def load_embedded_string(encoding); end # source://prism//lib/prism/serialize.rb#292 def load_encoding; end - # source://prism//lib/prism/serialize.rb#665 + # source://prism//lib/prism/serialize.rb#667 def load_error_level; end - # source://prism//lib/prism/serialize.rb#680 + # source://prism//lib/prism/serialize.rb#682 def load_errors(encoding, freeze); end # source://prism//lib/prism/serialize.rb#286 def load_header; end - # source://prism//lib/prism/serialize.rb#769 + # source://prism//lib/prism/serialize.rb#771 def load_integer; end # source://prism//lib/prism/serialize.rb#298 def load_line_offsets(freeze); end - # source://prism//lib/prism/serialize.rb#816 + # source://prism//lib/prism/serialize.rb#818 def load_location(freeze); end - # source://prism//lib/prism/serialize.rb#810 + # source://prism//lib/prism/serialize.rb#812 def load_location_object(freeze); end # source://prism//lib/prism/serialize.rb#321 def load_magic_comments(freeze); end - # source://prism//lib/prism/serialize.rb#840 + # source://prism//lib/prism/serialize.rb#842 def load_node(constant_pool, encoding, freeze); end - # source://prism//lib/prism/serialize.rb#834 + # source://prism//lib/prism/serialize.rb#836 def load_optional_constant(constant_pool, encoding); end - # source://prism//lib/prism/serialize.rb#821 + # source://prism//lib/prism/serialize.rb#823 def load_optional_location(freeze); end - # source://prism//lib/prism/serialize.rb#825 + # source://prism//lib/prism/serialize.rb#827 def load_optional_location_object(freeze); end - # source://prism//lib/prism/serialize.rb#788 + # source://prism//lib/prism/serialize.rb#790 def load_optional_node(constant_pool, encoding, freeze); end - # source://prism//lib/prism/serialize.rb#799 + # source://prism//lib/prism/serialize.rb#801 def load_string(encoding); end - # source://prism//lib/prism/serialize.rb#731 + # source://prism//lib/prism/serialize.rb#733 def load_tokens; end - # source://prism//lib/prism/serialize.rb#784 + # source://prism//lib/prism/serialize.rb#786 def load_uint32; end - # source://prism//lib/prism/serialize.rb#764 + # source://prism//lib/prism/serialize.rb#766 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#750 + # source://prism//lib/prism/serialize.rb#752 def load_varuint; end - # source://prism//lib/prism/serialize.rb#699 + # source://prism//lib/prism/serialize.rb#701 def load_warning_level; end - # source://prism//lib/prism/serialize.rb#712 + # source://prism//lib/prism/serialize.rb#714 def load_warnings(encoding, freeze); end # Returns the value of attribute source. @@ -32424,7 +33312,7 @@ 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#2225 +# source://prism//lib/prism/serialize.rb#2227 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. @@ -32432,13 +33320,13 @@ Prism::Serialize::TOKEN_TYPES = T.let(T.unsafe(nil), Array) # C = { a: 1 } # ^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#16406 +# source://prism//lib/prism/node.rb#17420 class Prism::ShareableConstantNode < ::Prism::Node # Initialize a new ShareableConstantNode node. # # @return [ShareableConstantNode] a new instance of ShareableConstantNode # - # source://prism//lib/prism/node.rb#16408 + # source://prism//lib/prism/node.rb#17422 sig do params( source: Prism::Source, @@ -32453,36 +33341,36 @@ class Prism::ShareableConstantNode < ::Prism::Node # 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#16484 + # source://prism//lib/prism/node.rb#17505 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#16417 + # source://prism//lib/prism/node.rb#17431 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16422 + # source://prism//lib/prism/node.rb#17436 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#16432 + # source://prism//lib/prism/node.rb#17453 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#16427 + # source://prism//lib/prism/node.rb#17448 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#16437 + # source://prism//lib/prism/node.rb#17458 sig do params( node_id: Integer, @@ -32496,21 +33384,28 @@ class Prism::ShareableConstantNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16442 + # source://prism//lib/prism/node.rb#17463 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#16445 + # source://prism//lib/prism/node.rb#17466 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [write] + # + # source://prism//lib/prism/node.rb#17441 + def each_child_node; end + # def experimental_copy?: () -> bool # # @return [Boolean] # - # source://prism//lib/prism/node.rb#16460 + # source://prism//lib/prism/node.rb#17481 sig { returns(T::Boolean) } def experimental_copy?; end @@ -32518,7 +33413,7 @@ class Prism::ShareableConstantNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#16455 + # source://prism//lib/prism/node.rb#17476 sig { returns(T::Boolean) } def experimental_everything?; end @@ -32527,7 +33422,7 @@ class Prism::ShareableConstantNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#16468 + # source://prism//lib/prism/node.rb#17489 sig { override.returns(String) } def inspect; end @@ -32535,19 +33430,19 @@ class Prism::ShareableConstantNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#16450 + # source://prism//lib/prism/node.rb#17471 sig { returns(T::Boolean) } def literal?; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#16473 + # source://prism//lib/prism/node.rb#17494 sig { override.returns(Symbol) } def type; end # The constant write that should be modified with the shareability state. # - # source://prism//lib/prism/node.rb#16465 + # source://prism//lib/prism/node.rb#17486 sig do returns(T.any(Prism::ConstantWriteNode, Prism::ConstantAndWriteNode, Prism::ConstantOrWriteNode, Prism::ConstantOperatorWriteNode, Prism::ConstantPathWriteNode, Prism::ConstantPathAndWriteNode, Prism::ConstantPathOrWriteNode, Prism::ConstantPathOperatorWriteNode)) end @@ -32556,29 +33451,29 @@ class Prism::ShareableConstantNode < ::Prism::Node class << self # Return a symbol representation of this node type. See `Node::type`. # - # source://prism//lib/prism/node.rb#16478 + # source://prism//lib/prism/node.rb#17499 def type; end end end # Flags for shareable constant nodes. # -# source://prism//lib/prism/node.rb#18768 +# source://prism//lib/prism/node.rb#19910 module Prism::ShareableConstantNodeFlags; end # constant writes that should be modified with shareable constant value experimental copy # -# source://prism//lib/prism/node.rb#18776 +# source://prism//lib/prism/node.rb#19918 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#18773 +# source://prism//lib/prism/node.rb#19915 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#18770 +# source://prism//lib/prism/node.rb#19912 Prism::ShareableConstantNodeFlags::LITERAL = T.let(T.unsafe(nil), Integer) # Represents a singleton class declaration involving the `class` keyword. @@ -32586,13 +33481,13 @@ Prism::ShareableConstantNodeFlags::LITERAL = T.let(T.unsafe(nil), Integer) # class << self end # ^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#16495 +# source://prism//lib/prism/node.rb#17516 class Prism::SingletonClassNode < ::Prism::Node # Initialize a new SingletonClassNode node. # # @return [SingletonClassNode] a new instance of SingletonClassNode # - # source://prism//lib/prism/node.rb#16497 + # source://prism//lib/prism/node.rb#17518 sig do params( source: Prism::Source, @@ -32612,54 +33507,54 @@ class Prism::SingletonClassNode < ::Prism::Node # 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#16626 + # source://prism//lib/prism/node.rb#17655 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#16511 + # source://prism//lib/prism/node.rb#17532 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader body: StatementsNode | BeginNode | nil # - # source://prism//lib/prism/node.rb#16579 + # source://prism//lib/prism/node.rb#17608 sig { returns(T.nilable(T.any(Prism::StatementsNode, Prism::BeginNode))) } def body; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16516 + # source://prism//lib/prism/node.rb#17537 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def class_keyword: () -> String # - # source://prism//lib/prism/node.rb#16595 + # source://prism//lib/prism/node.rb#17624 sig { returns(String) } def class_keyword; end # attr_reader class_keyword_loc: Location # - # source://prism//lib/prism/node.rb#16550 + # source://prism//lib/prism/node.rb#17579 sig { returns(Prism::Location) } def class_keyword_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#16529 + # source://prism//lib/prism/node.rb#17558 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#16521 + # source://prism//lib/prism/node.rb#17550 sig { override.returns(T::Array[Prism::Node]) } 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: StatementsNode | BeginNode | nil, ?end_keyword_loc: Location) -> SingletonClassNode # - # source://prism//lib/prism/node.rb#16534 + # source://prism//lib/prism/node.rb#17563 sig do params( node_id: Integer, @@ -32678,31 +33573,38 @@ class Prism::SingletonClassNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16539 + # source://prism//lib/prism/node.rb#17568 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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: StatementsNode | BeginNode | nil, end_keyword_loc: Location } # - # source://prism//lib/prism/node.rb#16542 + # source://prism//lib/prism/node.rb#17571 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [expression] + # + # source://prism//lib/prism/node.rb#17542 + def each_child_node; end + # def end_keyword: () -> String # - # source://prism//lib/prism/node.rb#16605 + # source://prism//lib/prism/node.rb#17634 sig { returns(String) } def end_keyword; end # attr_reader end_keyword_loc: Location # - # source://prism//lib/prism/node.rb#16582 + # source://prism//lib/prism/node.rb#17611 sig { returns(Prism::Location) } def end_keyword_loc; end # attr_reader expression: Prism::node # - # source://prism//lib/prism/node.rb#16576 + # source://prism//lib/prism/node.rb#17605 sig { returns(Prism::Node) } def expression; end @@ -32711,56 +33613,56 @@ class Prism::SingletonClassNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#16610 + # source://prism//lib/prism/node.rb#17639 sig { override.returns(String) } def inspect; end # attr_reader locals: Array[Symbol] # - # source://prism//lib/prism/node.rb#16547 + # source://prism//lib/prism/node.rb#17576 sig { returns(T::Array[Symbol]) } def locals; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#16600 + # source://prism//lib/prism/node.rb#17629 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#16563 + # source://prism//lib/prism/node.rb#17592 sig { returns(Prism::Location) } def operator_loc; end # Save the class_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#16558 + # source://prism//lib/prism/node.rb#17587 def save_class_keyword_loc(repository); end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#16590 + # source://prism//lib/prism/node.rb#17619 def save_end_keyword_loc(repository); end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#16571 + # source://prism//lib/prism/node.rb#17600 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#16615 + # source://prism//lib/prism/node.rb#17644 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#16620 + # source://prism//lib/prism/node.rb#17649 def type; end end end @@ -32931,84 +33833,89 @@ end # __ENCODING__ # ^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#16642 +# source://prism//lib/prism/node.rb#17671 class Prism::SourceEncodingNode < ::Prism::Node # Initialize a new SourceEncodingNode node. # # @return [SourceEncodingNode] a new instance of SourceEncodingNode # - # source://prism//lib/prism/node.rb#16644 + # source://prism//lib/prism/node.rb#17673 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#16701 + # source://prism//lib/prism/node.rb#17736 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#16652 + # source://prism//lib/prism/node.rb#17681 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16657 + # source://prism//lib/prism/node.rb#17686 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#16667 + # source://prism//lib/prism/node.rb#17702 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#16662 + # source://prism//lib/prism/node.rb#17697 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceEncodingNode # - # source://prism//lib/prism/node.rb#16672 + # source://prism//lib/prism/node.rb#17707 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::SourceEncodingNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16677 + # source://prism//lib/prism/node.rb#17712 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#16680 + # source://prism//lib/prism/node.rb#17715 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#17691 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#16685 + # source://prism//lib/prism/node.rb#17720 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#16690 + # source://prism//lib/prism/node.rb#17725 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#16695 + # source://prism//lib/prism/node.rb#17730 def type; end end end @@ -33018,13 +33925,13 @@ end # __FILE__ # ^^^^^^^^ # -# source://prism//lib/prism/node.rb#16710 +# source://prism//lib/prism/node.rb#17745 class Prism::SourceFileNode < ::Prism::Node # Initialize a new SourceFileNode node. # # @return [SourceFileNode] a new instance of SourceFileNode # - # source://prism//lib/prism/node.rb#16712 + # source://prism//lib/prism/node.rb#17747 sig do params( source: Prism::Source, @@ -33039,36 +33946,36 @@ class Prism::SourceFileNode < ::Prism::Node # 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#16793 + # source://prism//lib/prism/node.rb#17834 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#16721 + # source://prism//lib/prism/node.rb#17756 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16726 + # source://prism//lib/prism/node.rb#17761 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#16736 + # source://prism//lib/prism/node.rb#17777 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#16731 + # source://prism//lib/prism/node.rb#17772 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#16741 + # source://prism//lib/prism/node.rb#17782 sig do params( node_id: Integer, @@ -33082,22 +33989,27 @@ class Prism::SourceFileNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16746 + # source://prism//lib/prism/node.rb#17787 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#16749 + # source://prism//lib/prism/node.rb#17790 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#17766 + def each_child_node; 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#16774 + # source://prism//lib/prism/node.rb#17815 sig { returns(String) } def filepath; end @@ -33105,7 +34017,7 @@ class Prism::SourceFileNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#16759 + # source://prism//lib/prism/node.rb#17800 sig { returns(T::Boolean) } def forced_binary_encoding?; end @@ -33113,7 +34025,7 @@ class Prism::SourceFileNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#16754 + # source://prism//lib/prism/node.rb#17795 sig { returns(T::Boolean) } def forced_utf8_encoding?; end @@ -33121,13 +34033,13 @@ class Prism::SourceFileNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#16764 + # source://prism//lib/prism/node.rb#17805 sig { returns(T::Boolean) } def frozen?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#16777 + # source://prism//lib/prism/node.rb#17818 sig { override.returns(String) } def inspect; end @@ -33135,20 +34047,20 @@ class Prism::SourceFileNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#16769 + # source://prism//lib/prism/node.rb#17810 sig { returns(T::Boolean) } def mutable?; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#16782 + # source://prism//lib/prism/node.rb#17823 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#16787 + # source://prism//lib/prism/node.rb#17828 def type; end end end @@ -33158,84 +34070,89 @@ end # __LINE__ # ^^^^^^^^ # -# source://prism//lib/prism/node.rb#16804 +# source://prism//lib/prism/node.rb#17845 class Prism::SourceLineNode < ::Prism::Node # Initialize a new SourceLineNode node. # # @return [SourceLineNode] a new instance of SourceLineNode # - # source://prism//lib/prism/node.rb#16806 + # source://prism//lib/prism/node.rb#17847 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#16863 + # source://prism//lib/prism/node.rb#17910 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#16814 + # source://prism//lib/prism/node.rb#17855 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16819 + # source://prism//lib/prism/node.rb#17860 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#16829 + # source://prism//lib/prism/node.rb#17876 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#16824 + # source://prism//lib/prism/node.rb#17871 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceLineNode # - # source://prism//lib/prism/node.rb#16834 + # source://prism//lib/prism/node.rb#17881 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::SourceLineNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16839 + # source://prism//lib/prism/node.rb#17886 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#16842 + # source://prism//lib/prism/node.rb#17889 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#17865 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#16847 + # source://prism//lib/prism/node.rb#17894 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#16852 + # source://prism//lib/prism/node.rb#17899 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#16857 + # source://prism//lib/prism/node.rb#17904 def type; end end end @@ -33245,13 +34162,13 @@ end # [*a] # ^^ # -# source://prism//lib/prism/node.rb#16872 +# source://prism//lib/prism/node.rb#17919 class Prism::SplatNode < ::Prism::Node # Initialize a new SplatNode node. # # @return [SplatNode] a new instance of SplatNode # - # source://prism//lib/prism/node.rb#16874 + # source://prism//lib/prism/node.rb#17921 sig do params( source: Prism::Source, @@ -33267,36 +34184,36 @@ class Prism::SplatNode < ::Prism::Node # 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#16956 + # source://prism//lib/prism/node.rb#18010 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#16884 + # source://prism//lib/prism/node.rb#17931 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16889 + # source://prism//lib/prism/node.rb#17936 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#16901 + # source://prism//lib/prism/node.rb#17955 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#16894 + # source://prism//lib/prism/node.rb#17948 sig { override.returns(T::Array[Prism::Node]) } 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#16906 + # source://prism//lib/prism/node.rb#17960 sig do params( node_id: Integer, @@ -33311,19 +34228,26 @@ class Prism::SplatNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16911 + # source://prism//lib/prism/node.rb#17965 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#16914 + # source://prism//lib/prism/node.rb#17968 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [expression] + # + # source://prism//lib/prism/node.rb#17941 + def each_child_node; end + # attr_reader expression: Prism::node? # - # source://prism//lib/prism/node.rb#16932 + # source://prism//lib/prism/node.rb#17986 sig { returns(T.nilable(Prism::Node)) } def expression; end @@ -33332,38 +34256,38 @@ class Prism::SplatNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#16940 + # source://prism//lib/prism/node.rb#17994 sig { override.returns(String) } def inspect; end # def operator: () -> String # - # source://prism//lib/prism/node.rb#16935 + # source://prism//lib/prism/node.rb#17989 sig { returns(String) } def operator; end # attr_reader operator_loc: Location # - # source://prism//lib/prism/node.rb#16919 + # source://prism//lib/prism/node.rb#17973 sig { returns(Prism::Location) } def operator_loc; end # Save the operator_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#16927 + # source://prism//lib/prism/node.rb#17981 def save_operator_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#16945 + # source://prism//lib/prism/node.rb#17999 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#16950 + # source://prism//lib/prism/node.rb#18004 def type; end end end @@ -33373,13 +34297,13 @@ end # foo; bar; baz # ^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#16967 +# source://prism//lib/prism/node.rb#18021 class Prism::StatementsNode < ::Prism::Node # Initialize a new StatementsNode node. # # @return [StatementsNode] a new instance of StatementsNode # - # source://prism//lib/prism/node.rb#16969 + # source://prism//lib/prism/node.rb#18023 sig do params( source: Prism::Source, @@ -33394,42 +34318,42 @@ class Prism::StatementsNode < ::Prism::Node # 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#17030 + # source://prism//lib/prism/node.rb#18091 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#16978 + # source://prism//lib/prism/node.rb#18032 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader body: Array[Prism::node] # - # source://prism//lib/prism/node.rb#17011 + # source://prism//lib/prism/node.rb#18072 sig { returns(T::Array[Prism::Node]) } def body; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#16983 + # source://prism//lib/prism/node.rb#18037 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#16993 + # source://prism//lib/prism/node.rb#18054 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#16988 + # source://prism//lib/prism/node.rb#18049 sig { override.returns(T::Array[Prism::Node]) } 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#16998 + # source://prism//lib/prism/node.rb#18059 sig do params( node_id: Integer, @@ -33443,58 +34367,63 @@ class Prism::StatementsNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17003 + # source://prism//lib/prism/node.rb#18064 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location, body: Array[Prism::node] } # - # source://prism//lib/prism/node.rb#17006 + # source://prism//lib/prism/node.rb#18067 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#18042 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#17014 + # source://prism//lib/prism/node.rb#18075 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#17019 + # source://prism//lib/prism/node.rb#18080 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#17024 + # source://prism//lib/prism/node.rb#18085 def type; end end end # Flags for string nodes. # -# source://prism//lib/prism/node.rb#18780 +# source://prism//lib/prism/node.rb#19922 module Prism::StringFlags; end # internal bytes forced the encoding to binary # -# source://prism//lib/prism/node.rb#18785 +# source://prism//lib/prism/node.rb#19927 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#18782 +# source://prism//lib/prism/node.rb#19924 Prism::StringFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer) -# source://prism//lib/prism/node.rb#18788 +# source://prism//lib/prism/node.rb#19930 Prism::StringFlags::FROZEN = T.let(T.unsafe(nil), Integer) -# source://prism//lib/prism/node.rb#18791 +# source://prism//lib/prism/node.rb#19933 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. @@ -33508,7 +34437,7 @@ Prism::StringFlags::MUTABLE = T.let(T.unsafe(nil), Integer) # "foo #{bar} baz" # ^^^^ ^^^^ # -# source://prism//lib/prism/node.rb#17047 +# source://prism//lib/prism/node.rb#18108 class Prism::StringNode < ::Prism::Node include ::Prism::HeredocQuery @@ -33516,7 +34445,7 @@ class Prism::StringNode < ::Prism::Node # # @return [StringNode] a new instance of StringNode # - # source://prism//lib/prism/node.rb#17049 + # source://prism//lib/prism/node.rb#18110 sig do params( source: Prism::Source, @@ -33534,60 +34463,60 @@ class Prism::StringNode < ::Prism::Node # 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#17199 + # source://prism//lib/prism/node.rb#18266 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#17061 + # source://prism//lib/prism/node.rb#18122 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17066 + # source://prism//lib/prism/node.rb#18127 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#17178 + # source://prism//lib/prism/node.rb#18245 sig { returns(T.nilable(String)) } def closing; end # attr_reader closing_loc: Location? # - # source://prism//lib/prism/node.rb#17146 + # source://prism//lib/prism/node.rb#18213 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#17076 + # source://prism//lib/prism/node.rb#18143 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#17071 + # source://prism//lib/prism/node.rb#18138 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def content: () -> String # - # source://prism//lib/prism/node.rb#17173 + # source://prism//lib/prism/node.rb#18240 sig { returns(String) } def content; end # attr_reader content_loc: Location # - # source://prism//lib/prism/node.rb#17133 + # source://prism//lib/prism/node.rb#18200 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#17081 + # source://prism//lib/prism/node.rb#18148 sig do params( node_id: Integer, @@ -33604,16 +34533,21 @@ class Prism::StringNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17086 + # source://prism//lib/prism/node.rb#18153 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#17089 + # source://prism//lib/prism/node.rb#18156 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#18132 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -33621,7 +34555,7 @@ class Prism::StringNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#17099 + # source://prism//lib/prism/node.rb#18166 sig { returns(T::Boolean) } def forced_binary_encoding?; end @@ -33629,7 +34563,7 @@ class Prism::StringNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#17094 + # source://prism//lib/prism/node.rb#18161 sig { returns(T::Boolean) } def forced_utf8_encoding?; end @@ -33637,7 +34571,7 @@ class Prism::StringNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#17104 + # source://prism//lib/prism/node.rb#18171 sig { returns(T::Boolean) } def frozen?; end @@ -33646,7 +34580,7 @@ class Prism::StringNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#17183 + # source://prism//lib/prism/node.rb#18250 sig { override.returns(String) } def inspect; end @@ -33654,38 +34588,38 @@ class Prism::StringNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#17109 + # source://prism//lib/prism/node.rb#18176 sig { returns(T::Boolean) } def mutable?; end # def opening: () -> String? # - # source://prism//lib/prism/node.rb#17168 + # source://prism//lib/prism/node.rb#18235 sig { returns(T.nilable(String)) } def opening; end # attr_reader opening_loc: Location? # - # source://prism//lib/prism/node.rb#17114 + # source://prism//lib/prism/node.rb#18181 sig { returns(T.nilable(Prism::Location)) } def opening_loc; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17160 + # source://prism//lib/prism/node.rb#18227 def save_closing_loc(repository); end # Save the content_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17141 + # source://prism//lib/prism/node.rb#18208 def save_content_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17128 + # source://prism//lib/prism/node.rb#18195 def save_opening_loc(repository); end # Occasionally it's helpful to treat a string as if it were interpolated so @@ -33697,20 +34631,20 @@ class Prism::StringNode < ::Prism::Node # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#17188 + # source://prism//lib/prism/node.rb#18255 sig { override.returns(Symbol) } def type; end # attr_reader unescaped: String # - # source://prism//lib/prism/node.rb#17165 + # source://prism//lib/prism/node.rb#18232 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#17193 + # source://prism//lib/prism/node.rb#18260 def type; end end end @@ -33758,21 +34692,21 @@ class Prism::StringQuery # # @return [Boolean] # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def constant?(_arg0); end # Mirrors the C extension's StringQuery::local? method. # # @return [Boolean] # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def local?(_arg0); end # Mirrors the C extension's StringQuery::method_name? method. # # @return [Boolean] # - # source://prism//lib/prism.rb#106 + # source://prism//lib/prism.rb#105 def method_name?(_arg0); end end end @@ -33785,13 +34719,15 @@ end # super foo, bar # ^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#17216 +# If no arguments are provided (except for a block), it would be a `ForwardingSuperNode` instead. +# +# source://prism//lib/prism/node.rb#18285 class Prism::SuperNode < ::Prism::Node # Initialize a new SuperNode node. # # @return [SuperNode] a new instance of SuperNode # - # source://prism//lib/prism/node.rb#17218 + # source://prism//lib/prism/node.rb#18287 sig do params( source: Prism::Source, @@ -33810,48 +34746,48 @@ class Prism::SuperNode < ::Prism::Node # 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#17355 + # source://prism//lib/prism/node.rb#18432 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#17231 + # source://prism//lib/prism/node.rb#18300 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end - # attr_reader arguments: ArgumentsNode? + # Can be only `nil` when there are empty parentheses, like `super()`. # - # source://prism//lib/prism/node.rb#17299 + # source://prism//lib/prism/node.rb#18376 sig { returns(T.nilable(Prism::ArgumentsNode)) } def arguments; end # attr_reader block: BlockNode | BlockArgumentNode | nil # - # source://prism//lib/prism/node.rb#17321 + # source://prism//lib/prism/node.rb#18398 sig { returns(T.nilable(T.any(Prism::BlockNode, Prism::BlockArgumentNode))) } def block; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17236 + # source://prism//lib/prism/node.rb#18305 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#17249 + # source://prism//lib/prism/node.rb#18326 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#17241 + # source://prism//lib/prism/node.rb#18318 sig { override.returns(T::Array[Prism::Node]) } 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: BlockNode | BlockArgumentNode | nil) -> SuperNode # - # source://prism//lib/prism/node.rb#17254 + # source://prism//lib/prism/node.rb#18331 sig do params( node_id: Integer, @@ -33869,111 +34805,118 @@ class Prism::SuperNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17259 + # source://prism//lib/prism/node.rb#18336 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, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, block: BlockNode | BlockArgumentNode | nil } # - # source://prism//lib/prism/node.rb#17262 + # source://prism//lib/prism/node.rb#18339 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [arguments] + # + # source://prism//lib/prism/node.rb#18310 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#17339 + # source://prism//lib/prism/node.rb#18416 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#17324 + # source://prism//lib/prism/node.rb#18401 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#17267 + # source://prism//lib/prism/node.rb#18344 sig { returns(Prism::Location) } def keyword_loc; end # def lparen: () -> String? # - # source://prism//lib/prism/node.rb#17329 + # source://prism//lib/prism/node.rb#18406 sig { returns(T.nilable(String)) } def lparen; end # attr_reader lparen_loc: Location? # - # source://prism//lib/prism/node.rb#17280 + # source://prism//lib/prism/node.rb#18357 sig { returns(T.nilable(Prism::Location)) } def lparen_loc; end # def rparen: () -> String? # - # source://prism//lib/prism/node.rb#17334 + # source://prism//lib/prism/node.rb#18411 sig { returns(T.nilable(String)) } def rparen; end # attr_reader rparen_loc: Location? # - # source://prism//lib/prism/node.rb#17302 + # source://prism//lib/prism/node.rb#18379 sig { returns(T.nilable(Prism::Location)) } def rparen_loc; end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17275 + # source://prism//lib/prism/node.rb#18352 def save_keyword_loc(repository); end # Save the lparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17294 + # source://prism//lib/prism/node.rb#18371 def save_lparen_loc(repository); end # Save the rparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17316 + # source://prism//lib/prism/node.rb#18393 def save_rparen_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#17344 + # source://prism//lib/prism/node.rb#18421 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#17349 + # source://prism//lib/prism/node.rb#18426 def type; end end end # Flags for symbol nodes. # -# source://prism//lib/prism/node.rb#18795 +# source://prism//lib/prism/node.rb#19937 module Prism::SymbolFlags; end # internal bytes forced the encoding to binary # -# source://prism//lib/prism/node.rb#18800 +# source://prism//lib/prism/node.rb#19942 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#18803 +# source://prism//lib/prism/node.rb#19945 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#18797 +# source://prism//lib/prism/node.rb#19939 Prism::SymbolFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer) # Represents a symbol literal or a symbol contained within a `%i` list. @@ -33984,13 +34927,13 @@ Prism::SymbolFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer) # %i[foo] # ^^^ # -# source://prism//lib/prism/node.rb#17372 +# source://prism//lib/prism/node.rb#18449 class Prism::SymbolNode < ::Prism::Node # Initialize a new SymbolNode node. # # @return [SymbolNode] a new instance of SymbolNode # - # source://prism//lib/prism/node.rb#17374 + # source://prism//lib/prism/node.rb#18451 sig do params( source: Prism::Source, @@ -34008,48 +34951,48 @@ class Prism::SymbolNode < ::Prism::Node # 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#17525 + # source://prism//lib/prism/node.rb#18608 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#17386 + # source://prism//lib/prism/node.rb#18463 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17391 + # source://prism//lib/prism/node.rb#18468 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#17504 + # source://prism//lib/prism/node.rb#18587 sig { returns(T.nilable(String)) } def closing; end # attr_reader closing_loc: Location? # - # source://prism//lib/prism/node.rb#17472 + # source://prism//lib/prism/node.rb#18555 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#17401 + # source://prism//lib/prism/node.rb#18484 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#17396 + # source://prism//lib/prism/node.rb#18479 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#17406 + # source://prism//lib/prism/node.rb#18489 sig do params( node_id: Integer, @@ -34066,16 +35009,21 @@ class Prism::SymbolNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17411 + # source://prism//lib/prism/node.rb#18494 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#17414 + # source://prism//lib/prism/node.rb#18497 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#18473 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -34083,7 +35031,7 @@ class Prism::SymbolNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#17424 + # source://prism//lib/prism/node.rb#18507 sig { returns(T::Boolean) } def forced_binary_encoding?; end @@ -34091,7 +35039,7 @@ class Prism::SymbolNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#17429 + # source://prism//lib/prism/node.rb#18512 sig { returns(T::Boolean) } def forced_us_ascii_encoding?; end @@ -34099,133 +35047,133 @@ class Prism::SymbolNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#17419 + # source://prism//lib/prism/node.rb#18502 sig { returns(T::Boolean) } def forced_utf8_encoding?; end # def inspect -> String # - # source://prism//lib/prism/node.rb#17509 + # source://prism//lib/prism/node.rb#18592 sig { override.returns(String) } def inspect; end # def opening: () -> String? # - # source://prism//lib/prism/node.rb#17494 + # source://prism//lib/prism/node.rb#18577 sig { returns(T.nilable(String)) } def opening; end # attr_reader opening_loc: Location? # - # source://prism//lib/prism/node.rb#17434 + # source://prism//lib/prism/node.rb#18517 sig { returns(T.nilable(Prism::Location)) } def opening_loc; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17486 + # source://prism//lib/prism/node.rb#18569 def save_closing_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17448 + # source://prism//lib/prism/node.rb#18531 def save_opening_loc(repository); end # Save the value_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17467 + # source://prism//lib/prism/node.rb#18550 def save_value_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#17514 + # source://prism//lib/prism/node.rb#18597 sig { override.returns(Symbol) } def type; end # attr_reader unescaped: String # - # source://prism//lib/prism/node.rb#17491 + # source://prism//lib/prism/node.rb#18574 sig { returns(String) } def unescaped; end # def value: () -> String? # - # source://prism//lib/prism/node.rb#17499 + # source://prism//lib/prism/node.rb#18582 sig { returns(T.nilable(String)) } def value; end # attr_reader value_loc: Location? # - # source://prism//lib/prism/node.rb#17453 + # source://prism//lib/prism/node.rb#18536 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#17519 + # source://prism//lib/prism/node.rb#18602 def type; end end end # This represents a token from the Ruby source. # -# source://prism//lib/prism/parse_result.rb#817 +# source://prism//lib/prism/parse_result.rb#804 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#829 + # source://prism//lib/prism/parse_result.rb#816 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#864 + # source://prism//lib/prism/parse_result.rb#851 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#837 + # source://prism//lib/prism/parse_result.rb#824 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # Freeze this object and the objects it contains. # - # source://prism//lib/prism/parse_result.rb#877 + # source://prism//lib/prism/parse_result.rb#864 def deep_freeze; end # Returns a string representation of this token. # - # source://prism//lib/prism/parse_result.rb#871 + # source://prism//lib/prism/parse_result.rb#858 def inspect; end # A Location object representing the location of this token in the source. # - # source://prism//lib/prism/parse_result.rb#842 + # source://prism//lib/prism/parse_result.rb#829 sig { returns(Prism::Location) } def location; end # Implement the pretty print interface for Token. # - # source://prism//lib/prism/parse_result.rb#849 + # source://prism//lib/prism/parse_result.rb#836 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#823 + # source://prism//lib/prism/parse_result.rb#810 sig { returns(Symbol) } def type; end # A byteslice of the source that this token represents. # - # source://prism//lib/prism/parse_result.rb#826 + # source://prism//lib/prism/parse_result.rb#813 sig { returns(String) } def value; end @@ -34233,7 +35181,7 @@ class Prism::Token # The Source object that represents the source this token came from. # - # source://prism//lib/prism/parse_result.rb#819 + # source://prism//lib/prism/parse_result.rb#806 sig { returns(Prism::Source) } def source; end end @@ -34400,31 +35348,42 @@ end # This class is the entry-point for Ruby 3.3 of `Prism::Translation::Parser`. # -# source://prism//lib/prism/translation/parser33.rb#7 +# source://prism//lib/prism/translation/parser_versions.rb#7 class Prism::Translation::Parser33 < ::Prism::Translation::Parser - # source://prism//lib/prism/translation/parser33.rb#8 + # source://prism//lib/prism/translation/parser_versions.rb#8 sig { override.returns(Integer) } def version; end end # This class is the entry-point for Ruby 3.4 of `Prism::Translation::Parser`. # -# source://prism//lib/prism/translation/parser34.rb#7 +# source://prism//lib/prism/translation/parser_versions.rb#14 class Prism::Translation::Parser34 < ::Prism::Translation::Parser - # source://prism//lib/prism/translation/parser34.rb#8 + # source://prism//lib/prism/translation/parser_versions.rb#15 sig { override.returns(Integer) } def version; end end -# This class is the entry-point for Ruby 3.5 of `Prism::Translation::Parser`. +# source://prism//lib/prism/translation/parser_versions.rb#27 +Prism::Translation::Parser35 = Prism::Translation::Parser40 + +# This class is the entry-point for Ruby 4.0 of `Prism::Translation::Parser`. # -# source://prism//lib/prism/translation/parser35.rb#7 -class Prism::Translation::Parser35 < ::Prism::Translation::Parser - # source://prism//lib/prism/translation/parser35.rb#8 +# source://prism//lib/prism/translation/parser_versions.rb#21 +class Prism::Translation::Parser40 < ::Prism::Translation::Parser + # source://prism//lib/prism/translation/parser_versions.rb#22 sig { override.returns(Integer) } def version; end end +# This class is the entry-point for Ruby 4.1 of `Prism::Translation::Parser`. +# +# source://prism//lib/prism/translation/parser_versions.rb#30 +class Prism::Translation::Parser41 < ::Prism::Translation::Parser + # source://prism//lib/prism/translation/parser_versions.rb#31 + def version; end +end + # A builder that knows how to convert more modern Ruby syntax # into whitequark/parser gem's syntax tree. # @@ -35518,20 +36477,20 @@ class Prism::Translation::Parser::Compiler < ::Prism::Compiler # source://prism//lib/prism/translation/parser/compiler.rb#2006 def srange(location); end - # Constructs a new source range by finding the given character between - # the given start offset and end offset. If the needle is not found, it - # returns nil. Importantly it does not search past newlines or comments. + # Constructs a new source range from the given start and end offsets. + # + # source://prism//lib/prism/translation/parser/compiler.rb#2011 + def srange_offsets(start_offset, end_offset); end + + # Constructs a new source range by finding a semicolon between the given + # start offset and end offset. If the semicolon is not found, it returns + # nil. Importantly it does not search past newlines or comments. # # Note that end_offset is allowed to be nil, in which case this will # search until the end of the string. # # source://prism//lib/prism/translation/parser/compiler.rb#2021 - def srange_find(start_offset, end_offset, character); end - - # Constructs a new source range from the given start and end offsets. - # - # source://prism//lib/prism/translation/parser/compiler.rb#2011 - def srange_offsets(start_offset, end_offset); end + def srange_semicolon(start_offset, end_offset); end # When the content of a string node is split across multiple lines, the # parser gem creates individual string nodes for each line the content is part of. @@ -35852,8 +36811,8 @@ end # source://prism//lib/prism/translation/parser.rb#47 Prism::Translation::Parser::Racc_debug_parser = T.let(T.unsafe(nil), FalseClass) -# source://prism//lib/prism/translation/parser_current.rb#12 -Prism::Translation::ParserCurrent = Prism::Translation::Parser34 +# source://prism//lib/prism/translation/parser_current.rb#14 +Prism::Translation::ParserCurrent = Prism::Translation::Parser40 # This class provides a compatibility layer between prism and Ripper. It # functions by parsing the entire tree first and then walking it and @@ -35891,95 +36850,95 @@ Prism::Translation::ParserCurrent = Prism::Translation::Parser34 # - on_tstring_beg # - on_tstring_end # -# source://prism//lib/prism/translation/ripper.rb#44 +# source://prism//lib/prism/translation/ripper.rb#42 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#445 + # source://prism//lib/prism/translation/ripper.rb#468 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#442 + # source://prism//lib/prism/translation/ripper.rb#465 def column; end # True if the parser encountered an error during parsing. # # @return [Boolean] # - # source://prism//lib/prism/translation/ripper.rb#458 + # source://prism//lib/prism/translation/ripper.rb#481 sig { returns(T::Boolean) } def error?; end # The filename of the source being parsed. # - # source://prism//lib/prism/translation/ripper.rb#436 + # source://prism//lib/prism/translation/ripper.rb#459 def filename; end # The current line number of the parser. # - # source://prism//lib/prism/translation/ripper.rb#439 + # source://prism//lib/prism/translation/ripper.rb#462 def lineno; end # Parse the source and return the result. # - # source://prism//lib/prism/translation/ripper.rb#463 + # source://prism//lib/prism/translation/ripper.rb#486 sig { returns(T.untyped) } def parse; end # The source that is being parsed. # - # source://prism//lib/prism/translation/ripper.rb#433 + # source://prism//lib/prism/translation/ripper.rb#456 def source; end # alias $foo $bar # ^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#562 + # source://prism//lib/prism/translation/ripper.rb#585 def visit_alias_global_variable_node(node); end # alias foo bar # ^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#552 + # source://prism//lib/prism/translation/ripper.rb#575 def visit_alias_method_node(node); end # foo => bar | baz # ^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#586 + # source://prism//lib/prism/translation/ripper.rb#609 def visit_alternation_pattern_node(node); end # a and b # ^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#606 + # source://prism//lib/prism/translation/ripper.rb#629 def visit_and_node(node); end # foo(bar) # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#797 + # source://prism//lib/prism/translation/ripper.rb#820 def visit_arguments_node(node); end # [] # ^^ # - # source://prism//lib/prism/translation/ripper.rb#616 + # source://prism//lib/prism/translation/ripper.rb#639 def visit_array_node(node); end # foo => [bar] # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#776 + # source://prism//lib/prism/translation/ripper.rb#799 def visit_array_pattern_node(node); end # { a: 1 } # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#804 + # source://prism//lib/prism/translation/ripper.rb#827 def visit_assoc_node(node); end # def foo(**); bar(**); end @@ -35988,47 +36947,47 @@ class Prism::Translation::Ripper < ::Prism::Compiler # { **foo } # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#817 + # source://prism//lib/prism/translation/ripper.rb#840 def visit_assoc_splat_node(node); end # $+ # ^^ # - # source://prism//lib/prism/translation/ripper.rb#826 + # source://prism//lib/prism/translation/ripper.rb#849 def visit_back_reference_read_node(node); end # begin end # ^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#833 + # source://prism//lib/prism/translation/ripper.rb#856 def visit_begin_node(node); end # foo(&bar) # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#897 + # source://prism//lib/prism/translation/ripper.rb#920 def visit_block_argument_node(node); end # foo { |; bar| } # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#903 + # source://prism//lib/prism/translation/ripper.rb#926 def visit_block_local_variable_node(node); end # Visit a BlockNode. # - # source://prism//lib/prism/translation/ripper.rb#909 + # source://prism//lib/prism/translation/ripper.rb#932 def visit_block_node(node); end # def foo(&bar); end # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#945 + # source://prism//lib/prism/translation/ripper.rb#968 def visit_block_parameter_node(node); end # A block's parameters. # - # source://prism//lib/prism/translation/ripper.rb#959 + # source://prism//lib/prism/translation/ripper.rb#982 def visit_block_parameters_node(node); end # break @@ -36037,13 +36996,13 @@ class Prism::Translation::Ripper < ::Prism::Compiler # break foo # ^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#983 + # source://prism//lib/prism/translation/ripper.rb#1006 def visit_break_node(node); end # foo.bar &&= baz # ^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1205 + # source://prism//lib/prism/translation/ripper.rb#1228 def visit_call_and_write_node(node); end # foo @@ -36055,79 +37014,79 @@ class Prism::Translation::Ripper < ::Prism::Compiler # foo.bar() {} # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1003 + # source://prism//lib/prism/translation/ripper.rb#1026 def visit_call_node(node); end # foo.bar += baz # ^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1183 + # source://prism//lib/prism/translation/ripper.rb#1206 def visit_call_operator_write_node(node); end # foo.bar ||= baz # ^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1227 + # source://prism//lib/prism/translation/ripper.rb#1250 def visit_call_or_write_node(node); end # foo.bar, = 1 # ^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1249 + # source://prism//lib/prism/translation/ripper.rb#1272 def visit_call_target_node(node); end # foo => bar => baz # ^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1274 + # source://prism//lib/prism/translation/ripper.rb#1297 def visit_capture_pattern_node(node); end # case foo; in bar; end # ^^^^^^^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1297 + # source://prism//lib/prism/translation/ripper.rb#1320 def visit_case_match_node(node); end # case foo; when bar; end # ^^^^^^^^^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1284 + # source://prism//lib/prism/translation/ripper.rb#1307 def visit_case_node(node); end # class Foo; end # ^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1310 + # source://prism//lib/prism/translation/ripper.rb#1333 def visit_class_node(node); end # @@foo &&= bar # ^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1363 + # source://prism//lib/prism/translation/ripper.rb#1386 def visit_class_variable_and_write_node(node); end # @@foo += bar # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1349 + # source://prism//lib/prism/translation/ripper.rb#1372 def visit_class_variable_operator_write_node(node); end # @@foo ||= bar # ^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1377 + # source://prism//lib/prism/translation/ripper.rb#1400 def visit_class_variable_or_write_node(node); end # @@foo # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1328 + # source://prism//lib/prism/translation/ripper.rb#1351 def visit_class_variable_read_node(node); end # @@foo, = bar # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1391 + # source://prism//lib/prism/translation/ripper.rb#1414 def visit_class_variable_target_node(node); end # @@foo = 1 @@ -36136,55 +37095,55 @@ class Prism::Translation::Ripper < ::Prism::Compiler # @@foo, @@bar = 1 # ^^^^^ ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1338 + # source://prism//lib/prism/translation/ripper.rb#1361 def visit_class_variable_write_node(node); end # Foo &&= bar # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1433 + # source://prism//lib/prism/translation/ripper.rb#1456 def visit_constant_and_write_node(node); end # Foo += bar # ^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1419 + # source://prism//lib/prism/translation/ripper.rb#1442 def visit_constant_operator_write_node(node); end # Foo ||= bar # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1447 + # source://prism//lib/prism/translation/ripper.rb#1470 def visit_constant_or_write_node(node); end # Foo::Bar &&= baz # ^^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1534 + # source://prism//lib/prism/translation/ripper.rb#1557 def visit_constant_path_and_write_node(node); end # Foo::Bar # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1468 + # source://prism//lib/prism/translation/ripper.rb#1491 def visit_constant_path_node(node); end # Foo::Bar += baz # ^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1520 + # source://prism//lib/prism/translation/ripper.rb#1543 def visit_constant_path_operator_write_node(node); end # Foo::Bar ||= baz # ^^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1548 + # source://prism//lib/prism/translation/ripper.rb#1571 def visit_constant_path_or_write_node(node); end # Foo::Bar, = baz # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1562 + # source://prism//lib/prism/translation/ripper.rb#1585 def visit_constant_path_target_node(node); end # Foo::Bar = 1 @@ -36193,19 +37152,19 @@ class Prism::Translation::Ripper < ::Prism::Compiler # Foo::Foo, Bar::Bar = 1 # ^^^^^^^^ ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1491 + # source://prism//lib/prism/translation/ripper.rb#1514 def visit_constant_path_write_node(node); end # Foo # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#1398 + # source://prism//lib/prism/translation/ripper.rb#1421 def visit_constant_read_node(node); end # Foo, = bar # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#1461 + # source://prism//lib/prism/translation/ripper.rb#1484 def visit_constant_target_node(node); end # Foo = 1 @@ -36214,7 +37173,7 @@ class Prism::Translation::Ripper < ::Prism::Compiler # Foo, Bar = 1 # ^^^ ^^^ # - # source://prism//lib/prism/translation/ripper.rb#1408 + # source://prism//lib/prism/translation/ripper.rb#1431 def visit_constant_write_node(node); end # def foo; end @@ -36223,7 +37182,7 @@ class Prism::Translation::Ripper < ::Prism::Compiler # def self.foo; end # ^^^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1571 + # source://prism//lib/prism/translation/ripper.rb#1594 def visit_def_node(node); end # defined? a @@ -36232,72 +37191,72 @@ class Prism::Translation::Ripper < ::Prism::Compiler # defined?(a) # ^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1618 + # source://prism//lib/prism/translation/ripper.rb#1641 def visit_defined_node(node); end # if foo then bar else baz end # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1640 + # source://prism//lib/prism/translation/ripper.rb#1663 def visit_else_node(node); end # "foo #{bar}" # ^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1656 + # source://prism//lib/prism/translation/ripper.rb#1679 def visit_embedded_statements_node(node); end # "foo #@bar" # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1677 + # source://prism//lib/prism/translation/ripper.rb#1700 def visit_embedded_variable_node(node); end # Visit an EnsureNode node. # - # source://prism//lib/prism/translation/ripper.rb#1688 + # source://prism//lib/prism/translation/ripper.rb#1711 def visit_ensure_node(node); end # false # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1706 + # source://prism//lib/prism/translation/ripper.rb#1729 def visit_false_node(node); end # foo => [*, bar, *] # ^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1713 + # source://prism//lib/prism/translation/ripper.rb#1736 def visit_find_pattern_node(node); end # if foo .. bar; end # ^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1738 + # source://prism//lib/prism/translation/ripper.rb#1761 def visit_flip_flop_node(node); end # 1.0 # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#1752 + # source://prism//lib/prism/translation/ripper.rb#1775 def visit_float_node(node); end # for foo in bar do end # ^^^^^^^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1758 + # source://prism//lib/prism/translation/ripper.rb#1781 def visit_for_node(node); end # def foo(...); bar(...); end # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#1775 + # source://prism//lib/prism/translation/ripper.rb#1798 def visit_forwarding_arguments_node(node); end # def foo(...); end # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#1782 + # source://prism//lib/prism/translation/ripper.rb#1805 def visit_forwarding_parameter_node(node); end # super @@ -36306,37 +37265,37 @@ class Prism::Translation::Ripper < ::Prism::Compiler # super {} # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1792 + # source://prism//lib/prism/translation/ripper.rb#1815 def visit_forwarding_super_node(node); end # $foo &&= bar # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1841 + # source://prism//lib/prism/translation/ripper.rb#1864 def visit_global_variable_and_write_node(node); end # $foo += bar # ^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1827 + # source://prism//lib/prism/translation/ripper.rb#1850 def visit_global_variable_operator_write_node(node); end # $foo ||= bar # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1855 + # source://prism//lib/prism/translation/ripper.rb#1878 def visit_global_variable_or_write_node(node); end # $foo # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1806 + # source://prism//lib/prism/translation/ripper.rb#1829 def visit_global_variable_read_node(node); end # $foo, = bar # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1869 + # source://prism//lib/prism/translation/ripper.rb#1892 def visit_global_variable_target_node(node); end # $foo = 1 @@ -36345,19 +37304,19 @@ class Prism::Translation::Ripper < ::Prism::Compiler # $foo, $bar = 1 # ^^^^ ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1816 + # source://prism//lib/prism/translation/ripper.rb#1839 def visit_global_variable_write_node(node); end # {} # ^^ # - # source://prism//lib/prism/translation/ripper.rb#1876 + # source://prism//lib/prism/translation/ripper.rb#1899 def visit_hash_node(node); end # foo => {} # ^^ # - # source://prism//lib/prism/translation/ripper.rb#1891 + # source://prism//lib/prism/translation/ripper.rb#1914 def visit_hash_pattern_node(node); end # if foo then bar end @@ -36369,140 +37328,140 @@ class Prism::Translation::Ripper < ::Prism::Compiler # foo ? bar : baz # ^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1933 + # source://prism//lib/prism/translation/ripper.rb#1956 def visit_if_node(node); end # 1i # ^^ # - # source://prism//lib/prism/translation/ripper.rb#1969 + # source://prism//lib/prism/translation/ripper.rb#1992 def visit_imaginary_node(node); end # { foo: } # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1975 + # source://prism//lib/prism/translation/ripper.rb#1998 def visit_implicit_node(node); end # foo { |bar,| } # ^ # - # source://prism//lib/prism/translation/ripper.rb#1980 + # source://prism//lib/prism/translation/ripper.rb#2003 def visit_implicit_rest_node(node); end # case foo; in bar; end # ^^^^^^^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#1987 + # source://prism//lib/prism/translation/ripper.rb#2010 def visit_in_node(node); end # foo[bar] &&= baz # ^^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2022 + # source://prism//lib/prism/translation/ripper.rb#2045 def visit_index_and_write_node(node); end # foo[bar] += baz # ^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2005 + # source://prism//lib/prism/translation/ripper.rb#2028 def visit_index_operator_write_node(node); end # foo[bar] ||= baz # ^^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2039 + # source://prism//lib/prism/translation/ripper.rb#2062 def visit_index_or_write_node(node); end # foo[bar], = 1 # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2056 + # source://prism//lib/prism/translation/ripper.rb#2079 def visit_index_target_node(node); end # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2098 + # source://prism//lib/prism/translation/ripper.rb#2121 def visit_instance_variable_and_write_node(node); end # ^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2084 + # source://prism//lib/prism/translation/ripper.rb#2107 def visit_instance_variable_operator_write_node(node); end # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2112 + # source://prism//lib/prism/translation/ripper.rb#2135 def visit_instance_variable_or_write_node(node); end # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2066 + # source://prism//lib/prism/translation/ripper.rb#2089 def visit_instance_variable_read_node(node); end # @foo, = bar # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2126 + # source://prism//lib/prism/translation/ripper.rb#2149 def visit_instance_variable_target_node(node); end # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2073 + # source://prism//lib/prism/translation/ripper.rb#2096 def visit_instance_variable_write_node(node); end # 1 # ^ # - # source://prism//lib/prism/translation/ripper.rb#2133 + # source://prism//lib/prism/translation/ripper.rb#2156 def visit_integer_node(node); end # if /foo #{bar}/ then end # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2139 + # source://prism//lib/prism/translation/ripper.rb#2162 def visit_interpolated_match_last_line_node(node); end # /foo #{bar}/ # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2158 + # source://prism//lib/prism/translation/ripper.rb#2181 def visit_interpolated_regular_expression_node(node); end # "foo #{bar}" # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2177 + # source://prism//lib/prism/translation/ripper.rb#2200 def visit_interpolated_string_node(node); end # :"foo #{bar}" # ^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2205 + # source://prism//lib/prism/translation/ripper.rb#2228 def visit_interpolated_symbol_node(node); end # `foo #{bar}` # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2218 + # source://prism//lib/prism/translation/ripper.rb#2241 def visit_interpolated_x_string_node(node); end # -> { it } # ^^ # - # source://prism//lib/prism/translation/ripper.rb#2248 + # source://prism//lib/prism/translation/ripper.rb#2271 def visit_it_local_variable_read_node(node); end # -> { it } # ^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2255 + # source://prism//lib/prism/translation/ripper.rb#2278 def visit_it_parameters_node(node); end # foo(bar: baz) # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2260 + # source://prism//lib/prism/translation/ripper.rb#2283 def visit_keyword_hash_node(node); end # def foo(**bar); end @@ -36511,96 +37470,96 @@ class Prism::Translation::Ripper < ::Prism::Compiler # def foo(**); end # ^^ # - # source://prism//lib/prism/translation/ripper.rb#2272 + # source://prism//lib/prism/translation/ripper.rb#2295 def visit_keyword_rest_parameter_node(node); end # -> {} # - # source://prism//lib/prism/translation/ripper.rb#2286 + # source://prism//lib/prism/translation/ripper.rb#2309 def visit_lambda_node(node); end # foo &&= bar # ^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2378 + # source://prism//lib/prism/translation/ripper.rb#2401 def visit_local_variable_and_write_node(node); end # foo += bar # ^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2364 + # source://prism//lib/prism/translation/ripper.rb#2387 def visit_local_variable_operator_write_node(node); end # foo ||= bar # ^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2392 + # source://prism//lib/prism/translation/ripper.rb#2415 def visit_local_variable_or_write_node(node); end # foo # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#2346 + # source://prism//lib/prism/translation/ripper.rb#2369 def visit_local_variable_read_node(node); end # foo, = bar # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#2406 + # source://prism//lib/prism/translation/ripper.rb#2429 def visit_local_variable_target_node(node); end # foo = 1 # ^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2353 + # source://prism//lib/prism/translation/ripper.rb#2376 def visit_local_variable_write_node(node); end # if /foo/ then end # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2413 + # source://prism//lib/prism/translation/ripper.rb#2436 def visit_match_last_line_node(node); end # foo in bar # ^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2428 + # source://prism//lib/prism/translation/ripper.rb#2451 def visit_match_predicate_node(node); end # foo => bar # ^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2437 + # source://prism//lib/prism/translation/ripper.rb#2460 def visit_match_required_node(node); end # /(?foo)/ =~ bar # ^^^^^^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2446 + # source://prism//lib/prism/translation/ripper.rb#2469 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#2452 + # source://prism//lib/prism/translation/ripper.rb#2475 def visit_missing_node(node); end # module Foo; end # ^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2458 + # source://prism//lib/prism/translation/ripper.rb#2481 def visit_module_node(node); end # (foo, bar), bar = qux # ^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2475 + # source://prism//lib/prism/translation/ripper.rb#2498 def visit_multi_target_node(node); end # foo, bar = baz # ^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2529 + # source://prism//lib/prism/translation/ripper.rb#2552 def visit_multi_write_node(node); end # next @@ -36609,55 +37568,55 @@ class Prism::Translation::Ripper < ::Prism::Compiler # next foo # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2549 + # source://prism//lib/prism/translation/ripper.rb#2572 def visit_next_node(node); end # nil # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#2563 + # source://prism//lib/prism/translation/ripper.rb#2586 def visit_nil_node(node); end # def foo(**nil); end # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2570 + # source://prism//lib/prism/translation/ripper.rb#2593 def visit_no_keywords_parameter_node(node); end # -> { _1 + _2 } # ^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2579 + # source://prism//lib/prism/translation/ripper.rb#2602 def visit_numbered_parameters_node(node); end # $1 # ^^ # - # source://prism//lib/prism/translation/ripper.rb#2584 + # source://prism//lib/prism/translation/ripper.rb#2607 def visit_numbered_reference_read_node(node); end # def foo(bar: baz); end # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2591 + # source://prism//lib/prism/translation/ripper.rb#2614 def visit_optional_keyword_parameter_node(node); end # def foo(bar = 1); end # ^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2601 + # source://prism//lib/prism/translation/ripper.rb#2624 def visit_optional_parameter_node(node); end # a or b # ^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2611 + # source://prism//lib/prism/translation/ripper.rb#2634 def visit_or_node(node); end # def foo(bar, *baz); end # ^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2621 + # source://prism//lib/prism/translation/ripper.rb#2644 def visit_parameters_node(node); end # () @@ -36666,84 +37625,84 @@ class Prism::Translation::Ripper < ::Prism::Compiler # (1) # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#2648 + # source://prism//lib/prism/translation/ripper.rb#2671 def visit_parentheses_node(node); end # foo => ^(bar) # ^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2662 + # source://prism//lib/prism/translation/ripper.rb#2685 def visit_pinned_expression_node(node); end # foo = 1 and bar => ^foo # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2671 + # source://prism//lib/prism/translation/ripper.rb#2694 def visit_pinned_variable_node(node); end # END {} # ^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2677 + # source://prism//lib/prism/translation/ripper.rb#2700 def visit_post_execution_node(node); end # BEGIN {} # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2692 + # source://prism//lib/prism/translation/ripper.rb#2715 def visit_pre_execution_node(node); end # The top-level program node. # - # source://prism//lib/prism/translation/ripper.rb#2706 + # source://prism//lib/prism/translation/ripper.rb#2729 def visit_program_node(node); end # 0..5 # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2717 + # source://prism//lib/prism/translation/ripper.rb#2740 def visit_range_node(node); end # 1r # ^^ # - # source://prism//lib/prism/translation/ripper.rb#2731 + # source://prism//lib/prism/translation/ripper.rb#2754 def visit_rational_node(node); end # redo # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2737 + # source://prism//lib/prism/translation/ripper.rb#2760 def visit_redo_node(node); end # /foo/ # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2744 + # source://prism//lib/prism/translation/ripper.rb#2767 def visit_regular_expression_node(node); end # def foo(bar:); end # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2766 + # source://prism//lib/prism/translation/ripper.rb#2789 def visit_required_keyword_parameter_node(node); end # def foo(bar); end # ^^^ # - # source://prism//lib/prism/translation/ripper.rb#2773 + # source://prism//lib/prism/translation/ripper.rb#2796 def visit_required_parameter_node(node); end # foo rescue bar # ^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2780 + # source://prism//lib/prism/translation/ripper.rb#2803 def visit_rescue_modifier_node(node); end # begin; rescue; end # ^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2790 + # source://prism//lib/prism/translation/ripper.rb#2813 def visit_rescue_node(node); end # def foo(*bar); end @@ -36752,13 +37711,13 @@ class Prism::Translation::Ripper < ::Prism::Compiler # def foo(*); end # ^ # - # source://prism//lib/prism/translation/ripper.rb#2848 + # source://prism//lib/prism/translation/ripper.rb#2871 def visit_rest_parameter_node(node); end # retry # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2860 + # source://prism//lib/prism/translation/ripper.rb#2883 def visit_retry_node(node); end # return @@ -36767,42 +37726,42 @@ class Prism::Translation::Ripper < ::Prism::Compiler # return 1 # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2870 + # source://prism//lib/prism/translation/ripper.rb#2893 def visit_return_node(node); end # self # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2884 + # source://prism//lib/prism/translation/ripper.rb#2907 def visit_self_node(node); end # A shareable constant. # - # source://prism//lib/prism/translation/ripper.rb#2890 + # source://prism//lib/prism/translation/ripper.rb#2913 def visit_shareable_constant_node(node); end # class << self; end # ^^^^^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2896 + # source://prism//lib/prism/translation/ripper.rb#2919 def visit_singleton_class_node(node); end # __ENCODING__ # ^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2906 + # source://prism//lib/prism/translation/ripper.rb#2929 def visit_source_encoding_node(node); end # __FILE__ # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2913 + # source://prism//lib/prism/translation/ripper.rb#2936 def visit_source_file_node(node); end # __LINE__ # ^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2920 + # source://prism//lib/prism/translation/ripper.rb#2943 def visit_source_line_node(node); end # foo(*bar) @@ -36814,42 +37773,42 @@ class Prism::Translation::Ripper < ::Prism::Compiler # def foo(*); bar(*); end # ^ # - # source://prism//lib/prism/translation/ripper.rb#2933 + # source://prism//lib/prism/translation/ripper.rb#2956 def visit_splat_node(node); end # A list of statements. # - # source://prism//lib/prism/translation/ripper.rb#2938 + # source://prism//lib/prism/translation/ripper.rb#2961 def visit_statements_node(node); end # "foo" # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#2955 + # source://prism//lib/prism/translation/ripper.rb#2978 def visit_string_node(node); end # super(foo) # ^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#3087 + # source://prism//lib/prism/translation/ripper.rb#3110 def visit_super_node(node); end # :foo # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#3108 + # source://prism//lib/prism/translation/ripper.rb#3131 def visit_symbol_node(node); end # true # ^^^^ # - # source://prism//lib/prism/translation/ripper.rb#3132 + # source://prism//lib/prism/translation/ripper.rb#3155 def visit_true_node(node); end # undef foo # ^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#3139 + # source://prism//lib/prism/translation/ripper.rb#3162 def visit_undef_node(node); end # unless foo; bar end @@ -36858,7 +37817,7 @@ class Prism::Translation::Ripper < ::Prism::Compiler # bar unless foo # ^^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#3151 + # source://prism//lib/prism/translation/ripper.rb#3174 def visit_unless_node(node); end # until foo; bar end @@ -36867,13 +37826,13 @@ class Prism::Translation::Ripper < ::Prism::Compiler # bar until foo # ^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#3179 + # source://prism//lib/prism/translation/ripper.rb#3202 def visit_until_node(node); end # case foo; when bar; end # ^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#3203 + # source://prism//lib/prism/translation/ripper.rb#3226 def visit_when_node(node); end # while foo; bar end @@ -36882,13 +37841,13 @@ class Prism::Translation::Ripper < ::Prism::Compiler # bar while foo # ^^^^^^^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#3224 + # source://prism//lib/prism/translation/ripper.rb#3247 def visit_while_node(node); end # `foo` # ^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#3248 + # source://prism//lib/prism/translation/ripper.rb#3271 def visit_x_string_node(node); end # yield @@ -36897,32 +37856,32 @@ class Prism::Translation::Ripper < ::Prism::Compiler # yield 1 # ^^^^^^^ # - # source://prism//lib/prism/translation/ripper.rb#3271 + # source://prism//lib/prism/translation/ripper.rb#3294 def visit_yield_node(node); end private # :stopdoc: # - # source://prism//lib/prism/translation/ripper.rb#3411 + # source://prism//lib/prism/translation/ripper.rb#3434 def _dispatch_0; end - # source://prism//lib/prism/translation/ripper.rb#3412 + # source://prism//lib/prism/translation/ripper.rb#3435 def _dispatch_1(_); end - # source://prism//lib/prism/translation/ripper.rb#3413 + # source://prism//lib/prism/translation/ripper.rb#3436 def _dispatch_2(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3414 + # source://prism//lib/prism/translation/ripper.rb#3437 def _dispatch_3(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3415 + # source://prism//lib/prism/translation/ripper.rb#3438 def _dispatch_4(_, _, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3416 + # source://prism//lib/prism/translation/ripper.rb#3439 def _dispatch_5(_, _, _, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3417 + # source://prism//lib/prism/translation/ripper.rb#3440 def _dispatch_7(_, _, _, _, _, _, _); end # This method is responsible for updating lineno and column information @@ -36931,19 +37890,19 @@ class Prism::Translation::Ripper < ::Prism::Compiler # 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#3401 + # source://prism//lib/prism/translation/ripper.rb#3424 def bounds(location); end # Returns true if the given node is a command node. # # @return [Boolean] # - # source://prism//lib/prism/translation/ripper.rb#1174 + # source://prism//lib/prism/translation/ripper.rb#1197 def command?(node); end # This method is called when the parser found syntax error. # - # source://prism//lib/prism/translation/ripper.rb#3439 + # source://prism//lib/prism/translation/ripper.rb#3462 def compile_error(msg); end # This method is provided by the Ripper C extension. It is called when a @@ -36951,631 +37910,631 @@ class Prism::Translation::Ripper < ::Prism::Compiler # that it will modify the string in place and return the number of bytes # that were removed. # - # source://prism//lib/prism/translation/ripper.rb#3454 + # source://prism//lib/prism/translation/ripper.rb#3477 def dedent_string(string, width); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_BEGIN(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_CHAR(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_END(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on___end__(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_alias(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_alias_error(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_aref(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_aref_field(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_arg_ambiguous(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_arg_paren(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_args_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_args_add_block(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_args_add_star(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_args_forward; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_args_new; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_array(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_aryptn(_, _, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_assign(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_assign_error(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_assoc_new(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_assoc_splat(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_assoclist_from_args(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_backref(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_backtick(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_bare_assoc_hash(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_begin(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_binary(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_block_var(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_blockarg(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_bodystmt(_, _, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_brace_block(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_break(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_call(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_case(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_class(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_class_name_error(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_comma(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_command(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_command_call(_, _, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_comment(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_const(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_const_path_field(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_const_path_ref(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_const_ref(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_cvar(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_def(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_defined(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_defs(_, _, _, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_do_block(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_dot2(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_dot3(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_dyna_symbol(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_else(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_elsif(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_embdoc(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_embdoc_beg(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_embdoc_end(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_embexpr_beg(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_embexpr_end(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_embvar(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_ensure(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_excessed_comma; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_fcall(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_field(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_float(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_fndptn(_, _, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_for(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_gvar(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_hash(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_heredoc_beg(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_heredoc_dedent(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_heredoc_end(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_hshptn(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_ident(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_if(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_if_mod(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_ifop(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_ignored_nl(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_ignored_sp(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_imaginary(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_in(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_int(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_ivar(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_kw(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_kwrest_param(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_label(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_label_end(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_lambda(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_lbrace(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_lbracket(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_lparen(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_magic_comment(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_massign(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_method_add_arg(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_method_add_block(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_mlhs_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_mlhs_add_post(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_mlhs_add_star(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_mlhs_new; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_mlhs_paren(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_module(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_mrhs_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_mrhs_add_star(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_mrhs_new; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_mrhs_new_from_args(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_next(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_nl(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_nokw_param(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_op(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_opassign(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_operator_ambiguous(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_param_error(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_params(_, _, _, _, _, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_paren(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_parse_error(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_period(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_program(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_qsymbols_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_qsymbols_beg(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_qsymbols_new; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_qwords_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_qwords_beg(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_qwords_new; end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_rational(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_rbrace(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_rbracket(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_redo; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_regexp_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_regexp_beg(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_regexp_end(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_regexp_literal(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_regexp_new; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_rescue(_, _, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_rescue_mod(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_rest_param(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_retry; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_return(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_return0; end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_rparen(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_sclass(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_semicolon(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_sp(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_stmts_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_stmts_new; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_string_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_string_concat(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_string_content; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_string_dvar(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_string_embexpr(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_string_literal(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_super(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_symbeg(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_symbol(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_symbol_literal(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_symbols_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_symbols_beg(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_symbols_new; end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_tlambda(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_tlambeg(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_top_const_field(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_top_const_ref(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_tstring_beg(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_tstring_content(_); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_tstring_end(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_unary(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_undef(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_unless(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_unless_mod(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_until(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_until_mod(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_var_alias(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_var_field(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_var_ref(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_vcall(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_void_stmt; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_when(_, _, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_while(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_while_mod(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_word_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_word_new; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_words_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_words_beg(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_words_new; end - # source://prism//lib/prism/translation/ripper.rb#3447 + # source://prism//lib/prism/translation/ripper.rb#3470 def on_words_sep(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_xstring_add(_, _); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_xstring_literal(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_xstring_new; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_yield(_); end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_yield0; end - # source://prism//lib/prism/translation/ripper.rb#3425 + # source://prism//lib/prism/translation/ripper.rb#3448 def on_zsuper; end # Lazily initialize the parse result. # - # source://prism//lib/prism/translation/ripper.rb#3297 + # source://prism//lib/prism/translation/ripper.rb#3320 def result; end # Returns true if there is a comma between the two locations. # # @return [Boolean] # - # source://prism//lib/prism/translation/ripper.rb#3306 + # source://prism//lib/prism/translation/ripper.rb#3329 def trailing_comma?(left, right); end # Visit one side of an alias global variable node. # - # source://prism//lib/prism/translation/ripper.rb#571 + # source://prism//lib/prism/translation/ripper.rb#594 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#757 + # source://prism//lib/prism/translation/ripper.rb#780 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#841 + # source://prism//lib/prism/translation/ripper.rb#864 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#876 + # source://prism//lib/prism/translation/ripper.rb#899 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#1147 + # source://prism//lib/prism/translation/ripper.rb#1170 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#1500 + # source://prism//lib/prism/translation/ripper.rb#1523 def visit_constant_path_write_node_target(node); end # Visit a destructured positional parameter node. # - # source://prism//lib/prism/translation/ripper.rb#2635 + # source://prism//lib/prism/translation/ripper.rb#2658 def visit_destructured_parameter_node(node); end # Visit a string that is expressed using a <<~ heredoc. # - # source://prism//lib/prism/translation/ripper.rb#3006 + # source://prism//lib/prism/translation/ripper.rb#3029 def visit_heredoc_node(parts, base); end # Ripper gives back the escaped string content but strips out the common @@ -37584,34 +38543,34 @@ class Prism::Translation::Ripper < ::Prism::Compiler # work well together, so here we need to re-derive the common leading # whitespace. # - # source://prism//lib/prism/translation/ripper.rb#2981 + # source://prism//lib/prism/translation/ripper.rb#3004 def visit_heredoc_node_whitespace(parts); end # Visit a heredoc node that is representing a string. # - # source://prism//lib/prism/translation/ripper.rb#3052 + # source://prism//lib/prism/translation/ripper.rb#3075 def visit_heredoc_string_node(node); end # Visit a heredoc node that is representing an xstring. # - # source://prism//lib/prism/translation/ripper.rb#3069 + # source://prism//lib/prism/translation/ripper.rb#3092 def visit_heredoc_x_string_node(node); end # Visit the targets of a multi-target node. # - # source://prism//lib/prism/translation/ripper.rb#2488 + # source://prism//lib/prism/translation/ripper.rb#2511 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#3345 + # source://prism//lib/prism/translation/ripper.rb#3368 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#596 + # source://prism//lib/prism/translation/ripper.rb#619 def visit_pattern_node(node); end # Visit the list of statements of a statements node. We support nil @@ -37619,49 +38578,49 @@ class Prism::Translation::Ripper < ::Prism::Compiler # 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#2947 + # source://prism//lib/prism/translation/ripper.rb#2970 def visit_statements_node_body(body); end # Visit an individual part of a string-like node. # - # source://prism//lib/prism/translation/ripper.rb#2237 + # source://prism//lib/prism/translation/ripper.rb#2260 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#3318 + # source://prism//lib/prism/translation/ripper.rb#3341 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#746 + # source://prism//lib/prism/translation/ripper.rb#769 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#3363 + # source://prism//lib/prism/translation/ripper.rb#3386 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#3311 + # source://prism//lib/prism/translation/ripper.rb#3334 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#3430 + # source://prism//lib/prism/translation/ripper.rb#3453 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#3435 + # source://prism//lib/prism/translation/ripper.rb#3458 def warning(fmt, *args); end class << self @@ -37687,13 +38646,16 @@ class Prism::Translation::Ripper < ::Prism::Compiler # [[1, 12], :on_sp, " ", END ], # [[1, 13], :on_kw, "end", END ]] # - # source://prism//lib/prism/translation/ripper.rb#73 + # source://prism//lib/prism/translation/ripper.rb#71 def lex(src, filename = T.unsafe(nil), lineno = T.unsafe(nil), raise_errors: T.unsafe(nil)); end + # source://prism//lib/prism/translation/ripper.rb#449 + def lex_state_name(state); 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#47 + # source://prism//lib/prism/translation/ripper.rb#45 def parse(src, filename = T.unsafe(nil), lineno = T.unsafe(nil)); end # Parses +src+ and create S-exp tree. @@ -37714,7 +38676,7 @@ class Prism::Translation::Ripper < ::Prism::Compiler # [: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#382 + # source://prism//lib/prism/translation/ripper.rb#380 def sexp(src, filename = T.unsafe(nil), lineno = T.unsafe(nil), raise_errors: T.unsafe(nil)); end # Parses +src+ and create S-exp tree. @@ -37740,46 +38702,168 @@ class Prism::Translation::Ripper < ::Prism::Compiler # nil, # nil]]]] # - # source://prism//lib/prism/translation/ripper.rb#417 + # source://prism//lib/prism/translation/ripper.rb#415 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#338 +# source://prism//lib/prism/translation/ripper.rb#336 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#290 +# source://prism//lib/prism/translation/ripper.rb#288 Prism::Translation::Ripper::EVENTS = T.let(T.unsafe(nil), Array) +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_ARG = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#446 +Prism::Translation::Ripper::EXPR_ARG_ANY = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_BEG = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#445 +Prism::Translation::Ripper::EXPR_BEG_ANY = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_CLASS = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_CMDARG = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_DOT = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_END = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_ENDARG = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_ENDFN = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#447 +Prism::Translation::Ripper::EXPR_END_ANY = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_FITEM = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_FNAME = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_LABEL = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_LABELED = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#441 +Prism::Translation::Ripper::EXPR_MID = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#443 +Prism::Translation::Ripper::EXPR_NONE = T.let(T.unsafe(nil), Integer) + +# source://prism//lib/prism/translation/ripper.rb#444 +Prism::Translation::Ripper::EXPR_VALUE = T.let(T.unsafe(nil), Integer) + # A list of all of the Ruby keywords. # -# source://prism//lib/prism/translation/ripper.rb#293 +# source://prism//lib/prism/translation/ripper.rb#291 Prism::Translation::Ripper::KEYWORDS = T.let(T.unsafe(nil), Array) +# Ripper-internal bitflags. +# +# source://prism//lib/prism/translation/ripper.rb#435 +Prism::Translation::Ripper::LEX_STATE_NAMES = T.let(T.unsafe(nil), Hash) + +# source://prism//lib/prism/translation/ripper/lexer.rb#9 +class Prism::Translation::Ripper::Lexer; end + +# :stopdoc: +# +# source://prism//lib/prism/translation/ripper/lexer.rb#11 +class Prism::Translation::Ripper::Lexer::State + # @return [State] a new instance of State + # + # source://prism//lib/prism/translation/ripper/lexer.rb#15 + def initialize(i); end + + # source://prism//lib/prism/translation/ripper/lexer.rb#36 + def &(i); end + + # source://prism//lib/prism/translation/ripper/lexer.rb#35 + def ==(i); end + + # source://prism//lib/prism/translation/ripper/lexer.rb#21 + def [](index); end + + # @return [Boolean] + # + # source://prism//lib/prism/translation/ripper/lexer.rb#38 + def allbits?(i); end + + # @return [Boolean] + # + # source://prism//lib/prism/translation/ripper/lexer.rb#39 + def anybits?(i); end + + # Returns the value of attribute to_s. + # + # source://prism//lib/prism/translation/ripper/lexer.rb#33 + def inspect; end + + # @return [Boolean] + # + # source://prism//lib/prism/translation/ripper/lexer.rb#40 + def nobits?(i); end + + # source://prism//lib/prism/translation/ripper/lexer.rb#34 + def pretty_print(q); end + + # Returns the value of attribute to_int. + # + # source://prism//lib/prism/translation/ripper/lexer.rb#32 + def to_i; end + + # Returns the value of attribute to_int. + # + # source://prism//lib/prism/translation/ripper/lexer.rb#13 + def to_int; end + + # Returns the value of attribute to_s. + # + # source://prism//lib/prism/translation/ripper/lexer.rb#13 + def to_s; end + + # source://prism//lib/prism/translation/ripper/lexer.rb#37 + def |(i); end +end + # This array contains name of parser events. # -# source://prism//lib/prism/translation/ripper.rb#284 +# source://prism//lib/prism/translation/ripper.rb#282 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#85 +# source://prism//lib/prism/translation/ripper.rb#83 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#287 +# source://prism//lib/prism/translation/ripper.rb#285 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#228 +# source://prism//lib/prism/translation/ripper.rb#226 Prism::Translation::Ripper::SCANNER_EVENT_TABLE = T.let(T.unsafe(nil), Hash) # This class mirrors the ::Ripper::SexpBuilder subclass of ::Ripper that @@ -38473,71 +39557,79 @@ 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#15 +# source://prism//lib/prism/translation/ruby_parser.rb#20 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#1891 + # source://prism//lib/prism/translation/ruby_parser.rb#1917 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#1897 + # source://prism//lib/prism/translation/ruby_parser.rb#1923 def parse_file(filepath); end + # Parse the give file and translate it into the + # seattlerb/ruby_parser gem's Sexp format. This method is + # provided for API compatibility to RubyParser and takes an + # optional +timeout+ argument. + # + # source://prism//lib/prism/translation/ruby_parser.rb#1931 + def process(ruby, file = T.unsafe(nil), timeout = T.unsafe(nil)); 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#1919 + # source://prism//lib/prism/translation/ruby_parser.rb#1953 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#1904 + # source://prism//lib/prism/translation/ruby_parser.rb#1938 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#1910 + # source://prism//lib/prism/translation/ruby_parser.rb#1944 def parse_file(filepath); end end end # A prism visitor that builds Sexp objects. # -# source://prism//lib/prism/translation/ruby_parser.rb#17 +# source://prism//lib/prism/translation/ruby_parser.rb#22 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#32 + # source://prism//lib/prism/translation/ruby_parser.rb#37 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#21 + # source://prism//lib/prism/translation/ruby_parser.rb#26 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#25 + # source://prism//lib/prism/translation/ruby_parser.rb#30 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#29 + # source://prism//lib/prism/translation/ruby_parser.rb#34 def in_pattern; end # ``` @@ -38545,7 +39637,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#50 + # source://prism//lib/prism/translation/ruby_parser.rb#55 def visit_alias_global_variable_node(node); end # ``` @@ -38553,7 +39645,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#42 + # source://prism//lib/prism/translation/ruby_parser.rb#47 def visit_alias_method_node(node); end # ``` @@ -38561,7 +39653,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#58 + # source://prism//lib/prism/translation/ruby_parser.rb#63 def visit_alternation_pattern_node(node); end # ``` @@ -38569,7 +39661,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#66 + # source://prism//lib/prism/translation/ruby_parser.rb#71 def visit_and_node(node); end # ``` @@ -38577,7 +39669,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#123 + # source://prism//lib/prism/translation/ruby_parser.rb#128 def visit_arguments_node(node); end # ``` @@ -38585,7 +39677,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#86 + # source://prism//lib/prism/translation/ruby_parser.rb#91 def visit_array_node(node); end # ``` @@ -38593,7 +39685,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#98 + # source://prism//lib/prism/translation/ruby_parser.rb#103 def visit_array_pattern_node(node); end # ``` @@ -38601,7 +39693,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#131 + # source://prism//lib/prism/translation/ruby_parser.rb#136 def visit_assoc_node(node); end # ``` @@ -38612,7 +39704,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#142 + # source://prism//lib/prism/translation/ruby_parser.rb#147 def visit_assoc_splat_node(node); end # ``` @@ -38620,7 +39712,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#154 + # source://prism//lib/prism/translation/ruby_parser.rb#159 def visit_back_reference_read_node(node); end # ``` @@ -38628,7 +39720,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#162 + # source://prism//lib/prism/translation/ruby_parser.rb#167 def visit_begin_node(node); end # ``` @@ -38636,7 +39728,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#197 + # source://prism//lib/prism/translation/ruby_parser.rb#202 def visit_block_argument_node(node); end # ``` @@ -38644,12 +39736,12 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#207 + # source://prism//lib/prism/translation/ruby_parser.rb#212 def visit_block_local_variable_node(node); end # A block on a keyword or method call. # - # source://prism//lib/prism/translation/ruby_parser.rb#212 + # source://prism//lib/prism/translation/ruby_parser.rb#217 def visit_block_node(node); end # ``` @@ -38657,12 +39749,12 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#220 + # source://prism//lib/prism/translation/ruby_parser.rb#225 def visit_block_parameter_node(node); end # A block's parameters. # - # source://prism//lib/prism/translation/ruby_parser.rb#225 + # source://prism//lib/prism/translation/ruby_parser.rb#230 def visit_block_parameters_node(node); end # ``` @@ -38673,7 +39765,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#267 + # source://prism//lib/prism/translation/ruby_parser.rb#272 def visit_break_node(node); end # ``` @@ -38681,7 +39773,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#341 + # source://prism//lib/prism/translation/ruby_parser.rb#346 def visit_call_and_write_node(node); end # ``` @@ -38695,7 +39787,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#287 + # source://prism//lib/prism/translation/ruby_parser.rb#292 def visit_call_node(node); end # ``` @@ -38703,7 +39795,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#329 + # source://prism//lib/prism/translation/ruby_parser.rb#334 def visit_call_operator_write_node(node); end # ``` @@ -38711,7 +39803,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#353 + # source://prism//lib/prism/translation/ruby_parser.rb#358 def visit_call_or_write_node(node); end # ``` @@ -38719,7 +39811,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#378 + # source://prism//lib/prism/translation/ruby_parser.rb#383 def visit_call_target_node(node); end # ``` @@ -38727,7 +39819,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#386 + # source://prism//lib/prism/translation/ruby_parser.rb#391 def visit_capture_pattern_node(node); end # ``` @@ -38735,7 +39827,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#402 + # source://prism//lib/prism/translation/ruby_parser.rb#407 def visit_case_match_node(node); end # ``` @@ -38743,7 +39835,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#394 + # source://prism//lib/prism/translation/ruby_parser.rb#399 def visit_case_node(node); end # ``` @@ -38751,7 +39843,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#410 + # source://prism//lib/prism/translation/ruby_parser.rb#415 def visit_class_node(node); end # ``` @@ -38759,7 +39851,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#459 + # source://prism//lib/prism/translation/ruby_parser.rb#468 def visit_class_variable_and_write_node(node); end # ``` @@ -38767,7 +39859,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#451 + # source://prism//lib/prism/translation/ruby_parser.rb#460 def visit_class_variable_operator_write_node(node); end # ``` @@ -38775,7 +39867,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#467 + # source://prism//lib/prism/translation/ruby_parser.rb#476 def visit_class_variable_or_write_node(node); end # ``` @@ -38783,7 +39875,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#432 + # source://prism//lib/prism/translation/ruby_parser.rb#441 def visit_class_variable_read_node(node); end # ``` @@ -38791,7 +39883,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#475 + # source://prism//lib/prism/translation/ruby_parser.rb#484 def visit_class_variable_target_node(node); end # ``` @@ -38802,7 +39894,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#443 + # source://prism//lib/prism/translation/ruby_parser.rb#452 def visit_class_variable_write_node(node); end # ``` @@ -38810,7 +39902,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#516 + # source://prism//lib/prism/translation/ruby_parser.rb#525 def visit_constant_and_write_node(node); end # ``` @@ -38818,7 +39910,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#508 + # source://prism//lib/prism/translation/ruby_parser.rb#517 def visit_constant_operator_write_node(node); end # ``` @@ -38826,7 +39918,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#524 + # source://prism//lib/prism/translation/ruby_parser.rb#533 def visit_constant_or_write_node(node); end # ``` @@ -38834,7 +39926,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#571 + # source://prism//lib/prism/translation/ruby_parser.rb#580 def visit_constant_path_and_write_node(node); end # ``` @@ -38842,7 +39934,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#540 + # source://prism//lib/prism/translation/ruby_parser.rb#549 def visit_constant_path_node(node); end # ``` @@ -38850,7 +39942,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#563 + # source://prism//lib/prism/translation/ruby_parser.rb#572 def visit_constant_path_operator_write_node(node); end # ``` @@ -38858,7 +39950,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#579 + # source://prism//lib/prism/translation/ruby_parser.rb#588 def visit_constant_path_or_write_node(node); end # ``` @@ -38866,7 +39958,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#587 + # source://prism//lib/prism/translation/ruby_parser.rb#596 def visit_constant_path_target_node(node); end # ``` @@ -38877,7 +39969,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#555 + # source://prism//lib/prism/translation/ruby_parser.rb#564 def visit_constant_path_write_node(node); end # ``` @@ -38885,7 +39977,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#489 + # source://prism//lib/prism/translation/ruby_parser.rb#498 def visit_constant_read_node(node); end # ``` @@ -38893,7 +39985,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#532 + # source://prism//lib/prism/translation/ruby_parser.rb#541 def visit_constant_target_node(node); end # ``` @@ -38904,7 +39996,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#500 + # source://prism//lib/prism/translation/ruby_parser.rb#509 def visit_constant_write_node(node); end # ``` @@ -38915,7 +40007,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#605 + # source://prism//lib/prism/translation/ruby_parser.rb#614 def visit_def_node(node); end # ``` @@ -38926,7 +40018,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#638 + # source://prism//lib/prism/translation/ruby_parser.rb#649 def visit_defined_node(node); end # ``` @@ -38934,7 +40026,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#646 + # source://prism//lib/prism/translation/ruby_parser.rb#657 def visit_else_node(node); end # ``` @@ -38942,7 +40034,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#654 + # source://prism//lib/prism/translation/ruby_parser.rb#665 def visit_embedded_statements_node(node); end # ``` @@ -38950,7 +40042,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#664 + # source://prism//lib/prism/translation/ruby_parser.rb#675 def visit_embedded_variable_node(node); end # ``` @@ -38958,7 +40050,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#672 + # source://prism//lib/prism/translation/ruby_parser.rb#683 def visit_ensure_node(node); end # ``` @@ -38966,7 +40058,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#680 + # source://prism//lib/prism/translation/ruby_parser.rb#691 def visit_false_node(node); end # ``` @@ -38974,7 +40066,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#688 + # source://prism//lib/prism/translation/ruby_parser.rb#699 def visit_find_pattern_node(node); end # ``` @@ -38982,7 +40074,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#696 + # source://prism//lib/prism/translation/ruby_parser.rb#707 def visit_flip_flop_node(node); end # ``` @@ -38990,7 +40082,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#708 + # source://prism//lib/prism/translation/ruby_parser.rb#719 def visit_float_node(node); end # ``` @@ -38998,7 +40090,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#716 + # source://prism//lib/prism/translation/ruby_parser.rb#727 def visit_for_node(node); end # ``` @@ -39006,7 +40098,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#724 + # source://prism//lib/prism/translation/ruby_parser.rb#735 def visit_forwarding_arguments_node(node); end # ``` @@ -39014,7 +40106,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#732 + # source://prism//lib/prism/translation/ruby_parser.rb#743 def visit_forwarding_parameter_node(node); end # ``` @@ -39025,7 +40117,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#743 + # source://prism//lib/prism/translation/ruby_parser.rb#754 def visit_forwarding_super_node(node); end # ``` @@ -39033,7 +40125,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#778 + # source://prism//lib/prism/translation/ruby_parser.rb#789 def visit_global_variable_and_write_node(node); end # ``` @@ -39041,7 +40133,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#770 + # source://prism//lib/prism/translation/ruby_parser.rb#781 def visit_global_variable_operator_write_node(node); end # ``` @@ -39049,7 +40141,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#786 + # source://prism//lib/prism/translation/ruby_parser.rb#797 def visit_global_variable_or_write_node(node); end # ``` @@ -39057,7 +40149,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#751 + # source://prism//lib/prism/translation/ruby_parser.rb#762 def visit_global_variable_read_node(node); end # ``` @@ -39065,7 +40157,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#794 + # source://prism//lib/prism/translation/ruby_parser.rb#805 def visit_global_variable_target_node(node); end # ``` @@ -39076,7 +40168,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#762 + # source://prism//lib/prism/translation/ruby_parser.rb#773 def visit_global_variable_write_node(node); end # ``` @@ -39084,7 +40176,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#802 + # source://prism//lib/prism/translation/ruby_parser.rb#813 def visit_hash_node(node); end # ``` @@ -39092,7 +40184,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#810 + # source://prism//lib/prism/translation/ruby_parser.rb#821 def visit_hash_pattern_node(node); end # ``` @@ -39106,12 +40198,12 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#833 + # source://prism//lib/prism/translation/ruby_parser.rb#844 def visit_if_node(node); end # 1i # - # source://prism//lib/prism/translation/ruby_parser.rb#838 + # source://prism//lib/prism/translation/ruby_parser.rb#849 def visit_imaginary_node(node); end # ``` @@ -39119,7 +40211,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#846 + # source://prism//lib/prism/translation/ruby_parser.rb#857 def visit_implicit_node(node); end # ``` @@ -39127,7 +40219,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#853 + # source://prism//lib/prism/translation/ruby_parser.rb#864 def visit_implicit_rest_node(node); end # ``` @@ -39135,7 +40227,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#860 + # source://prism//lib/prism/translation/ruby_parser.rb#871 def visit_in_node(node); end # ``` @@ -39143,7 +40235,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#890 + # source://prism//lib/prism/translation/ruby_parser.rb#901 def visit_index_and_write_node(node); end # ``` @@ -39151,7 +40243,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#875 + # source://prism//lib/prism/translation/ruby_parser.rb#886 def visit_index_operator_write_node(node); end # ``` @@ -39159,7 +40251,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#905 + # source://prism//lib/prism/translation/ruby_parser.rb#916 def visit_index_or_write_node(node); end # ``` @@ -39167,35 +40259,35 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#920 + # source://prism//lib/prism/translation/ruby_parser.rb#931 def visit_index_target_node(node); end # ``` # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#958 + # source://prism//lib/prism/translation/ruby_parser.rb#969 def visit_instance_variable_and_write_node(node); end # ``` # ^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#950 + # source://prism//lib/prism/translation/ruby_parser.rb#961 def visit_instance_variable_operator_write_node(node); end # ``` # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#966 + # source://prism//lib/prism/translation/ruby_parser.rb#977 def visit_instance_variable_or_write_node(node); end # ``` # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#931 + # source://prism//lib/prism/translation/ruby_parser.rb#942 def visit_instance_variable_read_node(node); end # ``` @@ -39203,7 +40295,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#974 + # source://prism//lib/prism/translation/ruby_parser.rb#985 def visit_instance_variable_target_node(node); end # ``` @@ -39213,7 +40305,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#942 + # source://prism//lib/prism/translation/ruby_parser.rb#953 def visit_instance_variable_write_node(node); end # ``` @@ -39221,7 +40313,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#982 + # source://prism//lib/prism/translation/ruby_parser.rb#993 def visit_integer_node(node); end # ``` @@ -39229,7 +40321,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#990 + # source://prism//lib/prism/translation/ruby_parser.rb#1001 def visit_interpolated_match_last_line_node(node); end # ``` @@ -39237,7 +40329,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1009 + # source://prism//lib/prism/translation/ruby_parser.rb#1020 def visit_interpolated_regular_expression_node(node); end # ``` @@ -39245,7 +40337,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1026 + # source://prism//lib/prism/translation/ruby_parser.rb#1037 def visit_interpolated_string_node(node); end # ``` @@ -39253,7 +40345,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1035 + # source://prism//lib/prism/translation/ruby_parser.rb#1046 def visit_interpolated_symbol_node(node); end # ``` @@ -39261,7 +40353,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1044 + # source://prism//lib/prism/translation/ruby_parser.rb#1055 def visit_interpolated_x_string_node(node); end # ``` @@ -39269,7 +40361,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1127 + # source://prism//lib/prism/translation/ruby_parser.rb#1138 def visit_it_local_variable_read_node(node); end # ``` @@ -39277,7 +40369,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1135 + # source://prism//lib/prism/translation/ruby_parser.rb#1146 def visit_keyword_hash_node(node); end # ``` @@ -39288,12 +40380,12 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1146 + # source://prism//lib/prism/translation/ruby_parser.rb#1157 def visit_keyword_rest_parameter_node(node); end # -> {} # - # source://prism//lib/prism/translation/ruby_parser.rb#1151 + # source://prism//lib/prism/translation/ruby_parser.rb#1162 def visit_lambda_node(node); end # ``` @@ -39301,7 +40393,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1202 + # source://prism//lib/prism/translation/ruby_parser.rb#1213 def visit_local_variable_and_write_node(node); end # ``` @@ -39309,7 +40401,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1194 + # source://prism//lib/prism/translation/ruby_parser.rb#1205 def visit_local_variable_operator_write_node(node); end # ``` @@ -39317,7 +40409,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1210 + # source://prism//lib/prism/translation/ruby_parser.rb#1221 def visit_local_variable_or_write_node(node); end # ``` @@ -39325,7 +40417,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1171 + # source://prism//lib/prism/translation/ruby_parser.rb#1182 def visit_local_variable_read_node(node); end # ``` @@ -39333,7 +40425,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1218 + # source://prism//lib/prism/translation/ruby_parser.rb#1229 def visit_local_variable_target_node(node); end # ``` @@ -39344,7 +40436,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1186 + # source://prism//lib/prism/translation/ruby_parser.rb#1197 def visit_local_variable_write_node(node); end # ``` @@ -39352,7 +40444,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1226 + # source://prism//lib/prism/translation/ruby_parser.rb#1237 def visit_match_last_line_node(node); end # ``` @@ -39360,7 +40452,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1234 + # source://prism//lib/prism/translation/ruby_parser.rb#1245 def visit_match_predicate_node(node); end # ``` @@ -39368,7 +40460,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1242 + # source://prism//lib/prism/translation/ruby_parser.rb#1253 def visit_match_required_node(node); end # ``` @@ -39376,14 +40468,14 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1250 + # source://prism//lib/prism/translation/ruby_parser.rb#1261 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#1257 + # source://prism//lib/prism/translation/ruby_parser.rb#1268 def visit_missing_node(node); end # ``` @@ -39391,7 +40483,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1265 + # source://prism//lib/prism/translation/ruby_parser.rb#1276 def visit_module_node(node); end # ``` @@ -39399,7 +40491,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1287 + # source://prism//lib/prism/translation/ruby_parser.rb#1302 def visit_multi_target_node(node); end # ``` @@ -39407,7 +40499,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1299 + # source://prism//lib/prism/translation/ruby_parser.rb#1314 def visit_multi_write_node(node); end # ``` @@ -39418,7 +40510,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1325 + # source://prism//lib/prism/translation/ruby_parser.rb#1340 def visit_next_node(node); end # ``` @@ -39426,7 +40518,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1340 + # source://prism//lib/prism/translation/ruby_parser.rb#1355 def visit_nil_node(node); end # ``` @@ -39434,7 +40526,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1348 + # source://prism//lib/prism/translation/ruby_parser.rb#1363 def visit_no_keywords_parameter_node(node); end # ``` @@ -39442,7 +40534,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1356 + # source://prism//lib/prism/translation/ruby_parser.rb#1371 def visit_numbered_parameters_node(node); end # ``` @@ -39450,7 +40542,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1364 + # source://prism//lib/prism/translation/ruby_parser.rb#1379 def visit_numbered_reference_read_node(node); end # ``` @@ -39458,7 +40550,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1372 + # source://prism//lib/prism/translation/ruby_parser.rb#1387 def visit_optional_keyword_parameter_node(node); end # ``` @@ -39466,7 +40558,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1380 + # source://prism//lib/prism/translation/ruby_parser.rb#1395 def visit_optional_parameter_node(node); end # ``` @@ -39474,7 +40566,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1388 + # source://prism//lib/prism/translation/ruby_parser.rb#1403 def visit_or_node(node); end # ``` @@ -39482,7 +40574,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1408 + # source://prism//lib/prism/translation/ruby_parser.rb#1423 def visit_parameters_node(node); end # ``` @@ -39493,7 +40585,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1450 + # source://prism//lib/prism/translation/ruby_parser.rb#1465 def visit_parentheses_node(node); end # ``` @@ -39501,7 +40593,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1462 + # source://prism//lib/prism/translation/ruby_parser.rb#1477 def visit_pinned_expression_node(node); end # ``` @@ -39509,22 +40601,22 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1470 + # source://prism//lib/prism/translation/ruby_parser.rb#1485 def visit_pinned_variable_node(node); end # END {} # - # source://prism//lib/prism/translation/ruby_parser.rb#1479 + # source://prism//lib/prism/translation/ruby_parser.rb#1494 def visit_post_execution_node(node); end # BEGIN {} # - # source://prism//lib/prism/translation/ruby_parser.rb#1484 + # source://prism//lib/prism/translation/ruby_parser.rb#1499 def visit_pre_execution_node(node); end # The top-level program node. # - # source://prism//lib/prism/translation/ruby_parser.rb#1489 + # source://prism//lib/prism/translation/ruby_parser.rb#1504 def visit_program_node(node); end # ``` @@ -39532,7 +40624,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1497 + # source://prism//lib/prism/translation/ruby_parser.rb#1512 def visit_range_node(node); end # ``` @@ -39540,7 +40632,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1521 + # source://prism//lib/prism/translation/ruby_parser.rb#1536 def visit_rational_node(node); end # ``` @@ -39548,7 +40640,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1529 + # source://prism//lib/prism/translation/ruby_parser.rb#1544 def visit_redo_node(node); end # ``` @@ -39556,7 +40648,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1537 + # source://prism//lib/prism/translation/ruby_parser.rb#1552 def visit_regular_expression_node(node); end # ``` @@ -39564,7 +40656,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1545 + # source://prism//lib/prism/translation/ruby_parser.rb#1560 def visit_required_keyword_parameter_node(node); end # ``` @@ -39572,7 +40664,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1553 + # source://prism//lib/prism/translation/ruby_parser.rb#1568 def visit_required_parameter_node(node); end # ``` @@ -39580,7 +40672,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1561 + # source://prism//lib/prism/translation/ruby_parser.rb#1576 def visit_rescue_modifier_node(node); end # ``` @@ -39588,7 +40680,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1569 + # source://prism//lib/prism/translation/ruby_parser.rb#1584 def visit_rescue_node(node); end # ``` @@ -39599,7 +40691,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1591 + # source://prism//lib/prism/translation/ruby_parser.rb#1606 def visit_rest_parameter_node(node); end # ``` @@ -39607,7 +40699,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1599 + # source://prism//lib/prism/translation/ruby_parser.rb#1614 def visit_retry_node(node); end # ``` @@ -39618,7 +40710,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1610 + # source://prism//lib/prism/translation/ruby_parser.rb#1625 def visit_return_node(node); end # ``` @@ -39626,12 +40718,12 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1625 + # source://prism//lib/prism/translation/ruby_parser.rb#1640 def visit_self_node(node); end # A shareable constant. # - # source://prism//lib/prism/translation/ruby_parser.rb#1630 + # source://prism//lib/prism/translation/ruby_parser.rb#1645 def visit_shareable_constant_node(node); end # ``` @@ -39639,7 +40731,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1638 + # source://prism//lib/prism/translation/ruby_parser.rb#1653 def visit_singleton_class_node(node); end # ``` @@ -39647,7 +40739,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1648 + # source://prism//lib/prism/translation/ruby_parser.rb#1663 def visit_source_encoding_node(node); end # ``` @@ -39655,7 +40747,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1657 + # source://prism//lib/prism/translation/ruby_parser.rb#1672 def visit_source_file_node(node); end # ``` @@ -39663,7 +40755,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1665 + # source://prism//lib/prism/translation/ruby_parser.rb#1680 def visit_source_line_node(node); end # ``` @@ -39677,12 +40769,12 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1679 + # source://prism//lib/prism/translation/ruby_parser.rb#1694 def visit_splat_node(node); end # A list of statements. # - # source://prism//lib/prism/translation/ruby_parser.rb#1688 + # source://prism//lib/prism/translation/ruby_parser.rb#1703 def visit_statements_node(node); end # ``` @@ -39690,7 +40782,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1702 + # source://prism//lib/prism/translation/ruby_parser.rb#1717 def visit_string_node(node); end # ``` @@ -39698,7 +40790,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1717 + # source://prism//lib/prism/translation/ruby_parser.rb#1732 def visit_super_node(node); end # ``` @@ -39706,7 +40798,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1733 + # source://prism//lib/prism/translation/ruby_parser.rb#1748 def visit_symbol_node(node); end # ``` @@ -39714,7 +40806,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1741 + # source://prism//lib/prism/translation/ruby_parser.rb#1756 def visit_true_node(node); end # ``` @@ -39722,7 +40814,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1749 + # source://prism//lib/prism/translation/ruby_parser.rb#1764 def visit_undef_node(node); end # ``` @@ -39733,7 +40825,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1761 + # source://prism//lib/prism/translation/ruby_parser.rb#1776 def visit_unless_node(node); end # ``` @@ -39744,7 +40836,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1772 + # source://prism//lib/prism/translation/ruby_parser.rb#1787 def visit_until_node(node); end # ``` @@ -39752,7 +40844,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1780 + # source://prism//lib/prism/translation/ruby_parser.rb#1795 def visit_when_node(node); end # ``` @@ -39763,7 +40855,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1791 + # source://prism//lib/prism/translation/ruby_parser.rb#1806 def visit_while_node(node); end # ``` @@ -39771,7 +40863,7 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1799 + # source://prism//lib/prism/translation/ruby_parser.rb#1814 def visit_x_string_node(node); end # ``` @@ -39782,20 +40874,25 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1817 + # source://prism//lib/prism/translation/ruby_parser.rb#1832 def visit_yield_node(node); end private + # Attach prism comments to the given sexp. + # + # source://prism//lib/prism/translation/ruby_parser.rb#1839 + def attach_comments(sexp, node); end + # 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#481 + # source://prism//lib/prism/translation/ruby_parser.rb#490 def class_variable_write_type; end # Create a new compiler with the given options. # - # source://prism//lib/prism/translation/ruby_parser.rb#1824 + # source://prism//lib/prism/translation/ruby_parser.rb#1850 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 @@ -39804,24 +40901,24 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # # @return [Boolean] # - # source://prism//lib/prism/translation/ruby_parser.rb#364 + # source://prism//lib/prism/translation/ruby_parser.rb#369 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#370 + # source://prism//lib/prism/translation/ruby_parser.rb#375 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#1829 + # source://prism//lib/prism/translation/ruby_parser.rb#1855 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#1839 + # source://prism//lib/prism/translation/ruby_parser.rb#1865 def visit_block(node, sexp, block); end # ``` @@ -39829,30 +40926,30 @@ class Prism::Translation::RubyParser::Compiler < ::Prism::Compiler # ^^^^^^^^^^ # ``` # - # source://prism//lib/prism/translation/ruby_parser.rb#1425 + # source://prism//lib/prism/translation/ruby_parser.rb#1440 def visit_destructured_parameter(node); end # Visit the interpolated content of the string-like node. # - # source://prism//lib/prism/translation/ruby_parser.rb#1051 + # source://prism//lib/prism/translation/ruby_parser.rb#1062 def visit_interpolated_parts(parts); end # Pattern constants get wrapped in another layer of :const. # - # source://prism//lib/prism/translation/ruby_parser.rb#1860 + # source://prism//lib/prism/translation/ruby_parser.rb#1886 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#1509 + # source://prism//lib/prism/translation/ruby_parser.rb#1524 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#1874 + # source://prism//lib/prism/translation/ruby_parser.rb#1900 def visit_write_value(node); end end @@ -39861,84 +40958,89 @@ end # true # ^^^^ # -# source://prism//lib/prism/node.rb#17539 +# source://prism//lib/prism/node.rb#18622 class Prism::TrueNode < ::Prism::Node # Initialize a new TrueNode node. # # @return [TrueNode] a new instance of TrueNode # - # source://prism//lib/prism/node.rb#17541 + # source://prism//lib/prism/node.rb#18624 sig { params(source: Prism::Source, node_id: Integer, location: Prism::Location, flags: Integer).void } 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#17598 + # source://prism//lib/prism/node.rb#18687 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#17549 + # source://prism//lib/prism/node.rb#18632 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17554 + # source://prism//lib/prism/node.rb#18637 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#17564 + # source://prism//lib/prism/node.rb#18653 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#17559 + # source://prism//lib/prism/node.rb#18648 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer) -> TrueNode # - # source://prism//lib/prism/node.rb#17569 + # source://prism//lib/prism/node.rb#18658 sig { params(node_id: Integer, location: Prism::Location, flags: Integer).returns(Prism::TrueNode) } def copy(node_id: T.unsafe(nil), location: T.unsafe(nil), flags: T.unsafe(nil)); end # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17574 + # source://prism//lib/prism/node.rb#18663 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def deconstruct; end # def deconstruct_keys: (Array[Symbol] keys) -> { node_id: Integer, location: Location } # - # source://prism//lib/prism/node.rb#17577 + # source://prism//lib/prism/node.rb#18666 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#18642 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#17582 + # source://prism//lib/prism/node.rb#18671 sig { override.returns(String) } def inspect; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#17587 + # source://prism//lib/prism/node.rb#18676 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#17592 + # source://prism//lib/prism/node.rb#18681 def type; end end end @@ -39948,13 +41050,13 @@ end # undef :foo, :bar, :baz # ^^^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#17607 +# source://prism//lib/prism/node.rb#18696 class Prism::UndefNode < ::Prism::Node # Initialize a new UndefNode node. # # @return [UndefNode] a new instance of UndefNode # - # source://prism//lib/prism/node.rb#17609 + # source://prism//lib/prism/node.rb#18698 sig do params( source: Prism::Source, @@ -39970,36 +41072,36 @@ class Prism::UndefNode < ::Prism::Node # 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#17689 + # source://prism//lib/prism/node.rb#18785 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#17619 + # source://prism//lib/prism/node.rb#18708 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17624 + # source://prism//lib/prism/node.rb#18713 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#17634 + # source://prism//lib/prism/node.rb#18730 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#17629 + # source://prism//lib/prism/node.rb#18725 sig { override.returns(T::Array[Prism::Node]) } 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#17639 + # source://prism//lib/prism/node.rb#18735 sig do params( node_id: Integer, @@ -40014,59 +41116,64 @@ class Prism::UndefNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17644 + # source://prism//lib/prism/node.rb#18740 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } 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#17647 + # source://prism//lib/prism/node.rb#18743 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#18718 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#17673 + # source://prism//lib/prism/node.rb#18769 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#17668 + # source://prism//lib/prism/node.rb#18764 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#17655 + # source://prism//lib/prism/node.rb#18751 sig { returns(Prism::Location) } def keyword_loc; end # attr_reader names: Array[SymbolNode | InterpolatedSymbolNode] # - # source://prism//lib/prism/node.rb#17652 + # source://prism//lib/prism/node.rb#18748 sig { returns(T::Array[T.any(Prism::SymbolNode, Prism::InterpolatedSymbolNode)]) } def names; end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17663 + # source://prism//lib/prism/node.rb#18759 def save_keyword_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#17678 + # source://prism//lib/prism/node.rb#18774 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#17683 + # source://prism//lib/prism/node.rb#18779 def type; end end end @@ -40079,13 +41186,13 @@ end # unless foo then bar end # ^^^^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#17704 +# source://prism//lib/prism/node.rb#18800 class Prism::UnlessNode < ::Prism::Node # Initialize a new UnlessNode node. # # @return [UnlessNode] a new instance of UnlessNode # - # source://prism//lib/prism/node.rb#17706 + # source://prism//lib/prism/node.rb#18802 sig do params( source: Prism::Source, @@ -40105,30 +41212,30 @@ class Prism::UnlessNode < ::Prism::Node # 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#17873 + # source://prism//lib/prism/node.rb#18978 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#17720 + # source://prism//lib/prism/node.rb#18816 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17725 + # source://prism//lib/prism/node.rb#18821 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#17739 + # source://prism//lib/prism/node.rb#18844 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#17730 + # source://prism//lib/prism/node.rb#18835 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end @@ -40140,7 +41247,7 @@ class Prism::UnlessNode < ::Prism::Node # 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#17744 + # source://prism//lib/prism/node.rb#18849 sig do params( node_id: Integer, @@ -40159,28 +41266,35 @@ class Prism::UnlessNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17749 + # source://prism//lib/prism/node.rb#18854 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, predicate: Prism::node, then_keyword_loc: Location?, statements: StatementsNode?, else_clause: ElseNode?, end_keyword_loc: Location? } # - # source://prism//lib/prism/node.rb#17752 + # source://prism//lib/prism/node.rb#18857 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [predicate] + # + # source://prism//lib/prism/node.rb#18826 + def each_child_node; end + # The else clause of the unless expression, if present. # # unless cond then bar else baz end # ^^^^^^^^ # - # source://prism//lib/prism/node.rb#17817 + # source://prism//lib/prism/node.rb#18922 sig { returns(T.nilable(Prism::ElseNode)) } def else_clause; end # def end_keyword: () -> String? # - # source://prism//lib/prism/node.rb#17852 + # source://prism//lib/prism/node.rb#18957 sig { returns(T.nilable(String)) } def end_keyword; end @@ -40189,7 +41303,7 @@ class Prism::UnlessNode < ::Prism::Node # unless cond then bar end # ^^^ # - # source://prism//lib/prism/node.rb#17823 + # source://prism//lib/prism/node.rb#18928 sig { returns(T.nilable(Prism::Location)) } def end_keyword_loc; end @@ -40198,13 +41312,13 @@ class Prism::UnlessNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#17857 + # source://prism//lib/prism/node.rb#18962 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#17842 + # source://prism//lib/prism/node.rb#18947 sig { returns(String) } def keyword; end @@ -40216,7 +41330,7 @@ class Prism::UnlessNode < ::Prism::Node # bar unless cond # ^^^^^^ # - # source://prism//lib/prism/node.rb#17763 + # source://prism//lib/prism/node.rb#18868 sig { returns(Prism::Location) } def keyword_loc; end @@ -40231,26 +41345,26 @@ class Prism::UnlessNode < ::Prism::Node # bar unless cond # ^^^^ # - # source://prism//lib/prism/node.rb#17782 + # source://prism//lib/prism/node.rb#18887 sig { returns(Prism::Node) } def predicate; end # Save the end_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17837 + # source://prism//lib/prism/node.rb#18942 def save_end_keyword_loc(repository); end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17771 + # source://prism//lib/prism/node.rb#18876 def save_keyword_loc(repository); end # Save the then_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17802 + # source://prism//lib/prism/node.rb#18907 def save_then_keyword_loc(repository); end # The body of statements that will executed if the unless condition is @@ -40259,13 +41373,13 @@ class Prism::UnlessNode < ::Prism::Node # unless cond then bar end # ^^^ # - # source://prism//lib/prism/node.rb#17811 + # source://prism//lib/prism/node.rb#18916 sig { returns(T.nilable(Prism::StatementsNode)) } def statements; end # def then_keyword: () -> String? # - # source://prism//lib/prism/node.rb#17847 + # source://prism//lib/prism/node.rb#18952 sig { returns(T.nilable(String)) } def then_keyword; end @@ -40274,20 +41388,20 @@ class Prism::UnlessNode < ::Prism::Node # unless cond then bar end # ^^^^ # - # source://prism//lib/prism/node.rb#17788 + # source://prism//lib/prism/node.rb#18893 sig { returns(T.nilable(Prism::Location)) } def then_keyword_loc; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#17862 + # source://prism//lib/prism/node.rb#18967 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#17867 + # source://prism//lib/prism/node.rb#18972 def type; end end end @@ -40300,13 +41414,13 @@ end # until foo do bar end # ^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#17891 +# source://prism//lib/prism/node.rb#18996 class Prism::UntilNode < ::Prism::Node # Initialize a new UntilNode node. # # @return [UntilNode] a new instance of UntilNode # - # source://prism//lib/prism/node.rb#17893 + # source://prism//lib/prism/node.rb#18998 sig do params( source: Prism::Source, @@ -40325,12 +41439,12 @@ class Prism::UntilNode < ::Prism::Node # 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#18035 + # source://prism//lib/prism/node.rb#19148 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#17906 + # source://prism//lib/prism/node.rb#19011 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -40338,43 +41452,43 @@ class Prism::UntilNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#17942 + # source://prism//lib/prism/node.rb#19055 sig { returns(T::Boolean) } def begin_modifier?; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17911 + # source://prism//lib/prism/node.rb#19016 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#18014 + # source://prism//lib/prism/node.rb#19127 sig { returns(T.nilable(String)) } def closing; end # attr_reader closing_loc: Location? # - # source://prism//lib/prism/node.rb#17979 + # source://prism//lib/prism/node.rb#19092 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#17924 + # source://prism//lib/prism/node.rb#19037 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#17916 + # source://prism//lib/prism/node.rb#19029 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?do_keyword_loc: Location?, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?) -> UntilNode # - # source://prism//lib/prism/node.rb#17929 + # source://prism//lib/prism/node.rb#19042 sig do params( node_id: Integer, @@ -40392,46 +41506,53 @@ class Prism::UntilNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#17934 + # source://prism//lib/prism/node.rb#19047 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, do_keyword_loc: Location?, closing_loc: Location?, predicate: Prism::node, statements: StatementsNode? } # - # source://prism//lib/prism/node.rb#17937 + # source://prism//lib/prism/node.rb#19050 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # def do_keyword: () -> String? # - # source://prism//lib/prism/node.rb#18009 + # source://prism//lib/prism/node.rb#19122 sig { returns(T.nilable(String)) } def do_keyword; end # attr_reader do_keyword_loc: Location? # - # source://prism//lib/prism/node.rb#17960 + # source://prism//lib/prism/node.rb#19073 sig { returns(T.nilable(Prism::Location)) } def do_keyword_loc; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [predicate] + # + # source://prism//lib/prism/node.rb#19021 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#18019 + # source://prism//lib/prism/node.rb#19132 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#18004 + # source://prism//lib/prism/node.rb#19117 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#17947 + # source://prism//lib/prism/node.rb#19060 sig { returns(Prism::Location) } def keyword_loc; end @@ -40440,44 +41561,44 @@ class Prism::UntilNode < ::Prism::Node # attr_reader predicate: Prism::node # - # source://prism//lib/prism/node.rb#17998 + # source://prism//lib/prism/node.rb#19111 sig { returns(Prism::Node) } def predicate; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17993 + # source://prism//lib/prism/node.rb#19106 def save_closing_loc(repository); end # Save the do_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17974 + # source://prism//lib/prism/node.rb#19087 def save_do_keyword_loc(repository); end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#17955 + # source://prism//lib/prism/node.rb#19068 def save_keyword_loc(repository); end # attr_reader statements: StatementsNode? # - # source://prism//lib/prism/node.rb#18001 + # source://prism//lib/prism/node.rb#19114 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#18024 + # source://prism//lib/prism/node.rb#19137 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#18029 + # source://prism//lib/prism/node.rb#19142 def type; end end end @@ -41420,13 +42541,13 @@ end # ^^^^^^^^^ # end # -# source://prism//lib/prism/node.rb#18052 +# source://prism//lib/prism/node.rb#19165 class Prism::WhenNode < ::Prism::Node # Initialize a new WhenNode node. # # @return [WhenNode] a new instance of WhenNode # - # source://prism//lib/prism/node.rb#18054 + # source://prism//lib/prism/node.rb#19167 sig do params( source: Prism::Source, @@ -41444,42 +42565,42 @@ class Prism::WhenNode < ::Prism::Node # 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#18166 + # source://prism//lib/prism/node.rb#19287 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#18066 + # source://prism//lib/prism/node.rb#19179 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#18071 + # source://prism//lib/prism/node.rb#19184 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#18084 + # source://prism//lib/prism/node.rb#19205 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#18076 + # source://prism//lib/prism/node.rb#19197 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # attr_reader conditions: Array[Prism::node] # - # source://prism//lib/prism/node.rb#18115 + # source://prism//lib/prism/node.rb#19236 sig { returns(T::Array[Prism::Node]) } 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#18089 + # source://prism//lib/prism/node.rb#19210 sig do params( node_id: Integer, @@ -41496,77 +42617,84 @@ class Prism::WhenNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#18094 + # source://prism//lib/prism/node.rb#19215 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, conditions: Array[Prism::node], then_keyword_loc: Location?, statements: StatementsNode? } # - # source://prism//lib/prism/node.rb#18097 + # source://prism//lib/prism/node.rb#19218 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [statements] + # + # source://prism//lib/prism/node.rb#19189 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#18150 + # source://prism//lib/prism/node.rb#19271 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#18140 + # source://prism//lib/prism/node.rb#19261 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#18102 + # source://prism//lib/prism/node.rb#19223 sig { returns(Prism::Location) } def keyword_loc; end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#18110 + # source://prism//lib/prism/node.rb#19231 def save_keyword_loc(repository); end # Save the then_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#18132 + # source://prism//lib/prism/node.rb#19253 def save_then_keyword_loc(repository); end # attr_reader statements: StatementsNode? # - # source://prism//lib/prism/node.rb#18137 + # source://prism//lib/prism/node.rb#19258 sig { returns(T.nilable(Prism::StatementsNode)) } def statements; end # def then_keyword: () -> String? # - # source://prism//lib/prism/node.rb#18145 + # source://prism//lib/prism/node.rb#19266 sig { returns(T.nilable(String)) } def then_keyword; end # attr_reader then_keyword_loc: Location? # - # source://prism//lib/prism/node.rb#18118 + # source://prism//lib/prism/node.rb#19239 sig { returns(T.nilable(Prism::Location)) } def then_keyword_loc; end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#18155 + # source://prism//lib/prism/node.rb#19276 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#18160 + # source://prism//lib/prism/node.rb#19281 def type; end end end @@ -41579,13 +42707,13 @@ end # while foo do bar end # ^^^^^^^^^^^^^^^^^^^^ # -# source://prism//lib/prism/node.rb#18183 +# source://prism//lib/prism/node.rb#19304 class Prism::WhileNode < ::Prism::Node # Initialize a new WhileNode node. # # @return [WhileNode] a new instance of WhileNode # - # source://prism//lib/prism/node.rb#18185 + # source://prism//lib/prism/node.rb#19306 sig do params( source: Prism::Source, @@ -41604,12 +42732,12 @@ class Prism::WhileNode < ::Prism::Node # 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#18327 + # source://prism//lib/prism/node.rb#19456 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#18198 + # source://prism//lib/prism/node.rb#19319 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end @@ -41617,43 +42745,43 @@ class Prism::WhileNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#18234 + # source://prism//lib/prism/node.rb#19363 sig { returns(T::Boolean) } def begin_modifier?; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#18203 + # source://prism//lib/prism/node.rb#19324 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String? # - # source://prism//lib/prism/node.rb#18306 + # source://prism//lib/prism/node.rb#19435 sig { returns(T.nilable(String)) } def closing; end # attr_reader closing_loc: Location? # - # source://prism//lib/prism/node.rb#18271 + # source://prism//lib/prism/node.rb#19400 sig { returns(T.nilable(Prism::Location)) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#18216 + # source://prism//lib/prism/node.rb#19345 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#18208 + # source://prism//lib/prism/node.rb#19337 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?do_keyword_loc: Location?, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?) -> WhileNode # - # source://prism//lib/prism/node.rb#18221 + # source://prism//lib/prism/node.rb#19350 sig do params( node_id: Integer, @@ -41671,46 +42799,53 @@ class Prism::WhileNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#18226 + # source://prism//lib/prism/node.rb#19355 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, do_keyword_loc: Location?, closing_loc: Location?, predicate: Prism::node, statements: StatementsNode? } # - # source://prism//lib/prism/node.rb#18229 + # source://prism//lib/prism/node.rb#19358 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end # def do_keyword: () -> String? # - # source://prism//lib/prism/node.rb#18301 + # source://prism//lib/prism/node.rb#19430 sig { returns(T.nilable(String)) } def do_keyword; end # attr_reader do_keyword_loc: Location? # - # source://prism//lib/prism/node.rb#18252 + # source://prism//lib/prism/node.rb#19381 sig { returns(T.nilable(Prism::Location)) } def do_keyword_loc; end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [predicate] + # + # source://prism//lib/prism/node.rb#19329 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#18311 + # source://prism//lib/prism/node.rb#19440 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#18296 + # source://prism//lib/prism/node.rb#19425 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#18239 + # source://prism//lib/prism/node.rb#19368 sig { returns(Prism::Location) } def keyword_loc; end @@ -41719,44 +42854,44 @@ class Prism::WhileNode < ::Prism::Node # attr_reader predicate: Prism::node # - # source://prism//lib/prism/node.rb#18290 + # source://prism//lib/prism/node.rb#19419 sig { returns(Prism::Node) } def predicate; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#18285 + # source://prism//lib/prism/node.rb#19414 def save_closing_loc(repository); end # Save the do_keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#18266 + # source://prism//lib/prism/node.rb#19395 def save_do_keyword_loc(repository); end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#18247 + # source://prism//lib/prism/node.rb#19376 def save_keyword_loc(repository); end # attr_reader statements: StatementsNode? # - # source://prism//lib/prism/node.rb#18293 + # source://prism//lib/prism/node.rb#19422 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#18316 + # source://prism//lib/prism/node.rb#19445 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#18321 + # source://prism//lib/prism/node.rb#19450 def type; end end end @@ -41766,7 +42901,7 @@ end # `foo` # ^^^^^ # -# source://prism//lib/prism/node.rb#18342 +# source://prism//lib/prism/node.rb#19471 class Prism::XStringNode < ::Prism::Node include ::Prism::HeredocQuery @@ -41774,7 +42909,7 @@ class Prism::XStringNode < ::Prism::Node # # @return [XStringNode] a new instance of XStringNode # - # source://prism//lib/prism/node.rb#18344 + # source://prism//lib/prism/node.rb#19473 sig do params( source: Prism::Source, @@ -41792,60 +42927,60 @@ class Prism::XStringNode < ::Prism::Node # 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#18472 + # source://prism//lib/prism/node.rb#19607 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#18356 + # source://prism//lib/prism/node.rb#19485 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#18361 + # source://prism//lib/prism/node.rb#19490 sig { override.returns(T::Array[T.nilable(Prism::Node)]) } def child_nodes; end # def closing: () -> String # - # source://prism//lib/prism/node.rb#18451 + # source://prism//lib/prism/node.rb#19586 sig { returns(String) } def closing; end # attr_reader closing_loc: Location # - # source://prism//lib/prism/node.rb#18425 + # source://prism//lib/prism/node.rb#19560 sig { returns(Prism::Location) } def closing_loc; end # def comment_targets: () -> Array[Node | Location] # - # source://prism//lib/prism/node.rb#18371 + # source://prism//lib/prism/node.rb#19506 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#18366 + # source://prism//lib/prism/node.rb#19501 sig { override.returns(T::Array[Prism::Node]) } def compact_child_nodes; end # def content: () -> String # - # source://prism//lib/prism/node.rb#18446 + # source://prism//lib/prism/node.rb#19581 sig { returns(String) } def content; end # attr_reader content_loc: Location # - # source://prism//lib/prism/node.rb#18412 + # source://prism//lib/prism/node.rb#19547 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#18376 + # source://prism//lib/prism/node.rb#19511 sig do params( node_id: Integer, @@ -41862,16 +42997,21 @@ class Prism::XStringNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#18381 + # source://prism//lib/prism/node.rb#19516 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#18384 + # source://prism//lib/prism/node.rb#19519 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # source://prism//lib/prism/node.rb#19495 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end @@ -41879,7 +43019,7 @@ class Prism::XStringNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#18394 + # source://prism//lib/prism/node.rb#19529 sig { returns(T::Boolean) } def forced_binary_encoding?; end @@ -41887,7 +43027,7 @@ class Prism::XStringNode < ::Prism::Node # # @return [Boolean] # - # source://prism//lib/prism/node.rb#18389 + # source://prism//lib/prism/node.rb#19524 sig { returns(T::Boolean) } def forced_utf8_encoding?; end @@ -41896,38 +43036,38 @@ class Prism::XStringNode < ::Prism::Node # def inspect -> String # - # source://prism//lib/prism/node.rb#18456 + # source://prism//lib/prism/node.rb#19591 sig { override.returns(String) } def inspect; end # def opening: () -> String # - # source://prism//lib/prism/node.rb#18441 + # source://prism//lib/prism/node.rb#19576 sig { returns(String) } def opening; end # attr_reader opening_loc: Location # - # source://prism//lib/prism/node.rb#18399 + # source://prism//lib/prism/node.rb#19534 sig { returns(Prism::Location) } def opening_loc; end # Save the closing_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#18433 + # source://prism//lib/prism/node.rb#19568 def save_closing_loc(repository); end # Save the content_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#18420 + # source://prism//lib/prism/node.rb#19555 def save_content_loc(repository); end # Save the opening_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#18407 + # source://prism//lib/prism/node.rb#19542 def save_opening_loc(repository); end # Occasionally it's helpful to treat a string as if it were interpolated so @@ -41939,20 +43079,20 @@ class Prism::XStringNode < ::Prism::Node # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#18461 + # source://prism//lib/prism/node.rb#19596 sig { override.returns(Symbol) } def type; end # attr_reader unescaped: String # - # source://prism//lib/prism/node.rb#18438 + # source://prism//lib/prism/node.rb#19573 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#18466 + # source://prism//lib/prism/node.rb#19601 def type; end end end @@ -41962,13 +43102,13 @@ end # yield 1 # ^^^^^^^ # -# source://prism//lib/prism/node.rb#18486 +# source://prism//lib/prism/node.rb#19621 class Prism::YieldNode < ::Prism::Node # Initialize a new YieldNode node. # # @return [YieldNode] a new instance of YieldNode # - # source://prism//lib/prism/node.rb#18488 + # source://prism//lib/prism/node.rb#19623 sig do params( source: Prism::Source, @@ -41986,42 +43126,42 @@ class Prism::YieldNode < ::Prism::Node # 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#18620 + # source://prism//lib/prism/node.rb#19762 def ===(other); end # def accept: (Visitor visitor) -> void # - # source://prism//lib/prism/node.rb#18500 + # source://prism//lib/prism/node.rb#19635 sig { override.params(visitor: Prism::Visitor).returns(T.untyped) } def accept(visitor); end # attr_reader arguments: ArgumentsNode? # - # source://prism//lib/prism/node.rb#18567 + # source://prism//lib/prism/node.rb#19709 sig { returns(T.nilable(Prism::ArgumentsNode)) } def arguments; end # def child_nodes: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#18505 + # source://prism//lib/prism/node.rb#19640 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#18517 + # source://prism//lib/prism/node.rb#19659 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#18510 + # source://prism//lib/prism/node.rb#19652 sig { override.returns(T::Array[Prism::Node]) } 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#18522 + # source://prism//lib/prism/node.rb#19664 sig do params( node_id: Integer, @@ -42038,89 +43178,102 @@ class Prism::YieldNode < ::Prism::Node # def child_nodes: () -> Array[Node?] # def deconstruct: () -> Array[Node?] # - # source://prism//lib/prism/node.rb#18527 + # source://prism//lib/prism/node.rb#19669 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, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location? } # - # source://prism//lib/prism/node.rb#18530 + # source://prism//lib/prism/node.rb#19672 sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) } def deconstruct_keys(keys); end + # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node] + # + # @yield [arguments] + # + # source://prism//lib/prism/node.rb#19645 + def each_child_node; end + sig { override.returns(T::Array[Prism::Reflection::Field]) } def fields; end # def inspect -> String # - # source://prism//lib/prism/node.rb#18604 + # source://prism//lib/prism/node.rb#19746 sig { override.returns(String) } def inspect; end # def keyword: () -> String # - # source://prism//lib/prism/node.rb#18589 + # source://prism//lib/prism/node.rb#19731 sig { returns(String) } def keyword; end # attr_reader keyword_loc: Location # - # source://prism//lib/prism/node.rb#18535 + # source://prism//lib/prism/node.rb#19677 sig { returns(Prism::Location) } def keyword_loc; end # def lparen: () -> String? # - # source://prism//lib/prism/node.rb#18594 + # source://prism//lib/prism/node.rb#19736 sig { returns(T.nilable(String)) } def lparen; end # attr_reader lparen_loc: Location? # - # source://prism//lib/prism/node.rb#18548 + # source://prism//lib/prism/node.rb#19690 sig { returns(T.nilable(Prism::Location)) } def lparen_loc; end # def rparen: () -> String? # - # source://prism//lib/prism/node.rb#18599 + # source://prism//lib/prism/node.rb#19741 sig { returns(T.nilable(String)) } def rparen; end # attr_reader rparen_loc: Location? # - # source://prism//lib/prism/node.rb#18570 + # source://prism//lib/prism/node.rb#19712 sig { returns(T.nilable(Prism::Location)) } def rparen_loc; end # Save the keyword_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#18543 + # source://prism//lib/prism/node.rb#19685 def save_keyword_loc(repository); end # Save the lparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#18562 + # source://prism//lib/prism/node.rb#19704 def save_lparen_loc(repository); end # Save the rparen_loc location using the given saved source so that # it can be retrieved later. # - # source://prism//lib/prism/node.rb#18584 + # source://prism//lib/prism/node.rb#19726 def save_rparen_loc(repository); end # Return a symbol representation of this node type. See `Node#type`. # - # source://prism//lib/prism/node.rb#18609 + # source://prism//lib/prism/node.rb#19751 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#18614 + # source://prism//lib/prism/node.rb#19756 def type; end end end + +# source://prism//lib/prism/translation/ruby_parser.rb#11 +class RubyParser; end + +# source://prism//lib/prism/translation/ruby_parser.rb#12 +class RubyParser::SyntaxError < ::RuntimeError; end diff --git a/sorbet/rbi/gems/rbi@0.3.6.rbi b/sorbet/rbi/gems/rbi@0.3.9.rbi similarity index 85% rename from sorbet/rbi/gems/rbi@0.3.6.rbi rename to sorbet/rbi/gems/rbi@0.3.9.rbi index fa14e8723a..639eaee832 100644 --- a/sorbet/rbi/gems/rbi@0.3.6.rbi +++ b/sorbet/rbi/gems/rbi@0.3.9.rbi @@ -9,35 +9,35 @@ # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `rbi` gem. -# Please instead update this file by running `spoom srb sigs export`. +# Please instead update this file by running `bundle exec spoom srb sigs export`. # source://rbi//lib/rbi.rb#7 module RBI; end -# source://rbi//lib/rbi/model.rb#783 +# source://rbi//lib/rbi/model.rb#833 class RBI::Arg < ::RBI::Node # @return [Arg] a new instance of Arg # - # source://rbi//lib/rbi/model.rb#788 + # source://rbi//lib/rbi/model.rb#838 sig { params(value: ::String, loc: T.nilable(::RBI::Loc)).void } def initialize(value, loc: T.unsafe(nil)); end - # source://rbi//lib/rbi/model.rb#794 + # source://rbi//lib/rbi/model.rb#844 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#799 + # source://rbi//lib/rbi/model.rb#849 sig { returns(::String) } def to_s; end - # source://rbi//lib/rbi/model.rb#785 + # source://rbi//lib/rbi/model.rb#835 sig { returns(::String) } def value; end end # @abstract # -# source://rbi//lib/rbi/model.rb#292 +# source://rbi//lib/rbi/model.rb#298 class RBI::Attr < ::RBI::NodeWithComments include ::RBI::Indexable @@ -45,7 +45,7 @@ class RBI::Attr < ::RBI::NodeWithComments # @return [Attr] a new instance of Attr # - # source://rbi//lib/rbi/model.rb#303 + # source://rbi//lib/rbi/model.rb#316 sig do params( name: ::Symbol, @@ -60,19 +60,21 @@ class RBI::Attr < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#403 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#420 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end # @abstract + # @raise [NotImplementedError] # # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#59 sig { abstract.returns(T::Array[::RBI::Method]) } def convert_to_methods; end # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/model.rb#312 + # source://rbi//lib/rbi/model.rb#325 sig { abstract.returns(T::Array[::String]) } def fully_qualified_names; end @@ -80,23 +82,23 @@ class RBI::Attr < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#412 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#429 sig { override.params(other: ::RBI::Node).void } def merge_with(other); end - # source://rbi//lib/rbi/model.rb#294 + # source://rbi//lib/rbi/model.rb#300 sig { returns(T::Array[::Symbol]) } def names; end - # source://rbi//lib/rbi/model.rb#300 + # source://rbi//lib/rbi/model.rb#306 sig { returns(T::Array[::RBI::Sig]) } def sigs; end - # source://rbi//lib/rbi/model.rb#297 + # source://rbi//lib/rbi/model.rb#303 sig { returns(::RBI::Visibility) } def visibility; end - # source://rbi//lib/rbi/model.rb#297 + # source://rbi//lib/rbi/model.rb#303 def visibility=(_arg0); end private @@ -113,7 +115,7 @@ class RBI::Attr < ::RBI::NodeWithComments end def create_getter_method(name, sig, visibility, loc, comments); end - # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#92 + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#99 sig do params( name: ::String, @@ -133,11 +135,11 @@ class RBI::Attr < ::RBI::NodeWithComments def parse_sig; end end -# source://rbi//lib/rbi/model.rb#315 +# source://rbi//lib/rbi/model.rb#328 class RBI::AttrAccessor < ::RBI::Attr # @return [AttrAccessor] a new instance of AttrAccessor # - # source://rbi//lib/rbi/model.rb#317 + # source://rbi//lib/rbi/model.rb#337 sig do params( name: ::Symbol, @@ -153,28 +155,28 @@ class RBI::AttrAccessor < ::RBI::Attr # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#441 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#458 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#123 + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#130 sig { override.returns(T::Array[::RBI::Method]) } def convert_to_methods; end - # source://rbi//lib/rbi/model.rb#324 + # source://rbi//lib/rbi/model.rb#344 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi//lib/rbi/model.rb#331 + # source://rbi//lib/rbi/model.rb#351 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#337 +# source://rbi//lib/rbi/model.rb#357 class RBI::AttrReader < ::RBI::Attr # @return [AttrReader] a new instance of AttrReader # - # source://rbi//lib/rbi/model.rb#339 + # source://rbi//lib/rbi/model.rb#366 sig do params( name: ::Symbol, @@ -190,28 +192,28 @@ class RBI::AttrReader < ::RBI::Attr # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#425 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#442 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#138 + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#145 sig { override.returns(T::Array[::RBI::Method]) } def convert_to_methods; end - # source://rbi//lib/rbi/model.rb#346 + # source://rbi//lib/rbi/model.rb#373 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi//lib/rbi/model.rb#353 + # source://rbi//lib/rbi/model.rb#380 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#359 +# source://rbi//lib/rbi/model.rb#386 class RBI::AttrWriter < ::RBI::Attr # @return [AttrWriter] a new instance of AttrWriter # - # source://rbi//lib/rbi/model.rb#361 + # source://rbi//lib/rbi/model.rb#395 sig do params( name: ::Symbol, @@ -227,19 +229,19 @@ class RBI::AttrWriter < ::RBI::Attr # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#433 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#450 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#148 + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#155 sig { override.returns(T::Array[::RBI::Method]) } def convert_to_methods; end - # source://rbi//lib/rbi/model.rb#368 + # source://rbi//lib/rbi/model.rb#402 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi//lib/rbi/model.rb#375 + # source://rbi//lib/rbi/model.rb#409 sig { override.returns(::String) } def to_s; end end @@ -255,11 +257,11 @@ class RBI::BlankLine < ::RBI::Comment def initialize(loc: T.unsafe(nil)); end end -# source://rbi//lib/rbi/model.rb#629 +# source://rbi//lib/rbi/model.rb#679 class RBI::BlockParam < ::RBI::Param # @return [BlockParam] a new instance of BlockParam # - # source://rbi//lib/rbi/model.rb#631 + # source://rbi//lib/rbi/model.rb#681 sig do params( name: ::String, @@ -270,11 +272,11 @@ class RBI::BlockParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#643 + # source://rbi//lib/rbi/model.rb#693 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#638 + # source://rbi//lib/rbi/model.rb#688 sig { override.returns(::String) } def to_s; end end @@ -297,7 +299,7 @@ class RBI::Class < ::RBI::Scope # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#371 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#388 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -355,38 +357,38 @@ end # end # ~~~ # -# source://rbi//lib/rbi/rewriters/merge_trees.rb#555 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#572 class RBI::ConflictTree < ::RBI::Tree # @return [ConflictTree] a new instance of ConflictTree # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#563 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#580 sig { params(left_name: ::String, right_name: ::String).void } def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#557 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#574 sig { returns(::RBI::Tree) } def left; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#560 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#577 sig { returns(::String) } def left_name; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#557 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#574 def right; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#560 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#577 def right_name; end end # Consts # -# source://rbi//lib/rbi/model.rb#263 +# source://rbi//lib/rbi/model.rb#269 class RBI::Const < ::RBI::NodeWithComments include ::RBI::Indexable # @return [Const] a new instance of Const # - # source://rbi//lib/rbi/model.rb#268 + # source://rbi//lib/rbi/model.rb#274 sig do params( name: ::String, @@ -400,11 +402,11 @@ class RBI::Const < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#395 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#412 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#276 + # source://rbi//lib/rbi/model.rb#282 sig { returns(::String) } def fully_qualified_name; end @@ -412,31 +414,31 @@ class RBI::Const < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#265 + # source://rbi//lib/rbi/model.rb#271 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#284 + # source://rbi//lib/rbi/model.rb#290 sig { override.returns(::String) } def to_s; end - # source://rbi//lib/rbi/model.rb#265 + # source://rbi//lib/rbi/model.rb#271 def value; end end -# source://rbi//lib/rbi/rewriters/merge_trees.rb#341 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#358 class RBI::DuplicateNodeError < ::RBI::Error; end # source://rbi//lib/rbi.rb#8 class RBI::Error < ::StandardError; end -# source://rbi//lib/rbi/model.rb#676 +# source://rbi//lib/rbi/model.rb#726 class RBI::Extend < ::RBI::Mixin include ::RBI::Indexable # @return [Extend] a new instance of Extend # - # source://rbi//lib/rbi/model.rb#678 + # source://rbi//lib/rbi/model.rb#728 sig do params( name: ::String, @@ -450,7 +452,7 @@ class RBI::Extend < ::RBI::Mixin # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#488 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#505 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -458,7 +460,7 @@ class RBI::Extend < ::RBI::Mixin sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#685 + # source://rbi//lib/rbi/model.rb#735 sig { override.returns(::String) } def to_s; end end @@ -494,7 +496,7 @@ class RBI::File sig { returns(T::Boolean) } def empty?; end - # source://rbi//lib/rbi/printer.rb#817 + # source://rbi//lib/rbi/printer.rb#819 sig do params( out: T.any(::IO, ::StringIO), @@ -505,11 +507,11 @@ class RBI::File end def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end - # source://rbi//lib/rbi/rbs_printer.rb#1210 + # source://rbi//lib/rbi/rbs_printer.rb#1231 sig { params(out: T.any(::IO, ::StringIO), indent: ::Integer, print_locs: T::Boolean).void } def rbs_print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end - # source://rbi//lib/rbi/rbs_printer.rb#1216 + # source://rbi//lib/rbi/rbs_printer.rb#1237 sig { params(indent: ::Integer, print_locs: T::Boolean).returns(::String) } def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end @@ -527,7 +529,7 @@ class RBI::File # source://rbi//lib/rbi/model.rb#136 def strictness=(_arg0); end - # source://rbi//lib/rbi/printer.rb#823 + # source://rbi//lib/rbi/printer.rb#825 sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) } def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end end @@ -536,7 +538,7 @@ end class RBI::Formatter # @return [Formatter] a new instance of Formatter # - # source://rbi//lib/rbi/formatter.rb#10 + # source://rbi//lib/rbi/formatter.rb#18 sig do params( add_sig_templates: T::Boolean, @@ -550,11 +552,11 @@ class RBI::Formatter end def initialize(add_sig_templates: T.unsafe(nil), group_nodes: T.unsafe(nil), max_line_length: T.unsafe(nil), nest_singleton_methods: T.unsafe(nil), nest_non_public_members: T.unsafe(nil), sort_nodes: T.unsafe(nil), replace_attributes_with_methods: T.unsafe(nil)); end - # source://rbi//lib/rbi/formatter.rb#35 + # source://rbi//lib/rbi/formatter.rb#43 sig { params(file: ::RBI::File).void } def format_file(file); end - # source://rbi//lib/rbi/formatter.rb#40 + # source://rbi//lib/rbi/formatter.rb#48 sig { params(tree: ::RBI::Tree).void } def format_tree(tree); end @@ -565,7 +567,7 @@ class RBI::Formatter # source://rbi//lib/rbi/formatter.rb#7 def max_line_length=(_arg0); end - # source://rbi//lib/rbi/formatter.rb#29 + # source://rbi//lib/rbi/formatter.rb#37 sig { params(file: ::RBI::File).returns(::String) } def print_file(file); end end @@ -637,13 +639,13 @@ class RBI::GroupNodesError < ::RBI::Error; end # Sorbet's misc. # -# source://rbi//lib/rbi/model.rb#1045 +# source://rbi//lib/rbi/model.rb#1141 class RBI::Helper < ::RBI::NodeWithComments include ::RBI::Indexable # @return [Helper] a new instance of Helper # - # source://rbi//lib/rbi/model.rb#1050 + # source://rbi//lib/rbi/model.rb#1146 sig do params( name: ::String, @@ -656,7 +658,7 @@ class RBI::Helper < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#504 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#521 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -664,22 +666,22 @@ class RBI::Helper < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1047 + # source://rbi//lib/rbi/model.rb#1143 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#1058 + # source://rbi//lib/rbi/model.rb#1154 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#662 +# source://rbi//lib/rbi/model.rb#712 class RBI::Include < ::RBI::Mixin include ::RBI::Indexable # @return [Include] a new instance of Include # - # source://rbi//lib/rbi/model.rb#664 + # source://rbi//lib/rbi/model.rb#714 sig do params( name: ::String, @@ -693,7 +695,7 @@ class RBI::Include < ::RBI::Mixin # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#480 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#497 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -701,7 +703,7 @@ class RBI::Include < ::RBI::Mixin sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#671 + # source://rbi//lib/rbi/model.rb#721 sig { override.returns(::String) } def to_s; end end @@ -755,38 +757,39 @@ module RBI::Indexable # getter and the setter. # # @abstract + # @raise [NotImplementedError] # # source://rbi//lib/rbi/index.rb#76 sig { abstract.returns(T::Array[::String]) } def index_ids; end end -# source://rbi//lib/rbi/model.rb#804 +# source://rbi//lib/rbi/model.rb#854 class RBI::KwArg < ::RBI::Arg # @return [KwArg] a new instance of KwArg # - # source://rbi//lib/rbi/model.rb#809 + # source://rbi//lib/rbi/model.rb#859 sig { params(keyword: ::String, value: ::String, loc: T.nilable(::RBI::Loc)).void } def initialize(keyword, value, loc: T.unsafe(nil)); end - # source://rbi//lib/rbi/model.rb#815 + # source://rbi//lib/rbi/model.rb#865 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#806 + # source://rbi//lib/rbi/model.rb#856 sig { returns(::String) } def keyword; end - # source://rbi//lib/rbi/model.rb#820 + # source://rbi//lib/rbi/model.rb#870 sig { returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#587 +# source://rbi//lib/rbi/model.rb#637 class RBI::KwOptParam < ::RBI::Param # @return [KwOptParam] a new instance of KwOptParam # - # source://rbi//lib/rbi/model.rb#592 + # source://rbi//lib/rbi/model.rb#642 sig do params( name: ::String, @@ -798,24 +801,24 @@ class RBI::KwOptParam < ::RBI::Param end def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#605 + # source://rbi//lib/rbi/model.rb#655 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#600 + # source://rbi//lib/rbi/model.rb#650 sig { override.returns(::String) } def to_s; end - # source://rbi//lib/rbi/model.rb#589 + # source://rbi//lib/rbi/model.rb#639 sig { returns(::String) } def value; end end -# source://rbi//lib/rbi/model.rb#568 +# source://rbi//lib/rbi/model.rb#618 class RBI::KwParam < ::RBI::Param # @return [KwParam] a new instance of KwParam # - # source://rbi//lib/rbi/model.rb#570 + # source://rbi//lib/rbi/model.rb#620 sig do params( name: ::String, @@ -826,20 +829,20 @@ class RBI::KwParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#582 + # source://rbi//lib/rbi/model.rb#632 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#577 + # source://rbi//lib/rbi/model.rb#627 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#610 +# source://rbi//lib/rbi/model.rb#660 class RBI::KwRestParam < ::RBI::Param # @return [KwRestParam] a new instance of KwRestParam # - # source://rbi//lib/rbi/model.rb#612 + # source://rbi//lib/rbi/model.rb#662 sig do params( name: ::String, @@ -850,11 +853,11 @@ class RBI::KwRestParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#624 + # source://rbi//lib/rbi/model.rb#674 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#619 + # source://rbi//lib/rbi/model.rb#669 sig { override.returns(::String) } def to_s; end end @@ -863,7 +866,7 @@ end class RBI::Loc # @return [Loc] a new instance of Loc # - # source://rbi//lib/rbi/loc.rb#26 + # source://rbi//lib/rbi/loc.rb#32 sig do params( file: T.nilable(::String), @@ -892,15 +895,15 @@ class RBI::Loc sig { returns(T.nilable(::String)) } def file; end - # source://rbi//lib/rbi/loc.rb#35 + # source://rbi//lib/rbi/loc.rb#41 sig { params(other: ::RBI::Loc).returns(::RBI::Loc) } def join(other); end - # source://rbi//lib/rbi/loc.rb#55 + # source://rbi//lib/rbi/loc.rb#61 sig { returns(T.nilable(::String)) } def source; end - # source://rbi//lib/rbi/loc.rb#46 + # source://rbi//lib/rbi/loc.rb#52 sig { returns(::String) } def to_s; end @@ -913,11 +916,11 @@ end # A tree that _might_ contain conflicts # -# source://rbi//lib/rbi/rewriters/merge_trees.rb#329 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#342 class RBI::MergeTree < ::RBI::Tree # @return [MergeTree] a new instance of MergeTree # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#334 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#351 sig do params( loc: T.nilable(::RBI::Loc), @@ -928,20 +931,20 @@ class RBI::MergeTree < ::RBI::Tree end def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), conflicts: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#331 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#344 sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) } def conflicts; end end # Methods and args # -# source://rbi//lib/rbi/model.rb#383 +# source://rbi//lib/rbi/model.rb#417 class RBI::Method < ::RBI::NodeWithComments include ::RBI::Indexable # @return [Method] a new instance of Method # - # source://rbi//lib/rbi/model.rb#400 + # source://rbi//lib/rbi/model.rb#442 sig do params( name: ::String, @@ -956,39 +959,39 @@ class RBI::Method < ::RBI::NodeWithComments end def initialize(name, params: T.unsafe(nil), is_singleton: T.unsafe(nil), visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#420 + # source://rbi//lib/rbi/model.rb#462 sig { params(param: ::RBI::Param).void } def <<(param); end - # source://rbi//lib/rbi/model.rb#455 + # source://rbi//lib/rbi/model.rb#497 sig { params(name: ::String).void } def add_block_param(name); end - # source://rbi//lib/rbi/model.rb#445 + # source://rbi//lib/rbi/model.rb#487 sig { params(name: ::String, default_value: ::String).void } def add_kw_opt_param(name, default_value); end - # source://rbi//lib/rbi/model.rb#440 + # source://rbi//lib/rbi/model.rb#482 sig { params(name: ::String).void } def add_kw_param(name); end - # source://rbi//lib/rbi/model.rb#450 + # source://rbi//lib/rbi/model.rb#492 sig { params(name: ::String).void } def add_kw_rest_param(name); end - # source://rbi//lib/rbi/model.rb#430 + # source://rbi//lib/rbi/model.rb#472 sig { params(name: ::String, default_value: ::String).void } def add_opt_param(name, default_value); end - # source://rbi//lib/rbi/model.rb#425 + # source://rbi//lib/rbi/model.rb#467 sig { params(name: ::String).void } def add_param(name); end - # source://rbi//lib/rbi/model.rb#435 + # source://rbi//lib/rbi/model.rb#477 sig { params(name: ::String).void } def add_rest_param(name); end - # source://rbi//lib/rbi/model.rb#460 + # source://rbi//lib/rbi/model.rb#510 sig do params( params: T::Array[::RBI::SigParam], @@ -1006,11 +1009,11 @@ class RBI::Method < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#449 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#466 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#486 + # source://rbi//lib/rbi/model.rb#536 sig { returns(::String) } def fully_qualified_name; end @@ -1018,54 +1021,54 @@ class RBI::Method < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#391 + # source://rbi//lib/rbi/model.rb#425 sig { returns(T::Boolean) } def is_singleton; end - # source://rbi//lib/rbi/model.rb#391 + # source://rbi//lib/rbi/model.rb#425 def is_singleton=(_arg0); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#459 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#476 sig { override.params(other: ::RBI::Node).void } def merge_with(other); end - # source://rbi//lib/rbi/model.rb#385 + # source://rbi//lib/rbi/model.rb#419 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#385 + # source://rbi//lib/rbi/model.rb#419 def name=(_arg0); end - # source://rbi//lib/rbi/model.rb#388 + # source://rbi//lib/rbi/model.rb#422 sig { returns(T::Array[::RBI::Param]) } def params; end - # source://rbi//lib/rbi/model.rb#397 + # source://rbi//lib/rbi/model.rb#431 sig { returns(T::Array[::RBI::Sig]) } def sigs; end - # source://rbi//lib/rbi/model.rb#397 + # source://rbi//lib/rbi/model.rb#431 def sigs=(_arg0); end - # source://rbi//lib/rbi/model.rb#496 + # source://rbi//lib/rbi/model.rb#546 sig { override.returns(::String) } def to_s; end - # source://rbi//lib/rbi/model.rb#394 + # source://rbi//lib/rbi/model.rb#428 sig { returns(::RBI::Visibility) } def visibility; end - # source://rbi//lib/rbi/model.rb#394 + # source://rbi//lib/rbi/model.rb#428 def visibility=(_arg0); end end -# source://rbi//lib/rbi/model.rb#1089 +# source://rbi//lib/rbi/model.rb#1185 class RBI::MixesInClassMethods < ::RBI::Mixin include ::RBI::Indexable # @return [MixesInClassMethods] a new instance of MixesInClassMethods # - # source://rbi//lib/rbi/model.rb#1091 + # source://rbi//lib/rbi/model.rb#1192 sig do params( name: ::String, @@ -1079,7 +1082,7 @@ class RBI::MixesInClassMethods < ::RBI::Mixin # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#496 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#513 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -1087,20 +1090,20 @@ class RBI::MixesInClassMethods < ::RBI::Mixin sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1098 + # source://rbi//lib/rbi/model.rb#1199 sig { override.returns(::String) } def to_s; end end # @abstract # -# source://rbi//lib/rbi/model.rb#651 +# source://rbi//lib/rbi/model.rb#701 class RBI::Mixin < ::RBI::NodeWithComments abstract! # @return [Mixin] a new instance of Mixin # - # source://rbi//lib/rbi/model.rb#656 + # source://rbi//lib/rbi/model.rb#706 sig do params( name: ::String, @@ -1113,11 +1116,11 @@ class RBI::Mixin < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#472 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#489 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#653 + # source://rbi//lib/rbi/model.rb#703 sig { returns(T::Array[::String]) } def names; end end @@ -1139,7 +1142,7 @@ class RBI::Module < ::RBI::Scope # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#379 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#396 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -1171,7 +1174,7 @@ class RBI::Node # # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#289 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#302 sig { params(_other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(_other); end @@ -1188,11 +1191,11 @@ class RBI::Node # Merge `self` and `other` into a single definition # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#295 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#308 sig { params(other: ::RBI::Node).void } def merge_with(other); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#298 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#311 sig { returns(T.nilable(::RBI::ConflictTree)) } def parent_conflict_tree; end @@ -1207,7 +1210,7 @@ class RBI::Node # source://rbi//lib/rbi/model.rb#10 def parent_tree=(_arg0); end - # source://rbi//lib/rbi/printer.rb#832 + # source://rbi//lib/rbi/printer.rb#834 sig do params( out: T.any(::IO, ::StringIO), @@ -1218,7 +1221,7 @@ class RBI::Node end def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end - # source://rbi//lib/rbi/rbs_printer.rb#1225 + # source://rbi//lib/rbi/rbs_printer.rb#1246 sig do params( out: T.any(::IO, ::StringIO), @@ -1229,7 +1232,7 @@ class RBI::Node end def rbs_print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil)); end - # source://rbi//lib/rbi/rbs_printer.rb#1231 + # source://rbi//lib/rbi/rbs_printer.rb#1252 sig { params(indent: ::Integer, print_locs: T::Boolean, positional_names: T::Boolean).returns(::String) } def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil)); end @@ -1245,7 +1248,7 @@ class RBI::Node sig { params(version: ::Gem::Version).returns(T::Boolean) } def satisfies_version?(version); end - # source://rbi//lib/rbi/printer.rb#838 + # source://rbi//lib/rbi/printer.rb#840 sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) } def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end end @@ -1273,7 +1276,7 @@ class RBI::NodeWithComments < ::RBI::Node # source://rbi//lib/rbi/model.rb#90 def comments=(_arg0); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#312 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#325 sig { override.params(other: ::RBI::Node).void } def merge_with(other); end @@ -1282,11 +1285,11 @@ class RBI::NodeWithComments < ::RBI::Node def version_requirements; end end -# source://rbi//lib/rbi/model.rb#532 +# source://rbi//lib/rbi/model.rb#582 class RBI::OptParam < ::RBI::Param # @return [OptParam] a new instance of OptParam # - # source://rbi//lib/rbi/model.rb#537 + # source://rbi//lib/rbi/model.rb#587 sig do params( name: ::String, @@ -1298,32 +1301,32 @@ class RBI::OptParam < ::RBI::Param end def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#544 + # source://rbi//lib/rbi/model.rb#594 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#534 + # source://rbi//lib/rbi/model.rb#584 sig { returns(::String) } def value; end end # @abstract # -# source://rbi//lib/rbi/model.rb#502 +# source://rbi//lib/rbi/model.rb#552 class RBI::Param < ::RBI::NodeWithComments abstract! # @return [Param] a new instance of Param # - # source://rbi//lib/rbi/model.rb#507 + # source://rbi//lib/rbi/model.rb#557 sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void } def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://rbi//lib/rbi/model.rb#504 + # source://rbi//lib/rbi/model.rb#554 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#514 + # source://rbi//lib/rbi/model.rb#564 sig { override.returns(::String) } def to_s; end end @@ -1376,29 +1379,29 @@ class RBI::Parser end end -# source://rbi//lib/rbi/parser.rb#1000 +# source://rbi//lib/rbi/parser.rb#1003 class RBI::Parser::HeredocLocationVisitor < ::Prism::Visitor # @return [HeredocLocationVisitor] a new instance of HeredocLocationVisitor # - # source://rbi//lib/rbi/parser.rb#1002 + # source://rbi//lib/rbi/parser.rb#1005 sig { params(source: ::Prism::Source, begin_offset: ::Integer, end_offset: ::Integer).void } def initialize(source, begin_offset, end_offset); end - # source://rbi//lib/rbi/parser.rb#1033 + # source://rbi//lib/rbi/parser.rb#1036 sig { returns(::Prism::Location) } def location; end - # source://rbi//lib/rbi/parser.rb#1023 + # source://rbi//lib/rbi/parser.rb#1026 sig { override.params(node: ::Prism::InterpolatedStringNode).void } def visit_interpolated_string_node(node); end - # source://rbi//lib/rbi/parser.rb#1012 + # source://rbi//lib/rbi/parser.rb#1015 sig { override.params(node: ::Prism::StringNode).void } def visit_string_node(node); end private - # source://rbi//lib/rbi/parser.rb#1044 + # source://rbi//lib/rbi/parser.rb#1047 sig { params(node: T.any(::Prism::InterpolatedStringNode, ::Prism::StringNode)).void } def handle_string_node(node); end end @@ -1411,11 +1414,17 @@ class RBI::Parser::SigBuilder < ::RBI::Parser::Visitor sig { params(content: ::String, file: ::String).void } def initialize(content, file:); end + # @return [Boolean] + # + # source://rbi//lib/rbi/parser.rb#986 + sig { params(node: ::Prism::CallNode, value: ::String).returns(T::Boolean) } + def allow_incompatible_override?(node, value); end + # source://rbi//lib/rbi/parser.rb#917 sig { returns(::RBI::Sig) } def current; end - # source://rbi//lib/rbi/parser.rb#992 + # source://rbi//lib/rbi/parser.rb#978 sig { override.params(node: ::Prism::AssocNode).void } def visit_assoc_node(node); end @@ -1922,11 +1931,11 @@ end # source://rbi//lib/rbi/printer.rb#5 class RBI::PrinterError < ::RBI::Error; end -# source://rbi//lib/rbi/model.rb#742 +# source://rbi//lib/rbi/model.rb#792 class RBI::Private < ::RBI::Visibility # @return [Private] a new instance of Private # - # source://rbi//lib/rbi/model.rb#744 + # source://rbi//lib/rbi/model.rb#794 sig do params( loc: T.nilable(::RBI::Loc), @@ -1937,11 +1946,11 @@ class RBI::Private < ::RBI::Visibility def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi//lib/rbi/model.rb#734 +# source://rbi//lib/rbi/model.rb#784 class RBI::Protected < ::RBI::Visibility # @return [Protected] a new instance of Protected # - # source://rbi//lib/rbi/model.rb#736 + # source://rbi//lib/rbi/model.rb#786 sig do params( loc: T.nilable(::RBI::Loc), @@ -1952,11 +1961,11 @@ class RBI::Protected < ::RBI::Visibility def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi//lib/rbi/model.rb#726 +# source://rbi//lib/rbi/model.rb#776 class RBI::Public < ::RBI::Visibility # @return [Public] a new instance of Public # - # source://rbi//lib/rbi/model.rb#728 + # source://rbi//lib/rbi/model.rb#778 sig do params( loc: T.nilable(::RBI::Loc), @@ -2029,17 +2038,21 @@ class RBI::RBS::TypeTranslator private - # source://rbi//lib/rbi/rbs/type_translator.rb#95 + # source://rbi//lib/rbi/rbs/type_translator.rb#106 sig { params(type: ::RBS::Types::ClassInstance).returns(::RBI::Type) } def translate_class_instance(type); end - # source://rbi//lib/rbi/rbs/type_translator.rb#103 + # source://rbi//lib/rbi/rbs/type_translator.rb#114 sig { params(type: ::RBS::Types::Function).returns(::RBI::Type) } def translate_function(type); end - # source://rbi//lib/rbi/rbs/type_translator.rb#150 + # source://rbi//lib/rbi/rbs/type_translator.rb#161 sig { params(type_name: ::String).returns(::String) } def translate_t_generic_type(type_name); end + + # source://rbi//lib/rbi/rbs/type_translator.rb#94 + sig { params(type: ::RBS::Types::Alias).returns(::RBI::Type) } + def translate_type_alias(type); end end end @@ -2118,15 +2131,15 @@ class RBI::RBSPrinter < ::RBI::Visitor # source://rbi//lib/rbi/rbs_printer.rb#9 def print_locs=(_arg0); end - # source://rbi//lib/rbi/rbs_printer.rb#398 + # source://rbi//lib/rbi/rbs_printer.rb#400 sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void } def print_method_sig(node, sig); end - # source://rbi//lib/rbi/rbs_printer.rb#415 + # source://rbi//lib/rbi/rbs_printer.rb#417 sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void } def print_method_sig_inline(node, sig); end - # source://rbi//lib/rbi/rbs_printer.rb#477 + # source://rbi//lib/rbi/rbs_printer.rb#479 sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void } def print_method_sig_multiline(node, sig); end @@ -2152,7 +2165,7 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(nodes: T::Array[::RBI::Node]).void } def visit_all(nodes); end - # source://rbi//lib/rbi/rbs_printer.rb#678 + # source://rbi//lib/rbi/rbs_printer.rb#680 sig { override.params(node: ::RBI::Arg).void } def visit_arg(node); end @@ -2176,7 +2189,7 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::BlankLine).void } def visit_blank_line(node); end - # source://rbi//lib/rbi/rbs_printer.rb#610 + # source://rbi//lib/rbi/rbs_printer.rb#612 sig { override.params(node: ::RBI::BlockParam).void } def visit_block_param(node); end @@ -2188,7 +2201,7 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Comment).void } def visit_comment(node); end - # source://rbi//lib/rbi/rbs_printer.rb#814 + # source://rbi//lib/rbi/rbs_printer.rb#816 sig { override.params(node: ::RBI::ConflictTree).void } def visit_conflict_tree(node); end @@ -2196,7 +2209,7 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Const).void } def visit_const(node); end - # source://rbi//lib/rbi/rbs_printer.rb#622 + # source://rbi//lib/rbi/rbs_printer.rb#624 sig { override.params(node: ::RBI::Extend).void } def visit_extend(node); end @@ -2204,31 +2217,31 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(file: ::RBI::File).void } def visit_file(file); end - # source://rbi//lib/rbi/rbs_printer.rb#787 + # source://rbi//lib/rbi/rbs_printer.rb#789 sig { override.params(node: ::RBI::Group).void } def visit_group(node); end - # source://rbi//lib/rbi/rbs_printer.rb#775 + # source://rbi//lib/rbi/rbs_printer.rb#777 sig { override.params(node: ::RBI::Helper).void } def visit_helper(node); end - # source://rbi//lib/rbi/rbs_printer.rb#616 + # source://rbi//lib/rbi/rbs_printer.rb#618 sig { override.params(node: ::RBI::Include).void } def visit_include(node); end - # source://rbi//lib/rbi/rbs_printer.rb#684 + # source://rbi//lib/rbi/rbs_printer.rb#686 sig { override.params(node: ::RBI::KwArg).void } def visit_kw_arg(node); end - # source://rbi//lib/rbi/rbs_printer.rb#598 + # source://rbi//lib/rbi/rbs_printer.rb#600 sig { override.params(node: ::RBI::KwOptParam).void } def visit_kw_opt_param(node); end - # source://rbi//lib/rbi/rbs_printer.rb#592 + # source://rbi//lib/rbi/rbs_printer.rb#594 sig { override.params(node: ::RBI::KwParam).void } def visit_kw_param(node); end - # source://rbi//lib/rbi/rbs_printer.rb#604 + # source://rbi//lib/rbi/rbs_printer.rb#606 sig { override.params(node: ::RBI::KwRestParam).void } def visit_kw_rest_param(node); end @@ -2236,11 +2249,11 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Method).void } def visit_method(node); end - # source://rbi//lib/rbi/rbs_printer.rb#781 + # source://rbi//lib/rbi/rbs_printer.rb#783 sig { override.params(node: ::RBI::MixesInClassMethods).void } def visit_mixes_in_class_methods(node); end - # source://rbi//lib/rbi/rbs_printer.rb#627 + # source://rbi//lib/rbi/rbs_printer.rb#629 sig { params(node: ::RBI::Mixin).void } def visit_mixin(node); end @@ -2248,31 +2261,31 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Module).void } def visit_module(node); end - # source://rbi//lib/rbi/rbs_printer.rb#572 + # source://rbi//lib/rbi/rbs_printer.rb#574 sig { override.params(node: ::RBI::OptParam).void } def visit_opt_param(node); end - # source://rbi//lib/rbi/rbs_printer.rb#657 + # source://rbi//lib/rbi/rbs_printer.rb#659 sig { override.params(node: ::RBI::Private).void } def visit_private(node); end - # source://rbi//lib/rbi/rbs_printer.rb#651 + # source://rbi//lib/rbi/rbs_printer.rb#653 sig { override.params(node: ::RBI::Protected).void } def visit_protected(node); end - # source://rbi//lib/rbi/rbs_printer.rb#645 + # source://rbi//lib/rbi/rbs_printer.rb#647 sig { override.params(node: ::RBI::Public).void } def visit_public(node); end - # source://rbi//lib/rbi/rbs_printer.rb#562 + # source://rbi//lib/rbi/rbs_printer.rb#564 sig { override.params(node: ::RBI::ReqParam).void } def visit_req_param(node); end - # source://rbi//lib/rbi/rbs_printer.rb#808 + # source://rbi//lib/rbi/rbs_printer.rb#810 sig { override.params(node: ::RBI::RequiresAncestor).void } def visit_requires_ancestor(node); end - # source://rbi//lib/rbi/rbs_printer.rb#582 + # source://rbi//lib/rbi/rbs_printer.rb#584 sig { override.params(node: ::RBI::RestParam).void } def visit_rest_param(node); end @@ -2284,7 +2297,7 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { params(node: ::RBI::Scope).void } def visit_scope_body(node); end - # source://rbi//lib/rbi/rbs_printer.rb#824 + # source://rbi//lib/rbi/rbs_printer.rb#826 sig { override.params(node: ::RBI::ScopeConflict).void } def visit_scope_conflict(node); end @@ -2292,15 +2305,15 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { params(node: ::RBI::Scope).void } def visit_scope_header(node); end - # source://rbi//lib/rbi/rbs_printer.rb#672 + # source://rbi//lib/rbi/rbs_printer.rb#674 sig { override.params(node: ::RBI::Send).void } def visit_send(node); end - # source://rbi//lib/rbi/rbs_printer.rb#543 + # source://rbi//lib/rbi/rbs_printer.rb#545 sig { params(node: ::RBI::Sig).void } def visit_sig(node); end - # source://rbi//lib/rbi/rbs_printer.rb#556 + # source://rbi//lib/rbi/rbs_printer.rb#558 sig { params(node: ::RBI::SigParam).void } def visit_sig_param(node); end @@ -2312,15 +2325,15 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Struct).void } def visit_struct(node); end - # source://rbi//lib/rbi/rbs_printer.rb#741 + # source://rbi//lib/rbi/rbs_printer.rb#743 sig { override.params(node: ::RBI::TEnum).void } def visit_tenum(node); end - # source://rbi//lib/rbi/rbs_printer.rb#747 + # source://rbi//lib/rbi/rbs_printer.rb#749 sig { override.params(node: ::RBI::TEnumBlock).void } def visit_tenum_block(node); end - # source://rbi//lib/rbi/rbs_printer.rb#753 + # source://rbi//lib/rbi/rbs_printer.rb#755 sig { override.params(node: ::RBI::TEnumValue).void } def visit_tenum_value(node); end @@ -2328,27 +2341,27 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Tree).void } def visit_tree(node); end - # source://rbi//lib/rbi/rbs_printer.rb#690 + # source://rbi//lib/rbi/rbs_printer.rb#692 sig { override.params(node: ::RBI::TStruct).void } def visit_tstruct(node); end - # source://rbi//lib/rbi/rbs_printer.rb#725 + # source://rbi//lib/rbi/rbs_printer.rb#727 sig { override.params(node: ::RBI::TStructConst).void } def visit_tstruct_const(node); end - # source://rbi//lib/rbi/rbs_printer.rb#733 + # source://rbi//lib/rbi/rbs_printer.rb#735 sig { override.params(node: ::RBI::TStructProp).void } def visit_tstruct_prop(node); end - # source://rbi//lib/rbi/rbs_printer.rb#769 + # source://rbi//lib/rbi/rbs_printer.rb#771 sig { override.params(node: ::RBI::TypeMember).void } def visit_type_member(node); end - # source://rbi//lib/rbi/rbs_printer.rb#662 + # source://rbi//lib/rbi/rbs_printer.rb#664 sig { params(node: ::RBI::Visibility).void } def visit_visibility(node); end - # source://rbi//lib/rbi/rbs_printer.rb#794 + # source://rbi//lib/rbi/rbs_printer.rb#796 sig { override.params(node: ::RBI::VisibilityGroup).void } def visit_visibility_group(node); end @@ -2356,7 +2369,7 @@ class RBI::RBSPrinter < ::RBI::Visitor # @return [Boolean] # - # source://rbi//lib/rbi/rbs_printer.rb#927 + # source://rbi//lib/rbi/rbs_printer.rb#929 sig { params(node: ::RBI::Node).returns(T::Boolean) } def oneline?(node); end @@ -2364,31 +2377,31 @@ class RBI::RBSPrinter < ::RBI::Visitor # # Returns `nil` is the string is not a `T.let`. # - # source://rbi//lib/rbi/rbs_printer.rb#961 + # source://rbi//lib/rbi/rbs_printer.rb#963 sig { params(code: T.nilable(::String)).returns(T.nilable(::String)) } def parse_t_let(code); end - # source://rbi//lib/rbi/rbs_printer.rb#949 + # source://rbi//lib/rbi/rbs_printer.rb#951 sig { params(type: T.any(::RBI::Type, ::String)).returns(::RBI::Type) } def parse_type(type); end - # source://rbi//lib/rbi/rbs_printer.rb#840 + # source://rbi//lib/rbi/rbs_printer.rb#842 sig { params(node: ::RBI::Node).void } def print_blank_line_before(node); end - # source://rbi//lib/rbi/rbs_printer.rb#859 + # source://rbi//lib/rbi/rbs_printer.rb#861 sig { params(node: ::RBI::Node).void } def print_loc(node); end - # source://rbi//lib/rbi/rbs_printer.rb#901 + # source://rbi//lib/rbi/rbs_printer.rb#903 sig { params(node: ::RBI::Param, last: T::Boolean).void } def print_param_comment_leading_space(node, last:); end - # source://rbi//lib/rbi/rbs_printer.rb#865 + # source://rbi//lib/rbi/rbs_printer.rb#867 sig { params(node: ::RBI::Method, param: ::RBI::SigParam).void } def print_sig_param(node, param); end - # source://rbi//lib/rbi/rbs_printer.rb#919 + # source://rbi//lib/rbi/rbs_printer.rb#921 sig { params(node: ::RBI::SigParam, last: T::Boolean).void } def print_sig_param_comment_leading_space(node, last:); end end @@ -2399,11 +2412,11 @@ class RBI::RBSPrinter::Error < ::RBI::Error; end # source://rbi//lib/rbi/model.rb#5 class RBI::ReplaceNodeError < ::RBI::Error; end -# source://rbi//lib/rbi/model.rb#519 +# source://rbi//lib/rbi/model.rb#569 class RBI::ReqParam < ::RBI::Param # @return [ReqParam] a new instance of ReqParam # - # source://rbi//lib/rbi/model.rb#521 + # source://rbi//lib/rbi/model.rb#571 sig do params( name: ::String, @@ -2414,18 +2427,18 @@ class RBI::ReqParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#527 + # source://rbi//lib/rbi/model.rb#577 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end end -# source://rbi//lib/rbi/model.rb#1103 +# source://rbi//lib/rbi/model.rb#1204 class RBI::RequiresAncestor < ::RBI::NodeWithComments include ::RBI::Indexable # @return [RequiresAncestor] a new instance of RequiresAncestor # - # source://rbi//lib/rbi/model.rb#1108 + # source://rbi//lib/rbi/model.rb#1209 sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void } def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end @@ -2433,20 +2446,20 @@ class RBI::RequiresAncestor < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1105 + # source://rbi//lib/rbi/model.rb#1206 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#1115 + # source://rbi//lib/rbi/model.rb#1216 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#549 +# source://rbi//lib/rbi/model.rb#599 class RBI::RestParam < ::RBI::Param # @return [RestParam] a new instance of RestParam # - # source://rbi//lib/rbi/model.rb#551 + # source://rbi//lib/rbi/model.rb#601 sig do params( name: ::String, @@ -2457,11 +2470,11 @@ class RBI::RestParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#563 + # source://rbi//lib/rbi/model.rb#613 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#558 + # source://rbi//lib/rbi/model.rb#608 sig { override.returns(::String) } def to_s; end end @@ -2834,19 +2847,19 @@ end # end # ~~~ # -# source://rbi//lib/rbi/rewriters/merge_trees.rb#247 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#258 class RBI::Rewriters::Merge::ConflictTreeMerger < ::RBI::Visitor - # source://rbi//lib/rbi/rewriters/merge_trees.rb#250 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#261 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#256 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#267 sig { override.params(nodes: T::Array[::RBI::Node]).void } def visit_all(nodes); end private - # source://rbi//lib/rbi/rewriters/merge_trees.rb#277 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#290 sig { params(left: ::RBI::Tree, right: ::RBI::Tree).void } def merge_conflict_trees(left, right); end end @@ -2895,23 +2908,23 @@ class RBI::Rewriters::Merge::TreeMerger < ::RBI::Visitor private - # source://rbi//lib/rbi/rewriters/merge_trees.rb#170 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#181 sig { returns(::RBI::Tree) } def current_scope; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#187 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#198 sig { params(left: ::RBI::Scope, right: ::RBI::Scope).void } def make_conflict_scope(left, right); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#194 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#205 sig { params(left: ::RBI::Node, right: ::RBI::Node).void } def make_conflict_tree(left, right); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#175 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#186 sig { params(node: ::RBI::Node).returns(T.nilable(::RBI::Node)) } def previous_definition(node); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#206 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#217 sig { params(left: ::RBI::Scope, right: ::RBI::Scope).returns(::RBI::Scope) } def replace_scope_header(left, right); end end @@ -3132,11 +3145,12 @@ class RBI::Scope < ::RBI::Tree # Duplicate `self` scope without its body # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#346 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#363 sig { returns(T.self_type) } def dup_empty; end # @abstract + # @raise [NotImplementedError] # # source://rbi//lib/rbi/model.rb#166 sig { abstract.returns(::String) } @@ -3164,38 +3178,38 @@ end # end # ~~~ # -# source://rbi//lib/rbi/rewriters/merge_trees.rb#586 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#603 class RBI::ScopeConflict < ::RBI::Tree # @return [ScopeConflict] a new instance of ScopeConflict # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#594 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#611 sig { params(left: ::RBI::Scope, right: ::RBI::Scope, left_name: ::String, right_name: ::String).void } def initialize(left:, right:, left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#588 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#605 sig { returns(::RBI::Scope) } def left; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#591 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#608 sig { returns(::String) } def left_name; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#588 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#605 def right; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#591 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#608 def right_name; end end # Sends # -# source://rbi//lib/rbi/model.rb#752 +# source://rbi//lib/rbi/model.rb#802 class RBI::Send < ::RBI::NodeWithComments include ::RBI::Indexable # @return [Send] a new instance of Send # - # source://rbi//lib/rbi/model.rb#760 + # source://rbi//lib/rbi/model.rb#810 sig do params( method: ::String, @@ -3207,21 +3221,21 @@ class RBI::Send < ::RBI::NodeWithComments end def initialize(method, args = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#768 + # source://rbi//lib/rbi/model.rb#818 sig { params(arg: ::RBI::Arg).void } def <<(arg); end - # source://rbi//lib/rbi/model.rb#773 + # source://rbi//lib/rbi/model.rb#823 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#757 + # source://rbi//lib/rbi/model.rb#807 sig { returns(T::Array[::RBI::Arg]) } def args; end # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#512 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#529 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -3229,22 +3243,22 @@ class RBI::Send < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#754 + # source://rbi//lib/rbi/model.rb#804 sig { returns(::String) } def method; end - # source://rbi//lib/rbi/model.rb#778 + # source://rbi//lib/rbi/model.rb#828 sig { returns(::String) } def to_s; end end # Sorbet's sigs # -# source://rbi//lib/rbi/model.rb#827 +# source://rbi//lib/rbi/model.rb#877 class RBI::Sig < ::RBI::NodeWithComments # @return [Sig] a new instance of Sig # - # source://rbi//lib/rbi/model.rb#844 + # source://rbi//lib/rbi/model.rb#926 sig do params( params: T::Array[::RBI::SigParam], @@ -3254,6 +3268,7 @@ class RBI::Sig < ::RBI::NodeWithComments is_overridable: T::Boolean, is_final: T::Boolean, allow_incompatible_override: T::Boolean, + allow_incompatible_override_visibility: T::Boolean, without_runtime: T::Boolean, type_params: T::Array[::String], checked: T.nilable(::Symbol), @@ -3262,85 +3277,97 @@ class RBI::Sig < ::RBI::NodeWithComments block: T.nilable(T.proc.params(node: ::RBI::Sig).void) ).void end - def initialize(params: T.unsafe(nil), return_type: T.unsafe(nil), is_abstract: T.unsafe(nil), is_override: T.unsafe(nil), is_overridable: T.unsafe(nil), is_final: T.unsafe(nil), allow_incompatible_override: T.unsafe(nil), without_runtime: T.unsafe(nil), type_params: T.unsafe(nil), checked: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + def initialize(params: T.unsafe(nil), return_type: T.unsafe(nil), is_abstract: T.unsafe(nil), is_override: T.unsafe(nil), is_overridable: T.unsafe(nil), is_final: T.unsafe(nil), allow_incompatible_override: T.unsafe(nil), allow_incompatible_override_visibility: T.unsafe(nil), without_runtime: T.unsafe(nil), type_params: T.unsafe(nil), checked: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#874 + # source://rbi//lib/rbi/model.rb#958 sig { params(param: ::RBI::SigParam).void } def <<(param); end - # source://rbi//lib/rbi/model.rb#884 + # source://rbi//lib/rbi/model.rb#968 sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#879 + # source://rbi//lib/rbi/model.rb#963 sig { params(name: ::String, type: T.any(::RBI::Type, ::String)).void } def add_param(name, type); end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#897 + sig { returns(T::Boolean) } def allow_incompatible_override; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#897 def allow_incompatible_override=(_arg0); end - # source://rbi//lib/rbi/model.rb#841 + # source://rbi//lib/rbi/model.rb#900 + sig { returns(T::Boolean) } + def allow_incompatible_override_visibility; end + + # source://rbi//lib/rbi/model.rb#900 + def allow_incompatible_override_visibility=(_arg0); end + + # source://rbi//lib/rbi/model.rb#909 sig { returns(T.nilable(::Symbol)) } def checked; end - # source://rbi//lib/rbi/model.rb#841 + # source://rbi//lib/rbi/model.rb#909 def checked=(_arg0); end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#885 sig { returns(T::Boolean) } def is_abstract; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#885 def is_abstract=(_arg0); end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#894 + sig { returns(T::Boolean) } def is_final; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#894 def is_final=(_arg0); end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#891 + sig { returns(T::Boolean) } def is_overridable; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#891 def is_overridable=(_arg0); end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#888 + sig { returns(T::Boolean) } def is_override; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#888 def is_override=(_arg0); end - # source://rbi//lib/rbi/model.rb#829 + # source://rbi//lib/rbi/model.rb#879 sig { returns(T::Array[::RBI::SigParam]) } def params; end - # source://rbi//lib/rbi/model.rb#832 + # source://rbi//lib/rbi/model.rb#882 sig { returns(T.any(::RBI::Type, ::String)) } def return_type; end - # source://rbi//lib/rbi/model.rb#832 + # source://rbi//lib/rbi/model.rb#882 def return_type=(_arg0); end - # source://rbi//lib/rbi/model.rb#838 + # source://rbi//lib/rbi/model.rb#906 sig { returns(T::Array[::String]) } def type_params; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#903 + sig { returns(T::Boolean) } def without_runtime; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#903 def without_runtime=(_arg0); end end -# source://rbi//lib/rbi/model.rb#893 +# source://rbi//lib/rbi/model.rb#977 class RBI::SigParam < ::RBI::NodeWithComments # @return [SigParam] a new instance of SigParam # - # source://rbi//lib/rbi/model.rb#901 + # source://rbi//lib/rbi/model.rb#985 sig do params( name: ::String, @@ -3352,15 +3379,15 @@ class RBI::SigParam < ::RBI::NodeWithComments end def initialize(name, type, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#909 + # source://rbi//lib/rbi/model.rb#993 sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#895 + # source://rbi//lib/rbi/model.rb#979 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#898 + # source://rbi//lib/rbi/model.rb#982 sig { returns(T.any(::RBI::Type, ::String)) } def type; end end @@ -3388,7 +3415,7 @@ end class RBI::Struct < ::RBI::Scope # @return [Struct] a new instance of Struct # - # source://rbi//lib/rbi/model.rb#244 + # source://rbi//lib/rbi/model.rb#250 sig do params( name: ::String, @@ -3403,11 +3430,11 @@ class RBI::Struct < ::RBI::Scope # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#387 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#404 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#254 + # source://rbi//lib/rbi/model.rb#260 sig { override.returns(::String) } def fully_qualified_name; end @@ -3435,11 +3462,11 @@ end # Sorbet's T::Enum # -# source://rbi//lib/rbi/model.rb#992 +# source://rbi//lib/rbi/model.rb#1088 class RBI::TEnum < ::RBI::Class # @return [TEnum] a new instance of TEnum # - # source://rbi//lib/rbi/model.rb#994 + # source://rbi//lib/rbi/model.rb#1090 sig do params( name: ::String, @@ -3451,11 +3478,11 @@ class RBI::TEnum < ::RBI::Class def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi//lib/rbi/model.rb#1000 +# source://rbi//lib/rbi/model.rb#1096 class RBI::TEnumBlock < ::RBI::Scope # @return [TEnumBlock] a new instance of TEnumBlock # - # source://rbi//lib/rbi/model.rb#1002 + # source://rbi//lib/rbi/model.rb#1098 sig do params( loc: T.nilable(::RBI::Loc), @@ -3465,7 +3492,7 @@ class RBI::TEnumBlock < ::RBI::Scope end def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#1009 + # source://rbi//lib/rbi/model.rb#1105 sig { override.returns(::String) } def fully_qualified_name; end @@ -3473,18 +3500,18 @@ class RBI::TEnumBlock < ::RBI::Scope sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1015 + # source://rbi//lib/rbi/model.rb#1111 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#1020 +# source://rbi//lib/rbi/model.rb#1116 class RBI::TEnumValue < ::RBI::NodeWithComments include ::RBI::Indexable # @return [TEnumValue] a new instance of TEnumValue # - # source://rbi//lib/rbi/model.rb#1025 + # source://rbi//lib/rbi/model.rb#1121 sig do params( name: ::String, @@ -3495,7 +3522,7 @@ class RBI::TEnumValue < ::RBI::NodeWithComments end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#1032 + # source://rbi//lib/rbi/model.rb#1128 sig { returns(::String) } def fully_qualified_name; end @@ -3503,22 +3530,22 @@ class RBI::TEnumValue < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1022 + # source://rbi//lib/rbi/model.rb#1118 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#1038 + # source://rbi//lib/rbi/model.rb#1134 sig { override.returns(::String) } def to_s; end end # Sorbet's T::Struct # -# source://rbi//lib/rbi/model.rb#916 +# source://rbi//lib/rbi/model.rb#1000 class RBI::TStruct < ::RBI::Class # @return [TStruct] a new instance of TStruct # - # source://rbi//lib/rbi/model.rb#918 + # source://rbi//lib/rbi/model.rb#1002 sig do params( name: ::String, @@ -3530,13 +3557,13 @@ class RBI::TStruct < ::RBI::Class def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi//lib/rbi/model.rb#948 +# source://rbi//lib/rbi/model.rb#1032 class RBI::TStructConst < ::RBI::TStructField include ::RBI::Indexable # @return [TStructConst] a new instance of TStructConst # - # source://rbi//lib/rbi/model.rb#950 + # source://rbi//lib/rbi/model.rb#1040 sig do params( name: ::String, @@ -3551,11 +3578,11 @@ class RBI::TStructConst < ::RBI::TStructField # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#528 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#545 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#957 + # source://rbi//lib/rbi/model.rb#1047 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end @@ -3563,20 +3590,20 @@ class RBI::TStructConst < ::RBI::TStructField sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#964 + # source://rbi//lib/rbi/model.rb#1054 sig { override.returns(::String) } def to_s; end end # @abstract # -# source://rbi//lib/rbi/model.rb#925 +# source://rbi//lib/rbi/model.rb#1009 class RBI::TStructField < ::RBI::NodeWithComments abstract! # @return [TStructField] a new instance of TStructField # - # source://rbi//lib/rbi/model.rb#936 + # source://rbi//lib/rbi/model.rb#1020 sig do params( name: ::String, @@ -3590,45 +3617,46 @@ class RBI::TStructField < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#520 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#537 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#933 + # source://rbi//lib/rbi/model.rb#1017 sig { returns(T.nilable(::String)) } def default; end - # source://rbi//lib/rbi/model.rb#933 + # source://rbi//lib/rbi/model.rb#1017 def default=(_arg0); end # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/model.rb#945 + # source://rbi//lib/rbi/model.rb#1029 sig { abstract.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi//lib/rbi/model.rb#927 + # source://rbi//lib/rbi/model.rb#1011 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#927 + # source://rbi//lib/rbi/model.rb#1011 def name=(_arg0); end - # source://rbi//lib/rbi/model.rb#930 + # source://rbi//lib/rbi/model.rb#1014 sig { returns(T.any(::RBI::Type, ::String)) } def type; end - # source://rbi//lib/rbi/model.rb#930 + # source://rbi//lib/rbi/model.rb#1014 def type=(_arg0); end end -# source://rbi//lib/rbi/model.rb#969 +# source://rbi//lib/rbi/model.rb#1059 class RBI::TStructProp < ::RBI::TStructField include ::RBI::Indexable # @return [TStructProp] a new instance of TStructProp # - # source://rbi//lib/rbi/model.rb#971 + # source://rbi//lib/rbi/model.rb#1067 sig do params( name: ::String, @@ -3643,11 +3671,11 @@ class RBI::TStructProp < ::RBI::TStructField # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#536 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#553 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#978 + # source://rbi//lib/rbi/model.rb#1074 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end @@ -3655,7 +3683,7 @@ class RBI::TStructProp < ::RBI::TStructField sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#985 + # source://rbi//lib/rbi/model.rb#1081 sig { override.returns(::String) } def to_s; end end @@ -3686,61 +3714,6 @@ class RBI::Tree < ::RBI::NodeWithComments sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void } def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end - sig do - params( - name: ::String, - superclass_name: T.nilable(::String), - block: T.nilable(T.proc.params(scope: ::RBI::Scope).void) - ).returns(::RBI::Scope) - end - def create_class(name, superclass_name: T.unsafe(nil), &block); end - - sig { params(name: ::String, value: ::String).void } - def create_constant(name, value:); end - - sig { params(name: ::String).void } - def create_extend(name); end - - sig { params(name: ::String).void } - def create_include(name); end - - sig do - params( - name: ::String, - parameters: T::Array[::RBI::TypedParam], - return_type: T.nilable(::String), - class_method: T::Boolean, - visibility: ::RBI::Visibility, - comments: T::Array[::RBI::Comment], - block: T.nilable(T.proc.params(node: ::RBI::Method).void) - ).void - end - def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil), &block); end - - sig { params(name: ::String).void } - def create_mixes_in_class_methods(name); end - - sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) } - def create_module(name, &block); end - - sig { params(node: ::RBI::Node).returns(::RBI::Node) } - def create_node(node); end - - sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) } - def create_path(constant, &block); end - - sig do - params( - name: ::String, - type: ::String, - variance: ::Symbol, - fixed: T.nilable(::String), - upper: T.nilable(::String), - lower: T.nilable(::String) - ).void - end - def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end - # source://rbi//lib/rbi/rewriters/deannotate.rb#38 sig { params(annotation: ::String).void } def deannotate!(annotation); end @@ -3771,7 +3744,7 @@ class RBI::Tree < ::RBI::NodeWithComments sig { returns(::RBI::Index) } def index; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#323 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#336 sig do params( other: ::RBI::Tree, @@ -3798,9 +3771,6 @@ class RBI::Tree < ::RBI::NodeWithComments sig { returns(T::Array[::RBI::Node]) } def nodes; end - sig { returns(T::Hash[::String, ::RBI::Node]) } - def nodes_cache; end - # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#50 sig { void } def replace_attributes_with_methods!; end @@ -3824,23 +3794,24 @@ class RBI::Type # @return [Type] a new instance of Type # - # source://rbi//lib/rbi/type.rb#905 + # source://rbi//lib/rbi/type.rb#993 sig { void } def initialize; end # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/type.rb#976 + # source://rbi//lib/rbi/type.rb#1064 sig { abstract.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end # @return [Boolean] # - # source://rbi//lib/rbi/type.rb#979 + # source://rbi//lib/rbi/type.rb#1067 sig { params(other: ::BasicObject).returns(T::Boolean) } def eql?(other); end - # source://rbi//lib/rbi/type.rb#985 + # source://rbi//lib/rbi/type.rb#1073 sig { override.returns(::Integer) } def hash; end @@ -3850,11 +3821,11 @@ class RBI::Type # ```ruby # type = RBI::Type.simple("String") # type.to_rbi # => "String" - # type.nilable.to_rbi # => "T.nilable(String)" - # type.nilable.nilable.to_rbi # => "T.nilable(String)" + # type.nilable.to_rbi # => "::T.nilable(String)" + # type.nilable.nilable.to_rbi # => "::T.nilable(String)" # ``` # - # source://rbi//lib/rbi/type.rb#919 + # source://rbi//lib/rbi/type.rb#1007 sig { returns(::RBI::Type) } def nilable; end @@ -3862,7 +3833,7 @@ class RBI::Type # # @return [Boolean] # - # source://rbi//lib/rbi/type.rb#946 + # source://rbi//lib/rbi/type.rb#1034 sig { returns(T::Boolean) } def nilable?; end @@ -3872,12 +3843,12 @@ class RBI::Type # # ```ruby # type = RBI::Type.nilable(RBI::Type.simple("String")) - # type.to_rbi # => "T.nilable(String)" + # type.to_rbi # => "::T.nilable(String)" # type.non_nilable.to_rbi # => "String" # type.non_nilable.non_nilable.to_rbi # => "String" # ``` # - # source://rbi//lib/rbi/type.rb#934 + # source://rbi//lib/rbi/type.rb#1022 sig { returns(::RBI::Type) } def non_nilable; end @@ -3891,12 +3862,13 @@ class RBI::Type # # # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/type.rb#960 + # source://rbi//lib/rbi/type.rb#1048 sig { abstract.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/rbs_printer.rb#1240 + # source://rbi//lib/rbi/rbs_printer.rb#1261 sig { returns(::String) } def rbs_string; end @@ -3910,18 +3882,20 @@ class RBI::Type # # # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/type.rb#972 + # source://rbi//lib/rbi/type.rb#1060 sig { abstract.returns(::RBI::Type) } def simplify; end # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/type.rb#991 + # source://rbi//lib/rbi/type.rb#1079 sig { abstract.returns(::String) } def to_rbi; end - # source://rbi//lib/rbi/type.rb#995 + # source://rbi//lib/rbi/type.rb#1083 sig { override.returns(::String) } def to_s; end @@ -3931,7 +3905,7 @@ class RBI::Type # Note that this method transforms types such as `T.all(String, String)` into `String`, so # it may return something other than a `All`. # - # source://rbi//lib/rbi/type.rb#847 + # source://rbi//lib/rbi/type.rb#929 sig { params(type1: ::RBI::Type, type2: ::RBI::Type, types: ::RBI::Type).returns(::RBI::Type) } def all(type1, type2, *types); end @@ -3940,37 +3914,37 @@ class RBI::Type # Note that this method transforms types such as `T.any(String, NilClass)` into `T.nilable(String)`, so # it may return something other than a `Any`. # - # source://rbi//lib/rbi/type.rb#856 + # source://rbi//lib/rbi/type.rb#938 sig { params(type1: ::RBI::Type, type2: ::RBI::Type, types: ::RBI::Type).returns(::RBI::Type) } def any(type1, type2, *types); end # Builds a type that represents `T.anything`. # - # source://rbi//lib/rbi/type.rb#778 + # source://rbi//lib/rbi/type.rb#854 sig { returns(::RBI::Type::Anything) } def anything; end # Builds a type that represents `T.attached_class`. # - # source://rbi//lib/rbi/type.rb#784 + # source://rbi//lib/rbi/type.rb#860 sig { returns(::RBI::Type::AttachedClass) } def attached_class; end # Builds a type that represents `T::Boolean`. # - # source://rbi//lib/rbi/type.rb#790 + # source://rbi//lib/rbi/type.rb#866 sig { returns(::RBI::Type::Boolean) } def boolean; end # Builds a type that represents the singleton class of another type like `T.class_of(Foo)`. # - # source://rbi//lib/rbi/type.rb#828 + # source://rbi//lib/rbi/type.rb#910 sig { params(type: ::RBI::Type::Simple, type_parameter: T.nilable(::RBI::Type)).returns(::RBI::Type::ClassOf) } def class_of(type, type_parameter = T.unsafe(nil)); end # Builds a type that represents a generic type like `T::Array[String]` or `T::Hash[Symbol, Integer]`. # - # source://rbi//lib/rbi/type.rb#864 + # source://rbi//lib/rbi/type.rb#946 sig { params(name: ::String, params: T.any(::RBI::Type, T::Array[::RBI::Type])).returns(::RBI::Type::Generic) } def generic(name, *params); end @@ -3979,13 +3953,13 @@ class RBI::Type # Note that this method transforms types such as `T.nilable(T.untyped)` into `T.untyped`, so # it may return something other than a `RBI::Type::Nilable`. # - # source://rbi//lib/rbi/type.rb#837 + # source://rbi//lib/rbi/type.rb#919 sig { params(type: ::RBI::Type).returns(::RBI::Type) } def nilable(type); end # Builds a type that represents `T.noreturn`. # - # source://rbi//lib/rbi/type.rb#796 + # source://rbi//lib/rbi/type.rb#872 sig { returns(::RBI::Type::NoReturn) } def noreturn; end @@ -4001,19 +3975,19 @@ class RBI::Type # Builds a type that represents a proc type like `T.proc.void`. # - # source://rbi//lib/rbi/type.rb#892 + # source://rbi//lib/rbi/type.rb#980 sig { returns(::RBI::Type::Proc) } def proc; end # Builds a type that represents `T.self_type`. # - # source://rbi//lib/rbi/type.rb#802 + # source://rbi//lib/rbi/type.rb#878 sig { returns(::RBI::Type::SelfType) } def self_type; end # Builds a type that represents a shape type like `{name: String, age: Integer}`. # - # source://rbi//lib/rbi/type.rb#884 + # source://rbi//lib/rbi/type.rb#972 sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).returns(::RBI::Type::Shape) } def shape(types = T.unsafe(nil)); end @@ -4023,111 +3997,139 @@ class RBI::Type # # @raise [NameError] # - # source://rbi//lib/rbi/type.rb#767 + # source://rbi//lib/rbi/type.rb#843 sig { params(name: ::String).returns(::RBI::Type::Simple) } def simple(name); end # Builds a type that represents the class of another type like `T::Class[Foo]`. # - # source://rbi//lib/rbi/type.rb#822 + # source://rbi//lib/rbi/type.rb#898 sig { params(type: ::RBI::Type).returns(::RBI::Type::Class) } def t_class(type); end + # Builds a type that represents the module of another type like `T::Module[Foo]`. + # + # source://rbi//lib/rbi/type.rb#904 + sig { params(type: ::RBI::Type).returns(::RBI::Type::Module) } + def t_module(type); end + # Builds a type that represents a tuple type like `[String, Integer]`. # - # source://rbi//lib/rbi/type.rb#878 + # source://rbi//lib/rbi/type.rb#966 sig { params(types: T.any(::RBI::Type, T::Array[::RBI::Type])).returns(::RBI::Type::Tuple) } def tuple(*types); end + # Builds a type that represents a type alias like `MyTypeAlias`. + # + # source://rbi//lib/rbi/type.rb#958 + sig { params(name: ::String, aliased_type: ::RBI::Type).returns(::RBI::Type::TypeAlias) } + def type_alias(name, aliased_type); end + # Builds a type that represents a type parameter like `T.type_parameter(:U)`. # - # source://rbi//lib/rbi/type.rb#870 + # source://rbi//lib/rbi/type.rb#952 sig { params(name: ::Symbol).returns(::RBI::Type::TypeParameter) } def type_parameter(name); end # Builds a type that represents `T.untyped`. # - # source://rbi//lib/rbi/type.rb#808 + # source://rbi//lib/rbi/type.rb#884 sig { returns(::RBI::Type::Untyped) } def untyped; end # Builds a type that represents `void`. # - # source://rbi//lib/rbi/type.rb#814 + # source://rbi//lib/rbi/type.rb#890 sig { returns(::RBI::Type::Void) } def void; end private - # source://rbi//lib/rbi/type_parser.rb#289 + # source://rbi//lib/rbi/type_parser.rb#322 sig { params(node: ::Prism::CallNode).returns(T::Array[::Prism::Node]) } def call_chain(node); end - # source://rbi//lib/rbi/type_parser.rb#276 + # source://rbi//lib/rbi/type_parser.rb#309 sig { params(node: ::Prism::CallNode, count: ::Integer).returns(T::Array[::Prism::Node]) } def check_arguments_at_least!(node, count); end - # source://rbi//lib/rbi/type_parser.rb#261 + # source://rbi//lib/rbi/type_parser.rb#294 sig { params(node: ::Prism::CallNode, count: ::Integer).returns(T::Array[::Prism::Node]) } def check_arguments_exactly!(node, count); end # @raise [Error] # - # source://rbi//lib/rbi/type_parser.rb#71 + # source://rbi//lib/rbi/type_parser.rb#96 sig { params(node: ::Prism::CallNode).returns(::RBI::Type) } def parse_call(node); end - # source://rbi//lib/rbi/type_parser.rb#54 + # source://rbi//lib/rbi/type_parser.rb#56 sig { params(node: T.any(::Prism::ConstantPathNode, ::Prism::ConstantReadNode)).returns(::RBI::Type) } def parse_constant(node); end + # source://rbi//lib/rbi/type_parser.rb#73 + sig { params(node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode)).returns(::RBI::Type) } + def parse_constant_assignment(node); end + # @raise [Error] # - # source://rbi//lib/rbi/type_parser.rb#211 + # source://rbi//lib/rbi/type_parser.rb#244 sig { params(node: ::Prism::CallNode).returns(::RBI::Type) } def parse_proc(node); end - # source://rbi//lib/rbi/type_parser.rb#190 + # source://rbi//lib/rbi/type_parser.rb#223 sig { params(node: T.any(::Prism::HashNode, ::Prism::KeywordHashNode)).returns(::RBI::Type) } def parse_shape(node); end - # source://rbi//lib/rbi/type_parser.rb#185 + # source://rbi//lib/rbi/type_parser.rb#218 sig { params(node: ::Prism::ArrayNode).returns(::RBI::Type) } def parse_tuple(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type_parser.rb#302 + # source://rbi//lib/rbi/type_parser.rb#335 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def t?(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type_parser.rb#314 + # source://rbi//lib/rbi/type_parser.rb#354 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def t_boolean?(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type_parser.rb#321 + # source://rbi//lib/rbi/type_parser.rb#361 sig { params(node: ::Prism::ConstantPathNode).returns(T::Boolean) } def t_class?(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type_parser.rb#326 + # source://rbi//lib/rbi/type_parser.rb#371 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def t_class_of?(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type_parser.rb#333 + # source://rbi//lib/rbi/type_parser.rb#366 + sig { params(node: ::Prism::ConstantPathNode).returns(T::Boolean) } + def t_module?(node); end + + # @return [Boolean] + # + # source://rbi//lib/rbi/type_parser.rb#378 sig { params(node: ::Prism::CallNode).returns(T::Boolean) } def t_proc?(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type.rb#899 + # source://rbi//lib/rbi/type_parser.rb#347 + sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } + def t_type_alias?(node); end + + # @return [Boolean] + # + # source://rbi//lib/rbi/type.rb#987 sig { params(name: ::String).returns(T::Boolean) } def valid_identifier?(name); end end @@ -4135,40 +4137,40 @@ end # A type that is intersection of multiple types like `T.all(String, Integer)`. # -# source://rbi//lib/rbi/type.rb#384 +# source://rbi//lib/rbi/type.rb#420 class RBI::Type::All < ::RBI::Type::Composite - # source://rbi//lib/rbi/type.rb#393 + # source://rbi//lib/rbi/type.rb#429 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#413 + # source://rbi//lib/rbi/type.rb#449 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#387 + # source://rbi//lib/rbi/type.rb#423 sig { override.returns(::String) } def to_rbi; end end # A type that is union of multiple types like `T.any(String, Integer)`. # -# source://rbi//lib/rbi/type.rb#426 +# source://rbi//lib/rbi/type.rb#462 class RBI::Type::Any < ::RBI::Type::Composite # @return [Boolean] # - # source://rbi//lib/rbi/type.rb#434 + # source://rbi//lib/rbi/type.rb#470 sig { returns(T::Boolean) } def nilable?; end - # source://rbi//lib/rbi/type.rb#440 + # source://rbi//lib/rbi/type.rb#476 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#460 + # source://rbi//lib/rbi/type.rb#496 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#429 + # source://rbi//lib/rbi/type.rb#465 sig { override.returns(::String) } def to_rbi; end end @@ -4269,35 +4271,35 @@ end # The singleton class of another type like `T.class_of(Foo)`. # -# source://rbi//lib/rbi/type.rb#278 +# source://rbi//lib/rbi/type.rb#314 class RBI::Type::ClassOf < ::RBI::Type # @return [ClassOf] a new instance of ClassOf # - # source://rbi//lib/rbi/type.rb#286 + # source://rbi//lib/rbi/type.rb#322 sig { params(type: ::RBI::Type::Simple, type_parameter: T.nilable(::RBI::Type)).void } def initialize(type, type_parameter = T.unsafe(nil)); end - # source://rbi//lib/rbi/type.rb#294 + # source://rbi//lib/rbi/type.rb#330 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/type.rb#310 + # source://rbi//lib/rbi/type.rb#346 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#316 + # source://rbi//lib/rbi/type.rb#352 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#300 + # source://rbi//lib/rbi/type.rb#336 sig { override.returns(::String) } def to_rbi; end - # source://rbi//lib/rbi/type.rb#280 + # source://rbi//lib/rbi/type.rb#316 sig { returns(::RBI::Type::Simple) } def type; end - # source://rbi//lib/rbi/type.rb#283 + # source://rbi//lib/rbi/type.rb#319 sig { returns(T.nilable(::RBI::Type)) } def type_parameter; end end @@ -4306,21 +4308,21 @@ end # # @abstract # -# source://rbi//lib/rbi/type.rb#366 +# source://rbi//lib/rbi/type.rb#402 class RBI::Type::Composite < ::RBI::Type abstract! # @return [Composite] a new instance of Composite # - # source://rbi//lib/rbi/type.rb#371 + # source://rbi//lib/rbi/type.rb#407 sig { params(types: T::Array[::RBI::Type]).void } def initialize(types); end - # source://rbi//lib/rbi/type.rb#378 + # source://rbi//lib/rbi/type.rb#414 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/type.rb#368 + # source://rbi//lib/rbi/type.rb#404 sig { returns(T::Array[::RBI::Type]) } def types; end end @@ -4330,66 +4332,97 @@ class RBI::Type::Error < ::RBI::Error; end # A generic type like `T::Array[String]` or `T::Hash[Symbol, Integer]`. # -# source://rbi//lib/rbi/type.rb#511 +# source://rbi//lib/rbi/type.rb#547 class RBI::Type::Generic < ::RBI::Type # @return [Generic] a new instance of Generic # - # source://rbi//lib/rbi/type.rb#519 + # source://rbi//lib/rbi/type.rb#555 sig { params(name: ::String, params: ::RBI::Type).void } def initialize(name, *params); end - # source://rbi//lib/rbi/type.rb#527 + # source://rbi//lib/rbi/type.rb#563 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/type.rb#513 + # source://rbi//lib/rbi/type.rb#549 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/type.rb#539 + # source://rbi//lib/rbi/type.rb#575 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#516 + # source://rbi//lib/rbi/type.rb#552 sig { returns(T::Array[::RBI::Type]) } def params; end - # source://rbi//lib/rbi/type.rb#545 + # source://rbi//lib/rbi/type.rb#581 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#533 + # source://rbi//lib/rbi/type.rb#569 sig { override.returns(::String) } def to_rbi; end end +# The module of another type like `T::Module[Foo]`. +# +# source://rbi//lib/rbi/type.rb#278 +class RBI::Type::Module < ::RBI::Type + # @return [Module] a new instance of Module + # + # source://rbi//lib/rbi/type.rb#283 + sig { params(type: ::RBI::Type).void } + def initialize(type); end + + # source://rbi//lib/rbi/type.rb#290 + sig { override.params(other: ::BasicObject).returns(T::Boolean) } + def ==(other); end + + # source://rbi//lib/rbi/type.rb#302 + sig { override.returns(::RBI::Type) } + def normalize; end + + # source://rbi//lib/rbi/type.rb#308 + sig { override.returns(::RBI::Type) } + def simplify; end + + # source://rbi//lib/rbi/type.rb#296 + sig { override.returns(::String) } + def to_rbi; end + + # source://rbi//lib/rbi/type.rb#280 + sig { returns(::RBI::Type) } + def type; end +end + # A type that can be `nil` like `T.nilable(String)`. # -# source://rbi//lib/rbi/type.rb#322 +# source://rbi//lib/rbi/type.rb#358 class RBI::Type::Nilable < ::RBI::Type # @return [Nilable] a new instance of Nilable # - # source://rbi//lib/rbi/type.rb#327 + # source://rbi//lib/rbi/type.rb#363 sig { params(type: ::RBI::Type).void } def initialize(type); end - # source://rbi//lib/rbi/type.rb#334 + # source://rbi//lib/rbi/type.rb#370 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/type.rb#346 + # source://rbi//lib/rbi/type.rb#382 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#352 + # source://rbi//lib/rbi/type.rb#388 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#340 + # source://rbi//lib/rbi/type.rb#376 sig { override.returns(::String) } def to_rbi; end - # source://rbi//lib/rbi/type.rb#324 + # source://rbi//lib/rbi/type.rb#360 sig { returns(::RBI::Type) } def type; end end @@ -4417,55 +4450,55 @@ end # A proc type like `T.proc.void`. # -# source://rbi//lib/rbi/type.rb#667 +# source://rbi//lib/rbi/type.rb#743 class RBI::Type::Proc < ::RBI::Type # @return [Proc] a new instance of Proc # - # source://rbi//lib/rbi/type.rb#678 + # source://rbi//lib/rbi/type.rb#754 sig { void } def initialize; end - # source://rbi//lib/rbi/type.rb#687 + # source://rbi//lib/rbi/type.rb#763 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/type.rb#715 + # source://rbi//lib/rbi/type.rb#791 sig { params(type: T.untyped).returns(T.self_type) } def bind(type); end - # source://rbi//lib/rbi/type.rb#747 + # source://rbi//lib/rbi/type.rb#823 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#697 + # source://rbi//lib/rbi/type.rb#773 sig { params(params: ::RBI::Type).returns(T.self_type) } def params(**params); end - # source://rbi//lib/rbi/type.rb#675 + # source://rbi//lib/rbi/type.rb#751 sig { returns(T.nilable(::RBI::Type)) } def proc_bind; end - # source://rbi//lib/rbi/type.rb#669 + # source://rbi//lib/rbi/type.rb#745 sig { returns(T::Hash[::Symbol, ::RBI::Type]) } def proc_params; end - # source://rbi//lib/rbi/type.rb#672 + # source://rbi//lib/rbi/type.rb#748 sig { returns(::RBI::Type) } def proc_returns; end - # source://rbi//lib/rbi/type.rb#703 + # source://rbi//lib/rbi/type.rb#779 sig { params(type: T.untyped).returns(T.self_type) } def returns(type); end - # source://rbi//lib/rbi/type.rb#753 + # source://rbi//lib/rbi/type.rb#829 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#722 + # source://rbi//lib/rbi/type.rb#798 sig { override.returns(::String) } def to_rbi; end - # source://rbi//lib/rbi/type.rb#709 + # source://rbi//lib/rbi/type.rb#785 sig { returns(T.self_type) } def void; end end @@ -4493,31 +4526,31 @@ end # A shape type like `{name: String, age: Integer}`. # -# source://rbi//lib/rbi/type.rb#625 +# source://rbi//lib/rbi/type.rb#701 class RBI::Type::Shape < ::RBI::Type # @return [Shape] a new instance of Shape # - # source://rbi//lib/rbi/type.rb#630 + # source://rbi//lib/rbi/type.rb#706 sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).void } def initialize(types); end - # source://rbi//lib/rbi/type.rb#637 + # source://rbi//lib/rbi/type.rb#713 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/type.rb#653 + # source://rbi//lib/rbi/type.rb#729 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#659 + # source://rbi//lib/rbi/type.rb#735 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#643 + # source://rbi//lib/rbi/type.rb#719 sig { override.returns(::String) } def to_rbi; end - # source://rbi//lib/rbi/type.rb#627 + # source://rbi//lib/rbi/type.rb#703 sig { returns(T::Hash[T.any(::String, ::Symbol), ::RBI::Type]) } def types; end end @@ -4557,62 +4590,97 @@ end # A tuple type like `[String, Integer]`. # -# source://rbi//lib/rbi/type.rb#589 +# source://rbi//lib/rbi/type.rb#665 class RBI::Type::Tuple < ::RBI::Type # @return [Tuple] a new instance of Tuple # - # source://rbi//lib/rbi/type.rb#594 + # source://rbi//lib/rbi/type.rb#670 sig { params(types: T::Array[::RBI::Type]).void } def initialize(types); end - # source://rbi//lib/rbi/type.rb#601 + # source://rbi//lib/rbi/type.rb#677 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/type.rb#613 + # source://rbi//lib/rbi/type.rb#689 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#619 + # source://rbi//lib/rbi/type.rb#695 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#607 + # source://rbi//lib/rbi/type.rb#683 sig { override.returns(::String) } def to_rbi; end - # source://rbi//lib/rbi/type.rb#591 + # source://rbi//lib/rbi/type.rb#667 sig { returns(T::Array[::RBI::Type]) } def types; end end +# A type alias that references another type by name like `MyTypeAlias`. +# +# source://rbi//lib/rbi/type.rb#623 +class RBI::Type::TypeAlias < ::RBI::Type + # @return [TypeAlias] a new instance of TypeAlias + # + # source://rbi//lib/rbi/type.rb#631 + sig { params(name: ::String, aliased_type: ::RBI::Type).void } + def initialize(name, aliased_type); end + + # source://rbi//lib/rbi/type.rb#639 + sig { override.params(other: ::BasicObject).returns(T::Boolean) } + def ==(other); end + + # source://rbi//lib/rbi/type.rb#628 + sig { returns(::RBI::Type) } + def aliased_type; end + + # source://rbi//lib/rbi/type.rb#625 + sig { returns(::String) } + def name; end + + # source://rbi//lib/rbi/type.rb#651 + sig { override.returns(::RBI::Type) } + def normalize; end + + # source://rbi//lib/rbi/type.rb#657 + sig { override.returns(::RBI::Type) } + def simplify; end + + # source://rbi//lib/rbi/type.rb#645 + sig { override.returns(::String) } + def to_rbi; end +end + # A type parameter like `T.type_parameter(:U)`. # -# source://rbi//lib/rbi/type.rb#551 +# source://rbi//lib/rbi/type.rb#587 class RBI::Type::TypeParameter < ::RBI::Type # @return [TypeParameter] a new instance of TypeParameter # - # source://rbi//lib/rbi/type.rb#556 + # source://rbi//lib/rbi/type.rb#592 sig { params(name: ::Symbol).void } def initialize(name); end - # source://rbi//lib/rbi/type.rb#563 + # source://rbi//lib/rbi/type.rb#599 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/type.rb#553 + # source://rbi//lib/rbi/type.rb#589 sig { returns(::Symbol) } def name; end - # source://rbi//lib/rbi/type.rb#575 + # source://rbi//lib/rbi/type.rb#611 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#581 + # source://rbi//lib/rbi/type.rb#617 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#569 + # source://rbi//lib/rbi/type.rb#605 sig { override.returns(::String) } def to_rbi; end end @@ -4646,75 +4714,79 @@ class RBI::Type::Visitor private - # source://rbi//lib/rbi/type_visitor.rb#56 + # source://rbi//lib/rbi/type_visitor.rb#58 sig { params(type: ::RBI::Type::All).void } def visit_all(type); end - # source://rbi//lib/rbi/type_visitor.rb#59 + # source://rbi//lib/rbi/type_visitor.rb#61 sig { params(type: ::RBI::Type::Any).void } def visit_any(type); end - # source://rbi//lib/rbi/type_visitor.rb#62 + # source://rbi//lib/rbi/type_visitor.rb#64 sig { params(type: ::RBI::Type::Anything).void } def visit_anything(type); end - # source://rbi//lib/rbi/type_visitor.rb#65 + # source://rbi//lib/rbi/type_visitor.rb#67 sig { params(type: ::RBI::Type::AttachedClass).void } def visit_attached_class(type); end - # source://rbi//lib/rbi/type_visitor.rb#68 + # source://rbi//lib/rbi/type_visitor.rb#70 sig { params(type: ::RBI::Type::Boolean).void } def visit_boolean(type); end - # source://rbi//lib/rbi/type_visitor.rb#71 + # source://rbi//lib/rbi/type_visitor.rb#73 sig { params(type: ::RBI::Type::Class).void } def visit_class(type); end - # source://rbi//lib/rbi/type_visitor.rb#74 + # source://rbi//lib/rbi/type_visitor.rb#76 sig { params(type: ::RBI::Type::ClassOf).void } def visit_class_of(type); end - # source://rbi//lib/rbi/type_visitor.rb#77 + # source://rbi//lib/rbi/type_visitor.rb#79 sig { params(type: ::RBI::Type::Generic).void } def visit_generic(type); end - # source://rbi//lib/rbi/type_visitor.rb#80 + # source://rbi//lib/rbi/type_visitor.rb#82 sig { params(type: ::RBI::Type::Nilable).void } def visit_nilable(type); end - # source://rbi//lib/rbi/type_visitor.rb#86 + # source://rbi//lib/rbi/type_visitor.rb#88 sig { params(type: ::RBI::Type::NoReturn).void } def visit_no_return(type); end - # source://rbi//lib/rbi/type_visitor.rb#89 + # source://rbi//lib/rbi/type_visitor.rb#91 sig { params(type: ::RBI::Type::Proc).void } def visit_proc(type); end - # source://rbi//lib/rbi/type_visitor.rb#92 + # source://rbi//lib/rbi/type_visitor.rb#94 sig { params(type: ::RBI::Type::SelfType).void } def visit_self_type(type); end - # source://rbi//lib/rbi/type_visitor.rb#98 + # source://rbi//lib/rbi/type_visitor.rb#100 sig { params(type: ::RBI::Type::Shape).void } def visit_shape(type); end - # source://rbi//lib/rbi/type_visitor.rb#83 + # source://rbi//lib/rbi/type_visitor.rb#85 sig { params(type: ::RBI::Type::Simple).void } def visit_simple(type); end - # source://rbi//lib/rbi/type_visitor.rb#101 + # source://rbi//lib/rbi/type_visitor.rb#103 sig { params(type: ::RBI::Type::Tuple).void } def visit_tuple(type); end - # source://rbi//lib/rbi/type_visitor.rb#104 + # source://rbi//lib/rbi/type_visitor.rb#112 + sig { params(type: ::RBI::Type::TypeAlias).void } + def visit_type_alias(type); end + + # source://rbi//lib/rbi/type_visitor.rb#106 sig { params(type: ::RBI::Type::TypeParameter).void } def visit_type_parameter(type); end - # source://rbi//lib/rbi/type_visitor.rb#107 + # source://rbi//lib/rbi/type_visitor.rb#109 sig { params(type: ::RBI::Type::Untyped).void } def visit_untyped(type); end - # source://rbi//lib/rbi/type_visitor.rb#95 + # source://rbi//lib/rbi/type_visitor.rb#97 sig { params(type: ::RBI::Type::Void).void } def visit_void(type); end end @@ -4743,13 +4815,13 @@ class RBI::Type::Void < ::RBI::Type def to_rbi; end end -# source://rbi//lib/rbi/model.rb#1063 +# source://rbi//lib/rbi/model.rb#1159 class RBI::TypeMember < ::RBI::NodeWithComments include ::RBI::Indexable # @return [TypeMember] a new instance of TypeMember # - # source://rbi//lib/rbi/model.rb#1068 + # source://rbi//lib/rbi/model.rb#1164 sig do params( name: ::String, @@ -4761,7 +4833,7 @@ class RBI::TypeMember < ::RBI::NodeWithComments end def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#1076 + # source://rbi//lib/rbi/model.rb#1172 sig { returns(::String) } def fully_qualified_name; end @@ -4769,109 +4841,113 @@ class RBI::TypeMember < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1065 + # source://rbi//lib/rbi/model.rb#1161 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#1084 + # source://rbi//lib/rbi/model.rb#1180 sig { override.returns(::String) } def to_s; end - # source://rbi//lib/rbi/model.rb#1065 + # source://rbi//lib/rbi/model.rb#1161 def value; end end -# source://rbi//lib/rbi/rbs_printer.rb#982 +# source://rbi//lib/rbi/rbs_printer.rb#984 class RBI::TypePrinter # @return [TypePrinter] a new instance of TypePrinter # - # source://rbi//lib/rbi/rbs_printer.rb#987 + # source://rbi//lib/rbi/rbs_printer.rb#989 sig { params(max_line_length: T.nilable(::Integer)).void } def initialize(max_line_length: T.unsafe(nil)); end - # source://rbi//lib/rbi/rbs_printer.rb#984 + # source://rbi//lib/rbi/rbs_printer.rb#986 sig { returns(::String) } def string; end - # source://rbi//lib/rbi/rbs_printer.rb#993 + # source://rbi//lib/rbi/rbs_printer.rb#995 sig { params(node: ::RBI::Type).void } def visit(node); end - # source://rbi//lib/rbi/rbs_printer.rb#1108 + # source://rbi//lib/rbi/rbs_printer.rb#1112 sig { params(type: ::RBI::Type::All).void } def visit_all(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1118 + # source://rbi//lib/rbi/rbs_printer.rb#1122 sig { params(type: ::RBI::Type::Any).void } def visit_any(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1058 + # source://rbi//lib/rbi/rbs_printer.rb#1062 sig { params(type: ::RBI::Type::Anything).void } def visit_anything(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1083 + # source://rbi//lib/rbi/rbs_printer.rb#1087 sig { params(type: ::RBI::Type::AttachedClass).void } def visit_attached_class(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1042 + # source://rbi//lib/rbi/rbs_printer.rb#1046 sig { params(type: ::RBI::Type::Boolean).void } def visit_boolean(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1185 + # source://rbi//lib/rbi/rbs_printer.rb#1189 sig { params(type: ::RBI::Type::Class).void } def visit_class(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1101 + # source://rbi//lib/rbi/rbs_printer.rb#1105 sig { params(type: ::RBI::Type::ClassOf).void } def visit_class_of(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1047 + # source://rbi//lib/rbi/rbs_printer.rb#1051 sig { params(type: ::RBI::Type::Generic).void } def visit_generic(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1088 + # source://rbi//lib/rbi/rbs_printer.rb#1196 + sig { params(type: ::RBI::Type::Module).void } + def visit_module(type); end + + # source://rbi//lib/rbi/rbs_printer.rb#1092 sig { params(type: ::RBI::Type::Nilable).void } def visit_nilable(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1068 + # source://rbi//lib/rbi/rbs_printer.rb#1072 sig { params(type: ::RBI::Type::NoReturn).void } def visit_no_return(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1158 + # source://rbi//lib/rbi/rbs_printer.rb#1162 sig { params(type: ::RBI::Type::Proc).void } def visit_proc(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1078 + # source://rbi//lib/rbi/rbs_printer.rb#1082 sig { params(type: ::RBI::Type::SelfType).void } def visit_self_type(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1138 + # source://rbi//lib/rbi/rbs_printer.rb#1142 sig { params(type: ::RBI::Type::Shape).void } def visit_shape(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1037 + # source://rbi//lib/rbi/rbs_printer.rb#1041 sig { params(type: ::RBI::Type::Simple).void } def visit_simple(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1128 + # source://rbi//lib/rbi/rbs_printer.rb#1132 sig { params(type: ::RBI::Type::Tuple).void } def visit_tuple(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1180 + # source://rbi//lib/rbi/rbs_printer.rb#1184 sig { params(type: ::RBI::Type::TypeParameter).void } def visit_type_parameter(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1073 + # source://rbi//lib/rbi/rbs_printer.rb#1077 sig { params(type: ::RBI::Type::Untyped).void } def visit_untyped(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1063 + # source://rbi//lib/rbi/rbs_printer.rb#1067 sig { params(type: ::RBI::Type::Void).void } def visit_void(type); end private - # source://rbi//lib/rbi/rbs_printer.rb#1194 + # source://rbi//lib/rbi/rbs_printer.rb#1205 sig { params(type_name: ::String).returns(::String) } def translate_t_type(type_name); end end @@ -4911,39 +4987,39 @@ RBI::VERSION = T.let(T.unsafe(nil), String) # @abstract # -# source://rbi//lib/rbi/model.rb#693 +# source://rbi//lib/rbi/model.rb#743 class RBI::Visibility < ::RBI::NodeWithComments abstract! # @return [Visibility] a new instance of Visibility # - # source://rbi//lib/rbi/model.rb#698 + # source://rbi//lib/rbi/model.rb#748 sig { params(visibility: ::Symbol, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void } def initialize(visibility, loc: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://rbi//lib/rbi/model.rb#704 + # source://rbi//lib/rbi/model.rb#754 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end # @return [Boolean] # - # source://rbi//lib/rbi/model.rb#721 + # source://rbi//lib/rbi/model.rb#771 sig { returns(T::Boolean) } def private?; end # @return [Boolean] # - # source://rbi//lib/rbi/model.rb#716 + # source://rbi//lib/rbi/model.rb#766 sig { returns(T::Boolean) } def protected?; end # @return [Boolean] # - # source://rbi//lib/rbi/model.rb#711 + # source://rbi//lib/rbi/model.rb#761 sig { returns(T::Boolean) } def public?; end - # source://rbi//lib/rbi/model.rb#695 + # source://rbi//lib/rbi/model.rb#745 sig { returns(::Symbol) } def visibility; end end diff --git a/sorbet/rbi/gems/rbs@4.0.0.dev.4.rbi b/sorbet/rbi/gems/rbs@4.0.0.dev.5.rbi similarity index 87% rename from sorbet/rbi/gems/rbs@4.0.0.dev.4.rbi rename to sorbet/rbi/gems/rbs@4.0.0.dev.5.rbi index c515772ffb..8af4bd7a4a 100644 --- a/sorbet/rbi/gems/rbs@4.0.0.dev.4.rbi +++ b/sorbet/rbi/gems/rbs@4.0.0.dev.5.rbi @@ -1072,6 +1072,32 @@ module RBS::AST::Ruby; end # source://rbs//lib/rbs/ast/ruby/annotations.rb#6 module RBS::AST::Ruby::Annotations; end +# source://rbs//lib/rbs/ast/ruby/annotations.rb#43 +class RBS::AST::Ruby::Annotations::AliasAnnotation < ::RBS::AST::Ruby::Annotations::Base + # @return [AliasAnnotation] a new instance of AliasAnnotation + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#46 + def initialize(location:, prefix_location:, keyword_location:, type_name:, type_name_location:); end + + # Returns the value of attribute keyword_location. + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#44 + def keyword_location; end + + # source://rbs//lib/rbs/ast/ruby/annotations.rb#53 + def map_type_name; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#44 + def type_name; end + + # Returns the value of attribute type_name_location. + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#44 + def type_name_location; end +end + # source://rbs//lib/rbs/ast/ruby/annotations.rb#7 class RBS::AST::Ruby::Annotations::Base # @return [Base] a new instance of Base @@ -1093,51 +1119,108 @@ class RBS::AST::Ruby::Annotations::Base def prefix_location; end end -# source://rbs//lib/rbs/ast/ruby/annotations.rb#36 +# source://rbs//lib/rbs/ast/ruby/annotations.rb#64 +class RBS::AST::Ruby::Annotations::ClassAliasAnnotation < ::RBS::AST::Ruby::Annotations::AliasAnnotation + # source://rbs//lib/rbs/ast/ruby/annotations.rb#65 + def type_fingerprint; end +end + +# source://rbs//lib/rbs/ast/ruby/annotations.rb#82 class RBS::AST::Ruby::Annotations::ColonMethodTypeAnnotation < ::RBS::AST::Ruby::Annotations::Base # @return [ColonMethodTypeAnnotation] a new instance of ColonMethodTypeAnnotation # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#39 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#85 def initialize(location:, prefix_location:, annotations:, method_type:); end # Returns the value of attribute annotations. # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#37 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#83 def annotations; end - # source://rbs//lib/rbs/ast/ruby/annotations.rb#45 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#91 def map_type_name; end # Returns the value of attribute method_type. # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#37 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#83 def method_type; end + + # source://rbs//lib/rbs/ast/ruby/annotations.rb#100 + def type_fingerprint; end end -# source://rbs//lib/rbs/ast/ruby/annotations.rb#55 +# source://rbs//lib/rbs/ast/ruby/annotations.rb#220 +class RBS::AST::Ruby::Annotations::InstanceVariableAnnotation < ::RBS::AST::Ruby::Annotations::Base + # @return [InstanceVariableAnnotation] a new instance of InstanceVariableAnnotation + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#223 + def initialize(location:, prefix_location:, ivar_name:, ivar_name_location:, colon_location:, type:, comment_location:); end + + # Returns the value of attribute colon_location. + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#221 + def colon_location; end + + # Returns the value of attribute comment_location. + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#221 + def comment_location; end + + # Returns the value of attribute ivar_name. + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#221 + def ivar_name; end + + # Returns the value of attribute ivar_name_location. + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#221 + def ivar_name_location; end + + # source://rbs//lib/rbs/ast/ruby/annotations.rb#232 + def map_type_name(&block); end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#221 + def type; end + + # source://rbs//lib/rbs/ast/ruby/annotations.rb#244 + def type_fingerprint; end +end + +# source://rbs//lib/rbs/ast/ruby/annotations.rb#109 class RBS::AST::Ruby::Annotations::MethodTypesAnnotation < ::RBS::AST::Ruby::Annotations::Base # @return [MethodTypesAnnotation] a new instance of MethodTypesAnnotation # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#60 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#114 def initialize(location:, prefix_location:, overloads:, vertical_bar_locations:); end - # source://rbs//lib/rbs/ast/ruby/annotations.rb#66 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#120 def map_type_name(&block); end # Returns the value of attribute overloads. # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#58 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#112 def overloads; end + # source://rbs//lib/rbs/ast/ruby/annotations.rb#131 + def type_fingerprint; end + # Returns the value of attribute vertical_bar_locations. # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#58 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#112 def vertical_bar_locations; end end -# source://rbs//lib/rbs/ast/ruby/annotations.rb#56 +# source://rbs//lib/rbs/ast/ruby/annotations.rb#110 RBS::AST::Ruby::Annotations::MethodTypesAnnotation::Overload = RBS::AST::Members::MethodDefinition::Overload +# source://rbs//lib/rbs/ast/ruby/annotations.rb#73 +class RBS::AST::Ruby::Annotations::ModuleAliasAnnotation < ::RBS::AST::Ruby::Annotations::AliasAnnotation + # source://rbs//lib/rbs/ast/ruby/annotations.rb#74 + def type_fingerprint; end +end + # source://rbs//lib/rbs/ast/ruby/annotations.rb#20 class RBS::AST::Ruby::Annotations::NodeTypeAssertion < ::RBS::AST::Ruby::Annotations::Base # @return [NodeTypeAssertion] a new instance of NodeTypeAssertion @@ -1152,55 +1235,93 @@ class RBS::AST::Ruby::Annotations::NodeTypeAssertion < ::RBS::AST::Ruby::Annotat # # source://rbs//lib/rbs/ast/ruby/annotations.rb#21 def type; end + + # source://rbs//lib/rbs/ast/ruby/annotations.rb#35 + def type_fingerprint; end end -# source://rbs//lib/rbs/ast/ruby/annotations.rb#88 +# source://rbs//lib/rbs/ast/ruby/annotations.rb#153 class RBS::AST::Ruby::Annotations::ReturnTypeAnnotation < ::RBS::AST::Ruby::Annotations::Base # @return [ReturnTypeAnnotation] a new instance of ReturnTypeAnnotation # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#97 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#162 def initialize(location:, prefix_location:, return_location:, colon_location:, return_type:, comment_location:); end # Returns the value of attribute colon_location. # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#91 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#156 def colon_location; end # Returns the value of attribute comment_location. # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#95 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#160 def comment_location; end - # source://rbs//lib/rbs/ast/ruby/annotations.rb#105 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#170 def map_type_name(&block); end # Returns the value of attribute return_location. # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#89 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#154 def return_location; end # Returns the value of attribute return_type. # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#93 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#158 def return_type; end + + # source://rbs//lib/rbs/ast/ruby/annotations.rb#181 + def type_fingerprint; end end -# source://rbs//lib/rbs/ast/ruby/annotations.rb#78 +# source://rbs//lib/rbs/ast/ruby/annotations.rb#139 class RBS::AST::Ruby::Annotations::SkipAnnotation < ::RBS::AST::Ruby::Annotations::Base # @return [SkipAnnotation] a new instance of SkipAnnotation # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#81 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#142 def initialize(location:, prefix_location:, skip_location:, comment_location:); end # Returns the value of attribute comment_location. # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#79 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#140 def comment_location; end # Returns the value of attribute skip_location. # - # source://rbs//lib/rbs/ast/ruby/annotations.rb#79 + # source://rbs//lib/rbs/ast/ruby/annotations.rb#140 def skip_location; end + + # source://rbs//lib/rbs/ast/ruby/annotations.rb#148 + def type_fingerprint; end +end + +# source://rbs//lib/rbs/ast/ruby/annotations.rb#190 +class RBS::AST::Ruby::Annotations::TypeApplicationAnnotation < ::RBS::AST::Ruby::Annotations::Base + # @return [TypeApplicationAnnotation] a new instance of TypeApplicationAnnotation + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#193 + def initialize(location:, prefix_location:, type_args:, close_bracket_location:, comma_locations:); end + + # Returns the value of attribute close_bracket_location. + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#191 + def close_bracket_location; end + + # Returns the value of attribute comma_locations. + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#191 + def comma_locations; end + + # source://rbs//lib/rbs/ast/ruby/annotations.rb#200 + def map_type_name(&block); end + + # Returns the value of attribute type_args. + # + # source://rbs//lib/rbs/ast/ruby/annotations.rb#191 + def type_args; end + + # source://rbs//lib/rbs/ast/ruby/annotations.rb#212 + def type_fingerprint; end end # source://rbs//lib/rbs/ast/ruby/comment_block.rb#6 @@ -1210,12 +1331,15 @@ class RBS::AST::Ruby::CommentBlock # source://rbs//lib/rbs/ast/ruby/comment_block.rb#9 def initialize(source_buffer, comments); end + # source://rbs//lib/rbs/ast/ruby/comment_block.rb#226 + def as_comment; end + # Returns the value of attribute comment_buffer. # # source://rbs//lib/rbs/ast/ruby/comment_block.rb#7 def comment_buffer; end - # source://rbs//lib/rbs/ast/ruby/comment_block.rb#204 + # source://rbs//lib/rbs/ast/ruby/comment_block.rb#211 def comments; end # source://rbs//lib/rbs/ast/ruby/comment_block.rb#98 @@ -1231,7 +1355,7 @@ class RBS::AST::Ruby::CommentBlock # @return [Boolean] # - # source://rbs//lib/rbs/ast/ruby/comment_block.rb#208 + # source://rbs//lib/rbs/ast/ruby/comment_block.rb#215 def leading_annotation?(index); end # source://rbs//lib/rbs/ast/ruby/comment_block.rb#174 @@ -1240,6 +1364,9 @@ class RBS::AST::Ruby::CommentBlock # source://rbs//lib/rbs/ast/ruby/comment_block.rb#54 def line_starts; end + # source://rbs//lib/rbs/ast/ruby/comment_block.rb#180 + def location; end + # Returns the value of attribute name. # # source://rbs//lib/rbs/ast/ruby/comment_block.rb#7 @@ -1250,7 +1377,7 @@ class RBS::AST::Ruby::CommentBlock # source://rbs//lib/rbs/ast/ruby/comment_block.rb#7 def offsets; end - # source://rbs//lib/rbs/ast/ruby/comment_block.rb#180 + # source://rbs//lib/rbs/ast/ruby/comment_block.rb#187 def parse_annotation_lines(start_line, end_line, variables); end # source://rbs//lib/rbs/ast/ruby/comment_block.rb#46 @@ -1264,7 +1391,7 @@ class RBS::AST::Ruby::CommentBlock # source://rbs//lib/rbs/ast/ruby/comment_block.rb#41 def trailing?; end - # source://rbs//lib/rbs/ast/ruby/comment_block.rb#190 + # source://rbs//lib/rbs/ast/ruby/comment_block.rb#197 def trailing_annotation(variables); end # source://rbs//lib/rbs/ast/ruby/comment_block.rb#130 @@ -1334,69 +1461,219 @@ end class RBS::AST::Ruby::Declarations::ClassDecl < ::RBS::AST::Ruby::Declarations::Base # @return [ClassDecl] a new instance of ClassDecl # - # source://rbs//lib/rbs/ast/ruby/declarations.rb#25 - def initialize(buffer, name, node); end + # source://rbs//lib/rbs/ast/ruby/declarations.rb#74 + def initialize(buffer, name, node, super_class); end # Returns the value of attribute class_name. # - # source://rbs//lib/rbs/ast/ruby/declarations.rb#19 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#66 def class_name; end - # source://rbs//lib/rbs/ast/ruby/declarations.rb#32 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#82 def each_decl(&block); end - # source://rbs//lib/rbs/ast/ruby/declarations.rb#46 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#94 def location; end # Returns the value of attribute members. # - # source://rbs//lib/rbs/ast/ruby/declarations.rb#21 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#68 def members; end + # source://rbs//lib/rbs/ast/ruby/declarations.rb#98 + def name_location; end + # Returns the value of attribute node. # - # source://rbs//lib/rbs/ast/ruby/declarations.rb#23 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#70 def node; end - # source://rbs//lib/rbs/ast/ruby/declarations.rb#42 + # Returns the value of attribute super_class. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#72 def super_class; end - # source://rbs//lib/rbs/ast/ruby/declarations.rb#44 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#102 + def type_fingerprint; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#92 def type_params; end end -# source://rbs//lib/rbs/ast/ruby/declarations.rb#51 +# source://rbs//lib/rbs/ast/ruby/declarations.rb#19 +class RBS::AST::Ruby::Declarations::ClassDecl::SuperClass + # @return [SuperClass] a new instance of SuperClass + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#28 + def initialize(type_name_location, operator_location, type_name, type_annotation); end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#56 + def args; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#43 + def location; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#55 + def name; end + + # Returns the value of attribute operator_location. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#22 + def operator_location; end + + # Returns the value of attribute type_annotation. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#26 + def type_annotation; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#35 + def type_args; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#58 + def type_fingerprint; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#24 + def type_name; end + + # Returns the value of attribute type_name_location. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#20 + def type_name_location; end +end + +# source://rbs//lib/rbs/ast/ruby/declarations.rb#223 +class RBS::AST::Ruby::Declarations::ClassModuleAliasDecl < ::RBS::AST::Ruby::Declarations::Base + # @return [ClassModuleAliasDecl] a new instance of ClassModuleAliasDecl + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#230 + def initialize(buffer, node, new_name, infered_old_name, leading_comment, annotation); end + + # Returns the value of attribute annotation. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#228 + def annotation; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#264 + def comment; end + + # Returns the value of attribute infered_old_name. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#227 + def infered_old_name; end + + # Returns the value of attribute leading_comment. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#225 + def leading_comment; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#239 + def location; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#243 + def name_location; end + + # Returns the value of attribute new_name. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#226 + def new_name; end + + # Returns the value of attribute node. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#224 + def node; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#252 + def old_name; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#268 + def type_fingerprint; end +end + +# source://rbs//lib/rbs/ast/ruby/declarations.rb#161 +class RBS::AST::Ruby::Declarations::ConstantDecl < ::RBS::AST::Ruby::Declarations::Base + # @return [ConstantDecl] a new instance of ConstantDecl + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#167 + def initialize(buffer, constant_name, node, leading_comment, type_annotation); end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#209 + def comment; end + + # Returns the value of attribute constant_name. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#163 + def constant_name; end + + # Returns the value of attribute leading_comment. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#162 + def leading_comment; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#175 + def location; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#179 + def name_location; end + + # Returns the value of attribute node. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#164 + def node; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#188 + def type; end + + # Returns the value of attribute type_annotation. + # + # source://rbs//lib/rbs/ast/ruby/declarations.rb#165 + def type_annotation; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#213 + def type_fingerprint; end +end + +# source://rbs//lib/rbs/ast/ruby/declarations.rb#114 class RBS::AST::Ruby::Declarations::ModuleDecl < ::RBS::AST::Ruby::Declarations::Base # @return [ModuleDecl] a new instance of ModuleDecl # - # source://rbs//lib/rbs/ast/ruby/declarations.rb#58 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#121 def initialize(buffer, name, node); end - # source://rbs//lib/rbs/ast/ruby/declarations.rb#65 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#128 def each_decl(&block); end - # source://rbs//lib/rbs/ast/ruby/declarations.rb#79 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#142 def location; end # Returns the value of attribute members. # - # source://rbs//lib/rbs/ast/ruby/declarations.rb#54 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#117 def members; end # Returns the value of attribute module_name. # - # source://rbs//lib/rbs/ast/ruby/declarations.rb#52 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#115 def module_name; end + # source://rbs//lib/rbs/ast/ruby/declarations.rb#146 + def name_location; end + # Returns the value of attribute node. # - # source://rbs//lib/rbs/ast/ruby/declarations.rb#56 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#119 def node; end - # source://rbs//lib/rbs/ast/ruby/declarations.rb#77 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#140 def self_types; end - # source://rbs//lib/rbs/ast/ruby/declarations.rb#75 + # source://rbs//lib/rbs/ast/ruby/declarations.rb#150 + def type_fingerprint; end + + # source://rbs//lib/rbs/ast/ruby/declarations.rb#138 def type_params; end end @@ -1425,6 +1702,58 @@ end # source://rbs//lib/rbs/ast/ruby/members.rb#6 module RBS::AST::Ruby::Members; end +# source://rbs//lib/rbs/ast/ruby/members.rb#338 +class RBS::AST::Ruby::Members::AttrAccessorMember < ::RBS::AST::Ruby::Members::AttributeMember; end + +# source://rbs//lib/rbs/ast/ruby/members.rb#332 +class RBS::AST::Ruby::Members::AttrReaderMember < ::RBS::AST::Ruby::Members::AttributeMember; end + +# source://rbs//lib/rbs/ast/ruby/members.rb#335 +class RBS::AST::Ruby::Members::AttrWriterMember < ::RBS::AST::Ruby::Members::AttributeMember; end + +# source://rbs//lib/rbs/ast/ruby/members.rb#287 +class RBS::AST::Ruby::Members::AttributeMember < ::RBS::AST::Ruby::Members::Base + # @return [AttributeMember] a new instance of AttributeMember + # + # source://rbs//lib/rbs/ast/ruby/members.rb#293 + def initialize(buffer, node, name_nodes, leading_comment, type_annotation); end + + # Returns the value of attribute leading_comment. + # + # source://rbs//lib/rbs/ast/ruby/members.rb#291 + def leading_comment; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#307 + def location; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#311 + def name_locations; end + + # Returns the value of attribute name_nodes. + # + # source://rbs//lib/rbs/ast/ruby/members.rb#289 + def name_nodes; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#301 + def names; end + + # Returns the value of attribute node. + # + # source://rbs//lib/rbs/ast/ruby/members.rb#288 + def node; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#317 + def type; end + + # Returns the value of attribute type_annotation. + # + # source://rbs//lib/rbs/ast/ruby/members.rb#290 + def type_annotation; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#321 + def type_fingerprint; end +end + # source://rbs//lib/rbs/ast/ruby/members.rb#7 class RBS::AST::Ruby::Members::Base include ::RBS::AST::Ruby::Helpers::LocationHelper @@ -1440,71 +1769,116 @@ class RBS::AST::Ruby::Members::Base def buffer; end end -# source://rbs//lib/rbs/ast/ruby/members.rb#180 +# source://rbs//lib/rbs/ast/ruby/members.rb#195 class RBS::AST::Ruby::Members::DefMember < ::RBS::AST::Ruby::Members::Base # @return [DefMember] a new instance of DefMember # - # source://rbs//lib/rbs/ast/ruby/members.rb#187 - def initialize(buffer, name, node, method_type); end + # source://rbs//lib/rbs/ast/ruby/members.rb#203 + def initialize(buffer, name, node, method_type, leading_comment); end - # source://rbs//lib/rbs/ast/ruby/members.rb#206 + # source://rbs//lib/rbs/ast/ruby/members.rb#223 def annotations; end - # source://rbs//lib/rbs/ast/ruby/members.rb#194 + # Returns the value of attribute leading_comment. + # + # source://rbs//lib/rbs/ast/ruby/members.rb#201 + def leading_comment; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#211 def location; end # Returns the value of attribute method_type. # - # source://rbs//lib/rbs/ast/ruby/members.rb#185 + # source://rbs//lib/rbs/ast/ruby/members.rb#200 def method_type; end # Returns the value of attribute name. # - # source://rbs//lib/rbs/ast/ruby/members.rb#183 + # source://rbs//lib/rbs/ast/ruby/members.rb#198 def name; end + # source://rbs//lib/rbs/ast/ruby/members.rb#227 + def name_location; end + # Returns the value of attribute node. # - # source://rbs//lib/rbs/ast/ruby/members.rb#184 + # source://rbs//lib/rbs/ast/ruby/members.rb#199 def node; end # @return [Boolean] # - # source://rbs//lib/rbs/ast/ruby/members.rb#202 + # source://rbs//lib/rbs/ast/ruby/members.rb#219 def overloading?; end - # source://rbs//lib/rbs/ast/ruby/members.rb#198 + # source://rbs//lib/rbs/ast/ruby/members.rb#215 def overloads; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#231 + def type_fingerprint; end end -# source://rbs//lib/rbs/ast/ruby/members.rb#181 +# source://rbs//lib/rbs/ast/ruby/members.rb#196 RBS::AST::Ruby::Members::DefMember::Overload = RBS::AST::Members::MethodDefinition::Overload +# source://rbs//lib/rbs/ast/ruby/members.rb#281 +class RBS::AST::Ruby::Members::ExtendMember < ::RBS::AST::Ruby::Members::MixinMember; end + +# source://rbs//lib/rbs/ast/ruby/members.rb#278 +class RBS::AST::Ruby::Members::IncludeMember < ::RBS::AST::Ruby::Members::MixinMember; end + +# source://rbs//lib/rbs/ast/ruby/members.rb#341 +class RBS::AST::Ruby::Members::InstanceVariableMember < ::RBS::AST::Ruby::Members::Base + # @return [InstanceVariableMember] a new instance of InstanceVariableMember + # + # source://rbs//lib/rbs/ast/ruby/members.rb#344 + def initialize(buffer, annotation); end + + # Returns the value of attribute annotation. + # + # source://rbs//lib/rbs/ast/ruby/members.rb#342 + def annotation; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#357 + def location; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#349 + def name; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#353 + def type; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#361 + def type_fingerprint; end +end + # source://rbs//lib/rbs/ast/ruby/members.rb#17 class RBS::AST::Ruby::Members::MethodTypeAnnotation # @return [MethodTypeAnnotation] a new instance of MethodTypeAnnotation # - # source://rbs//lib/rbs/ast/ruby/members.rb#64 + # source://rbs//lib/rbs/ast/ruby/members.rb#68 def initialize(type_annotations:); end # @return [Boolean] # - # source://rbs//lib/rbs/ast/ruby/members.rb#139 + # source://rbs//lib/rbs/ast/ruby/members.rb#143 def empty?; end - # source://rbs//lib/rbs/ast/ruby/members.rb#68 + # source://rbs//lib/rbs/ast/ruby/members.rb#72 def map_type_name(&block); end - # source://rbs//lib/rbs/ast/ruby/members.rb#143 + # source://rbs//lib/rbs/ast/ruby/members.rb#147 def overloads; end # Returns the value of attribute type_annotations. # - # source://rbs//lib/rbs/ast/ruby/members.rb#62 + # source://rbs//lib/rbs/ast/ruby/members.rb#66 def type_annotations; end + # source://rbs//lib/rbs/ast/ruby/members.rb#183 + def type_fingerprint; end + class << self - # source://rbs//lib/rbs/ast/ruby/members.rb#81 + # source://rbs//lib/rbs/ast/ruby/members.rb#85 def build(leading_block, trailing_block, variables); end end end @@ -1519,7 +1893,7 @@ class RBS::AST::Ruby::Members::MethodTypeAnnotation::DocStyle # source://rbs//lib/rbs/ast/ruby/members.rb#25 def map_type_name(&block); end - # source://rbs//lib/rbs/ast/ruby/members.rb#31 + # source://rbs//lib/rbs/ast/ruby/members.rb#35 def method_type; end # Returns the value of attribute return_type_annotation. @@ -1533,16 +1907,57 @@ class RBS::AST::Ruby::Members::MethodTypeAnnotation::DocStyle # # source://rbs//lib/rbs/ast/ruby/members.rb#19 def return_type_annotation=(_arg0); end + + # source://rbs//lib/rbs/ast/ruby/members.rb#31 + def type_fingerprint; end end +# source://rbs//lib/rbs/ast/ruby/members.rb#241 +class RBS::AST::Ruby::Members::MixinMember < ::RBS::AST::Ruby::Members::Base + # @return [MixinMember] a new instance of MixinMember + # + # source://rbs//lib/rbs/ast/ruby/members.rb#246 + def initialize(buffer, node, module_name, annotation); end + + # Returns the value of attribute annotation. + # + # source://rbs//lib/rbs/ast/ruby/members.rb#244 + def annotation; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#253 + def location; end + + # Returns the value of attribute module_name. + # + # source://rbs//lib/rbs/ast/ruby/members.rb#243 + def module_name; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#257 + def name_location; end + + # Returns the value of attribute node. + # + # source://rbs//lib/rbs/ast/ruby/members.rb#242 + def node; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#264 + def type_args; end + + # source://rbs//lib/rbs/ast/ruby/members.rb#268 + def type_fingerprint; end +end + +# source://rbs//lib/rbs/ast/ruby/members.rb#284 +class RBS::AST::Ruby::Members::PrependMember < ::RBS::AST::Ruby::Members::MixinMember; end + # source://rbs//lib/rbs/ast/type_param.rb#5 class RBS::AST::TypeParam # @return [TypeParam] a new instance of TypeParam # # source://rbs//lib/rbs/ast/type_param.rb#8 - def initialize(name:, variance:, upper_bound:, location:, default_type: T.unsafe(nil), unchecked: T.unsafe(nil)); end + def initialize(name:, variance:, upper_bound:, lower_bound:, location:, default_type: T.unsafe(nil), unchecked: T.unsafe(nil)); end - # source://rbs//lib/rbs/ast/type_param.rb#33 + # source://rbs//lib/rbs/ast/type_param.rb#41 def ==(other); end # Returns the value of attribute default_type. @@ -1550,10 +1965,10 @@ class RBS::AST::TypeParam # source://rbs//lib/rbs/ast/type_param.rb#6 def default_type; end - # source://rbs//lib/rbs/ast/type_param.rb#42 + # source://rbs//lib/rbs/ast/type_param.rb#51 def eql?(other); end - # source://rbs//lib/rbs/ast/type_param.rb#44 + # source://rbs//lib/rbs/ast/type_param.rb#53 def hash; end # Returns the value of attribute location. @@ -1561,7 +1976,15 @@ class RBS::AST::TypeParam # source://rbs//lib/rbs/ast/type_param.rb#6 def location; end - # source://rbs//lib/rbs/ast/type_param.rb#59 + # source://rbs//lib/rbs/ast/type_param.rb#25 + def lower_bound; end + + # Returns the value of attribute lower_bound_type. + # + # source://rbs//lib/rbs/ast/type_param.rb#6 + def lower_bound_type; end + + # source://rbs//lib/rbs/ast/type_param.rb#69 def map_type(&block); end # Returns the value of attribute name. @@ -1569,21 +1992,21 @@ class RBS::AST::TypeParam # source://rbs//lib/rbs/ast/type_param.rb#6 def name; end - # source://rbs//lib/rbs/ast/type_param.rb#48 + # source://rbs//lib/rbs/ast/type_param.rb#57 def to_json(state = T.unsafe(nil)); end - # source://rbs//lib/rbs/ast/type_param.rb#117 + # source://rbs//lib/rbs/ast/type_param.rb#133 def to_s; end - # source://rbs//lib/rbs/ast/type_param.rb#24 + # source://rbs//lib/rbs/ast/type_param.rb#32 def unchecked!(value = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs//lib/rbs/ast/type_param.rb#29 + # source://rbs//lib/rbs/ast/type_param.rb#37 def unchecked?; end - # source://rbs//lib/rbs/ast/type_param.rb#17 + # source://rbs//lib/rbs/ast/type_param.rb#18 def upper_bound; end # Returns the value of attribute upper_bound_type. @@ -1597,22 +2020,22 @@ class RBS::AST::TypeParam def variance; end class << self - # source://rbs//lib/rbs/ast/type_param.rb#146 + # source://rbs//lib/rbs/ast/type_param.rb#166 def application(params, args); end - # source://rbs//lib/rbs/ast/type_param.rb#178 + # source://rbs//lib/rbs/ast/type_param.rb#198 def normalize_args(params, args); end - # source://rbs//lib/rbs/ast/type_param.rb#99 + # source://rbs//lib/rbs/ast/type_param.rb#114 def rename(params, new_names:); end - # source://rbs//lib/rbs/ast/type_param.rb#77 + # source://rbs//lib/rbs/ast/type_param.rb#92 def resolve_variables(params); end - # source://rbs//lib/rbs/ast/type_param.rb#87 + # source://rbs//lib/rbs/ast/type_param.rb#102 def subst_var(vars, type); end - # source://rbs//lib/rbs/ast/type_param.rb#199 + # source://rbs//lib/rbs/ast/type_param.rb#219 def validate(type_params); end end end @@ -1816,7 +2239,7 @@ class RBS::Buffer # source://rbs//lib/rbs/buffer.rb#9 def initialize(content:, name: T.unsafe(nil), parent: T.unsafe(nil)); end - # source://rbs//lib/rbs/buffer.rb#126 + # source://rbs//lib/rbs/buffer.rb#131 def absolute_position(position); end # Returns the value of attribute content. @@ -1824,13 +2247,13 @@ class RBS::Buffer # source://rbs//lib/rbs/buffer.rb#6 def content; end - # source://rbs//lib/rbs/buffer.rb#143 + # source://rbs//lib/rbs/buffer.rb#148 def detach; end - # source://rbs//lib/rbs/buffer.rb#81 + # source://rbs//lib/rbs/buffer.rb#86 def inspect; end - # source://rbs//lib/rbs/buffer.rb#73 + # source://rbs//lib/rbs/buffer.rb#78 def last_position; end # source://rbs//lib/rbs/buffer.rb#26 @@ -1839,7 +2262,7 @@ class RBS::Buffer # source://rbs//lib/rbs/buffer.rb#22 def lines; end - # source://rbs//lib/rbs/buffer.rb#63 + # source://rbs//lib/rbs/buffer.rb#68 def loc_to_pos(loc); end # Returns the value of attribute name. @@ -1852,25 +2275,25 @@ class RBS::Buffer # source://rbs//lib/rbs/buffer.rb#7 def parent; end - # source://rbs//lib/rbs/buffer.rb#111 + # source://rbs//lib/rbs/buffer.rb#116 def parent_buffer; end - # source://rbs//lib/rbs/buffer.rb#117 + # source://rbs//lib/rbs/buffer.rb#122 def parent_position(position); end - # source://rbs//lib/rbs/buffer.rb#51 + # source://rbs//lib/rbs/buffer.rb#56 def pos_to_loc(pos); end # source://rbs//lib/rbs/buffer.rb#30 def ranges; end - # source://rbs//lib/rbs/buffer.rb#85 + # source://rbs//lib/rbs/buffer.rb#90 def rbs_location(location, loc2 = T.unsafe(nil)); end - # source://rbs//lib/rbs/buffer.rb#93 + # source://rbs//lib/rbs/buffer.rb#98 def sub_buffer(lines:); end - # source://rbs//lib/rbs/buffer.rb#135 + # source://rbs//lib/rbs/buffer.rb#140 def top_buffer; end end @@ -2172,61 +2595,61 @@ end class RBS::Collection::Config::LockfileGenerator # @return [LockfileGenerator] a new instance of LockfileGenerator # - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#43 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#44 def initialize(config:, definition:, with_lockfile:); end # Returns the value of attribute config. # - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#35 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#36 def config; end # Returns the value of attribute definition. # - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#35 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#36 def definition; end # Returns the value of attribute existing_lockfile. # - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#35 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#36 def existing_lockfile; end # Returns the value of attribute gem_entries. # - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#35 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#36 def gem_entries; end # Returns the value of attribute gem_hash. # - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#35 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#36 def gem_hash; end - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#71 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#72 def generate; end # Returns the value of attribute lockfile. # - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#35 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#36 def lockfile; end private - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#104 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#105 def assign_gem(name:, version:, skip: T.unsafe(nil)); end - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#170 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#171 def assign_stdlib(name:, from_gem: T.unsafe(nil)); end - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#234 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#242 def find_best_version(version:, versions:); end - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#228 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#236 def find_source(name:); end - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#96 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#97 def validate_gemfile_lock_path!(lock:, gemfile_lock_path:); end class << self - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#37 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#38 def generate(config:, definition:, with_lockfile: T.unsafe(nil)); end end end @@ -2234,14 +2657,14 @@ end # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#7 RBS::Collection::Config::LockfileGenerator::ALUMNI_STDLIBS = T.let(T.unsafe(nil), Hash) -# source://rbs//lib/rbs/collection/config/lockfile_generator.rb#19 +# source://rbs//lib/rbs/collection/config/lockfile_generator.rb#20 class RBS::Collection::Config::LockfileGenerator::GemfileLockMismatchError < ::StandardError # @return [GemfileLockMismatchError] a new instance of GemfileLockMismatchError # - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#20 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#21 def initialize(expected:, actual:); end - # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#25 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#26 def message; end end @@ -2283,113 +2706,113 @@ module RBS::Collection::Sources::Base def dependencies_of(name, version); end end -# source://rbs//lib/rbs/collection/sources/git.rb#10 +# source://rbs//lib/rbs/collection/sources/git.rb#11 class RBS::Collection::Sources::Git include ::RBS::Collection::Sources::Base # @return [Git] a new instance of Git # - # source://rbs//lib/rbs/collection/sources/git.rb#18 + # source://rbs//lib/rbs/collection/sources/git.rb#19 def initialize(name:, revision:, remote:, repo_dir:); end # @return [Boolean] # - # source://rbs//lib/rbs/collection/sources/git.rb#26 + # source://rbs//lib/rbs/collection/sources/git.rb#27 def has?(name, version); end - # source://rbs//lib/rbs/collection/sources/git.rb#43 + # source://rbs//lib/rbs/collection/sources/git.rb#44 def install(dest:, name:, version:, stdout:); end - # source://rbs//lib/rbs/collection/sources/git.rb#223 + # source://rbs//lib/rbs/collection/sources/git.rb#224 def load_metadata(dir:); end - # source://rbs//lib/rbs/collection/sources/git.rb#73 + # source://rbs//lib/rbs/collection/sources/git.rb#74 def manifest_of(name, version); end - # source://rbs//lib/rbs/collection/sources/git.rb#207 + # source://rbs//lib/rbs/collection/sources/git.rb#208 def metadata_content(name:, version:); end # Returns the value of attribute name. # - # source://rbs//lib/rbs/collection/sources/git.rb#16 + # source://rbs//lib/rbs/collection/sources/git.rb#17 def name; end # Returns the value of attribute remote. # - # source://rbs//lib/rbs/collection/sources/git.rb#16 + # source://rbs//lib/rbs/collection/sources/git.rb#17 def remote; end # Returns the value of attribute repo_dir. # - # source://rbs//lib/rbs/collection/sources/git.rb#16 + # source://rbs//lib/rbs/collection/sources/git.rb#17 def repo_dir; end - # source://rbs//lib/rbs/collection/sources/git.rb#172 + # source://rbs//lib/rbs/collection/sources/git.rb#173 def resolved_revision; end # Returns the value of attribute revision. # - # source://rbs//lib/rbs/collection/sources/git.rb#16 + # source://rbs//lib/rbs/collection/sources/git.rb#17 def revision; end - # source://rbs//lib/rbs/collection/sources/git.rb#113 + # source://rbs//lib/rbs/collection/sources/git.rb#114 def to_lockfile; end - # source://rbs//lib/rbs/collection/sources/git.rb#36 + # source://rbs//lib/rbs/collection/sources/git.rb#37 def versions(name); end - # source://rbs//lib/rbs/collection/sources/git.rb#215 + # source://rbs//lib/rbs/collection/sources/git.rb#216 def write_metadata(dir:, name:, version:); end private - # source://rbs//lib/rbs/collection/sources/git.rb#87 + # source://rbs//lib/rbs/collection/sources/git.rb#88 def _install(dest:, name:, version:); end # @return [Boolean] # - # source://rbs//lib/rbs/collection/sources/git.rb#183 + # source://rbs//lib/rbs/collection/sources/git.rb#184 def commit_hash?; end - # source://rbs//lib/rbs/collection/sources/git.rb#99 + # source://rbs//lib/rbs/collection/sources/git.rb#100 def cp_r(src, dest); end - # source://rbs//lib/rbs/collection/sources/git.rb#123 + # source://rbs//lib/rbs/collection/sources/git.rb#124 def format_config_entry(name, version); end - # source://rbs//lib/rbs/collection/sources/git.rb#168 + # source://rbs//lib/rbs/collection/sources/git.rb#169 def gem_repo_dir; end - # source://rbs//lib/rbs/collection/sources/git.rb#229 + # source://rbs//lib/rbs/collection/sources/git.rb#230 def gems_versions; end - # source://rbs//lib/rbs/collection/sources/git.rb#187 + # source://rbs//lib/rbs/collection/sources/git.rb#188 def git(*cmd, **opt); end # @return [Boolean] # - # source://rbs//lib/rbs/collection/sources/git.rb#191 + # source://rbs//lib/rbs/collection/sources/git.rb#192 def git?(*cmd, **opt); end - # source://rbs//lib/rbs/collection/sources/git.rb#158 + # source://rbs//lib/rbs/collection/sources/git.rb#159 def git_dir; end # @return [Boolean] # - # source://rbs//lib/rbs/collection/sources/git.rb#152 + # source://rbs//lib/rbs/collection/sources/git.rb#153 def need_to_fetch?(revision); end - # source://rbs//lib/rbs/collection/sources/git.rb#130 + # source://rbs//lib/rbs/collection/sources/git.rb#131 def setup!; end - # source://rbs//lib/rbs/collection/sources/git.rb#197 + # source://rbs//lib/rbs/collection/sources/git.rb#198 def sh!(*cmd, **opt); end end -# source://rbs//lib/rbs/collection/sources/git.rb#14 +# source://rbs//lib/rbs/collection/sources/git.rb#15 class RBS::Collection::Sources::Git::CommandError < ::StandardError; end -# source://rbs//lib/rbs/collection/sources/git.rb#12 +# source://rbs//lib/rbs/collection/sources/git.rb#13 RBS::Collection::Sources::Git::METADATA_FILENAME = T.let(T.unsafe(nil), String) # source://rbs//lib/rbs/collection/sources/local.rb#6 @@ -2557,51 +2980,51 @@ class RBS::Constant def type; end end -# source://rbs//lib/rbs/errors.rb#578 +# source://rbs//lib/rbs/errors.rb#598 class RBS::CyclicClassAliasDefinitionError < ::RBS::BaseError include ::RBS::DetailedMessageable # @return [CyclicClassAliasDefinitionError] a new instance of CyclicClassAliasDefinitionError # - # source://rbs//lib/rbs/errors.rb#583 + # source://rbs//lib/rbs/errors.rb#603 def initialize(entry); end # Returns the value of attribute alias_entry. # - # source://rbs//lib/rbs/errors.rb#581 + # source://rbs//lib/rbs/errors.rb#601 def alias_entry; end - # source://rbs//lib/rbs/errors.rb#589 + # source://rbs//lib/rbs/errors.rb#609 def location; end end -# source://rbs//lib/rbs/errors.rb#539 +# source://rbs//lib/rbs/errors.rb#559 class RBS::CyclicTypeParameterBound < ::RBS::BaseError include ::RBS::DetailedMessageable # @return [CyclicTypeParameterBound] a new instance of CyclicTypeParameterBound # - # source://rbs//lib/rbs/errors.rb#544 + # source://rbs//lib/rbs/errors.rb#564 def initialize(type_name:, method_name:, params:, location:); end # Returns the value of attribute location. # - # source://rbs//lib/rbs/errors.rb#542 + # source://rbs//lib/rbs/errors.rb#562 def location; end # Returns the value of attribute method_name. # - # source://rbs//lib/rbs/errors.rb#542 + # source://rbs//lib/rbs/errors.rb#562 def method_name; end # Returns the value of attribute params. # - # source://rbs//lib/rbs/errors.rb#542 + # source://rbs//lib/rbs/errors.rb#562 def params; end # Returns the value of attribute type_name. # - # source://rbs//lib/rbs/errors.rb#542 + # source://rbs//lib/rbs/errors.rb#562 def type_name; end end @@ -2995,18 +3418,18 @@ class RBS::DefinitionBuilder # source://rbs//lib/rbs/definition_builder.rb#6 def ancestor_builder; end - # source://rbs//lib/rbs/definition_builder.rb#172 + # source://rbs//lib/rbs/definition_builder.rb#195 def build_instance(type_name); end # source://rbs//lib/rbs/definition_builder.rb#43 def build_interface(type_name); end - # source://rbs//lib/rbs/definition_builder.rb#304 + # source://rbs//lib/rbs/definition_builder.rb#327 def build_singleton(type_name); end # Builds a definition for singleton without .new method. # - # source://rbs//lib/rbs/definition_builder.rb#234 + # source://rbs//lib/rbs/definition_builder.rb#257 def build_singleton0(type_name); end # source://rbs//lib/rbs/definition_builder.rb#85 @@ -3015,7 +3438,7 @@ class RBS::DefinitionBuilder # source://rbs//lib/rbs/definition_builder.rb#33 def define_interface(definition, type_name, subst); end - # source://rbs//lib/rbs/definition_builder.rb#646 + # source://rbs//lib/rbs/definition_builder.rb#682 def define_method(methods, definition, method, subst, self_type_methods, defined_in:, implemented_in: T.unsafe(nil)); end # source://rbs//lib/rbs/definition_builder.rb#25 @@ -3026,19 +3449,19 @@ class RBS::DefinitionBuilder # source://rbs//lib/rbs/definition_builder.rb#5 def env; end - # source://rbs//lib/rbs/definition_builder.rb#861 + # source://rbs//lib/rbs/definition_builder.rb#950 def expand_alias(type_name); end - # source://rbs//lib/rbs/definition_builder.rb#865 + # source://rbs//lib/rbs/definition_builder.rb#954 def expand_alias1(type_name); end - # source://rbs//lib/rbs/definition_builder.rb#872 + # source://rbs//lib/rbs/definition_builder.rb#961 def expand_alias2(type_name, args); end - # source://rbs//lib/rbs/definition_builder.rb#585 + # source://rbs//lib/rbs/definition_builder.rb#621 def import_methods(definition, module_name, module_methods, interfaces_methods, subst, self_type_methods); end - # source://rbs//lib/rbs/definition_builder.rb#547 + # source://rbs//lib/rbs/definition_builder.rb#570 def insert_variable(type_name, variables, name:, type:, source:); end # Returns the value of attribute instance_cache. @@ -3051,7 +3474,7 @@ class RBS::DefinitionBuilder # source://rbs//lib/rbs/definition_builder.rb#12 def interface_cache; end - # source://rbs//lib/rbs/definition_builder.rb#417 + # source://rbs//lib/rbs/definition_builder.rb#440 def interface_methods(interface_ancestors); end # Returns the value of attribute method_builder. @@ -3069,33 +3492,33 @@ class RBS::DefinitionBuilder # source://rbs//lib/rbs/definition_builder.rb#10 def singleton_cache; end - # source://rbs//lib/rbs/definition_builder.rb#447 + # source://rbs//lib/rbs/definition_builder.rb#470 def source_location(source, decl); end # source://rbs//lib/rbs/definition_builder.rb#66 def tapp_subst(name, args); end - # source://rbs//lib/rbs/definition_builder.rb#857 + # source://rbs//lib/rbs/definition_builder.rb#946 def try_cache(type_name, cache:); end - # source://rbs//lib/rbs/definition_builder.rb#896 + # source://rbs//lib/rbs/definition_builder.rb#985 def update(env:, except:, ancestor_builder:); end - # source://rbs//lib/rbs/definition_builder.rb#437 + # source://rbs//lib/rbs/definition_builder.rb#460 def validate_params_with(type_params, result:); end # @raise [NoTypeFoundError] # - # source://rbs//lib/rbs/definition_builder.rb#925 + # source://rbs//lib/rbs/definition_builder.rb#1014 def validate_type_name(name, location); end - # source://rbs//lib/rbs/definition_builder.rb#465 + # source://rbs//lib/rbs/definition_builder.rb#488 def validate_type_params(definition, ancestors:, methods:); end - # source://rbs//lib/rbs/definition_builder.rb#914 + # source://rbs//lib/rbs/definition_builder.rb#1003 def validate_type_presence(type); end - # source://rbs//lib/rbs/definition_builder.rb#557 + # source://rbs//lib/rbs/definition_builder.rb#581 def validate_variable(var); end end @@ -3111,10 +3534,10 @@ class RBS::DefinitionBuilder::AncestorBuilder # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#151 def env; end - # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#611 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#664 def fill_ancestor_source(ancestor, name:, source:, &block); end - # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#439 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#492 def instance_ancestors(type_name, building_ancestors: T.unsafe(nil)); end # Returns the value of attribute instance_ancestors_cache. @@ -3122,7 +3545,7 @@ class RBS::DefinitionBuilder::AncestorBuilder # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#154 def instance_ancestors_cache; end - # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#575 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#628 def interface_ancestors(type_name, building_ancestors: T.unsafe(nil)); end # Returns the value of attribute interface_ancestors_cache. @@ -3130,7 +3553,7 @@ class RBS::DefinitionBuilder::AncestorBuilder # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#160 def interface_ancestors_cache; end - # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#421 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#474 def mixin_ancestors(entry, type_name, included_modules:, included_interfaces:, extended_modules:, prepended_modules:, extended_interfaces:); end # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#350 @@ -3160,7 +3583,7 @@ class RBS::DefinitionBuilder::AncestorBuilder # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#156 def one_singleton_ancestors_cache; end - # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#520 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#573 def singleton_ancestors(type_name, building_ancestors: T.unsafe(nil)); end # Returns the value of attribute singleton_ancestors_cache. @@ -3269,25 +3692,28 @@ class RBS::DefinitionBuilder::MethodBuilder # source://rbs//lib/rbs/definition_builder/method_builder.rb#91 def initialize(env:); end - # source://rbs//lib/rbs/definition_builder/method_builder.rb#209 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#211 def build_alias(methods, type, member:); end - # source://rbs//lib/rbs/definition_builder/method_builder.rb#214 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#216 def build_attribute(methods, type, member:, accessibility:); end # source://rbs//lib/rbs/definition_builder/method_builder.rb#99 def build_instance(type_name); end - # source://rbs//lib/rbs/definition_builder/method_builder.rb#189 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#191 def build_interface(type_name); end - # source://rbs//lib/rbs/definition_builder/method_builder.rb#230 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#250 def build_method(methods, type, member:, accessibility:); end - # source://rbs//lib/rbs/definition_builder/method_builder.rb#160 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#232 + def build_ruby_attribute(methods, type, member:, accessibility:); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#162 def build_singleton(type_name); end - # source://rbs//lib/rbs/definition_builder/method_builder.rb#241 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#261 def each_rbs_member_with_accessibility(members, accessibility: T.unsafe(nil)); end # Returns the value of attribute env. @@ -3310,7 +3736,7 @@ class RBS::DefinitionBuilder::MethodBuilder # source://rbs//lib/rbs/definition_builder/method_builder.rb#88 def singleton_methods; end - # source://rbs//lib/rbs/definition_builder/method_builder.rb#254 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#274 def update(env:, except:); end end @@ -3403,7 +3829,7 @@ class RBS::Diff # source://rbs//lib/rbs/diff.rb#49 def build_methods(path); end - # source://rbs//lib/rbs/diff.rb#116 + # source://rbs//lib/rbs/diff.rb#122 def constant_to_s(constant); end # source://rbs//lib/rbs/diff.rb#100 @@ -3512,19 +3938,19 @@ class RBS::Environment # source://rbs//lib/rbs/environment.rb#48 def initialize; end - # source://rbs//lib/rbs/environment.rb#841 + # source://rbs//lib/rbs/environment.rb#981 def absolute_type(resolver, map, type, context:); end - # source://rbs//lib/rbs/environment.rb#836 + # source://rbs//lib/rbs/environment.rb#976 def absolute_type_name(resolver, map, type_name, context:); end - # source://rbs//lib/rbs/environment.rb#417 + # source://rbs//lib/rbs/environment.rb#455 def add_source(source); end - # source://rbs//lib/rbs/environment.rb#522 + # source://rbs//lib/rbs/environment.rb#568 def append_context(context, decl); end - # source://rbs//lib/rbs/environment.rb#852 + # source://rbs//lib/rbs/environment.rb#992 def buffers; end # @return [Boolean] @@ -3548,7 +3974,7 @@ class RBS::Environment def class_decls; end # source://rbs//lib/rbs/environment.rb#125 - def class_entry(type_name); end + def class_entry(type_name, normalized: T.unsafe(nil)); end # @return [Boolean] # @@ -3560,8 +3986,8 @@ class RBS::Environment # source://rbs//lib/rbs/environment.rb#8 def constant_decls; end - # source://rbs//lib/rbs/environment.rb#173 - def constant_entry(type_name); end + # source://rbs//lib/rbs/environment.rb#167 + def constant_entry(type_name, normalized: T.unsafe(nil)); end # @return [Boolean] # @@ -3571,10 +3997,10 @@ class RBS::Environment # source://rbs//lib/rbs/environment.rb#14 def declarations; end - # source://rbs//lib/rbs/environment.rb#432 + # source://rbs//lib/rbs/environment.rb#470 def each_rbs_source(&block); end - # source://rbs//lib/rbs/environment.rb#444 + # source://rbs//lib/rbs/environment.rb#482 def each_ruby_source(&block); end # Returns the value of attribute global_decls. @@ -3582,13 +4008,13 @@ class RBS::Environment # source://rbs//lib/rbs/environment.rb#9 def global_decls; end - # source://rbs//lib/rbs/environment.rb#272 + # source://rbs//lib/rbs/environment.rb#277 def insert_rbs_decl(decl, context:, namespace:); end - # source://rbs//lib/rbs/environment.rb#369 + # source://rbs//lib/rbs/environment.rb#374 def insert_ruby_decl(decl, context:, namespace:); end - # source://rbs//lib/rbs/environment.rb#847 + # source://rbs//lib/rbs/environment.rb#987 def inspect; end # Returns the value of attribute interface_decls. @@ -3606,83 +4032,86 @@ class RBS::Environment # source://rbs//lib/rbs/environment.rb#109 def module_alias?(name); end - # source://rbs//lib/rbs/environment.rb#165 - def module_class_entry(type_name); end + # source://rbs//lib/rbs/environment.rb#154 + def module_class_entry(type_name, normalized: T.unsafe(nil)); end # @return [Boolean] # # source://rbs//lib/rbs/environment.rb#105 def module_decl?(name); end - # source://rbs//lib/rbs/environment.rb#134 - def module_entry(type_name); end + # source://rbs//lib/rbs/environment.rb#132 + def module_entry(type_name, normalized: T.unsafe(nil)); end # @return [Boolean] # # source://rbs//lib/rbs/environment.rb#83 def module_name?(name); end - # source://rbs//lib/rbs/environment.rb#231 + # source://rbs//lib/rbs/environment.rb#269 def normalize_module_name(name); end + # source://rbs//lib/rbs/environment.rb#273 + def normalize_module_name!(name); end + # @return [Boolean] # - # source://rbs//lib/rbs/environment.rb#235 + # source://rbs//lib/rbs/environment.rb#241 def normalize_module_name?(name); end - # source://rbs//lib/rbs/environment.rb#227 + # source://rbs//lib/rbs/environment.rb#219 def normalize_type_name(name); end - # source://rbs//lib/rbs/environment.rb#196 + # source://rbs//lib/rbs/environment.rb#206 def normalize_type_name!(name); end # @return [Boolean] # - # source://rbs//lib/rbs/environment.rb#177 + # source://rbs//lib/rbs/environment.rb#187 def normalize_type_name?(name); end - # source://rbs//lib/rbs/environment.rb#143 + # source://rbs//lib/rbs/environment.rb#139 def normalized_class_entry(type_name); end - # source://rbs//lib/rbs/environment.rb#169 + # source://rbs//lib/rbs/environment.rb#163 def normalized_module_class_entry(type_name); end - # source://rbs//lib/rbs/environment.rb#154 + # source://rbs//lib/rbs/environment.rb#150 def normalized_module_entry(type_name); end - # source://rbs//lib/rbs/environment.rb#222 + # source://rbs//lib/rbs/environment.rb#236 def normalized_type_name!(name); end # @return [Boolean] # - # source://rbs//lib/rbs/environment.rb#209 + # source://rbs//lib/rbs/environment.rb#223 def normalized_type_name?(type_name); end - # source://rbs//lib/rbs/environment.rb#531 + # source://rbs//lib/rbs/environment.rb#577 def resolve_declaration(resolver, map, decl, context:, prefix:); end - # source://rbs//lib/rbs/environment.rb#722 + # source://rbs//lib/rbs/environment.rb#862 def resolve_member(resolver, map, member, context:); end - # source://rbs//lib/rbs/environment.rb#822 + # source://rbs//lib/rbs/environment.rb#962 def resolve_method_type(resolver, map, type, context:); end - # source://rbs//lib/rbs/environment.rb#667 + # source://rbs//lib/rbs/environment.rb#713 def resolve_ruby_decl(resolver, decl, context:, prefix:); end - # source://rbs//lib/rbs/environment.rb#708 + # source://rbs//lib/rbs/environment.rb#790 def resolve_ruby_member(resolver, member, context:); end - # source://rbs//lib/rbs/environment.rb#462 + # source://rbs//lib/rbs/environment.rb#500 def resolve_signature(resolver, table, dirs, decls, only: T.unsafe(nil)); end - # source://rbs//lib/rbs/environment.rb#484 + # source://rbs//lib/rbs/environment.rb#522 def resolve_type_names(only: T.unsafe(nil)); end - # source://rbs//lib/rbs/environment.rb#830 + # source://rbs//lib/rbs/environment.rb#970 def resolve_type_params(resolver, map, params, context:); end - # source://rbs//lib/rbs/environment.rb#516 + # source://rbs//lib/rbs/environment.rb#562 def resolver_context(*nesting); end # Returns the value of attribute sources. @@ -3705,10 +4134,10 @@ class RBS::Environment # source://rbs//lib/rbs/environment.rb#87 def type_name?(name); end - # source://rbs//lib/rbs/environment.rb#856 - def unload(buffers); end + # source://rbs//lib/rbs/environment.rb#996 + def unload(paths); end - # source://rbs//lib/rbs/environment.rb#456 + # source://rbs//lib/rbs/environment.rb#494 def validate_type_params; end private @@ -3899,7 +4328,7 @@ class RBS::EnvironmentLoader # source://rbs//lib/rbs/environment_loader.rb#48 def add(path: T.unsafe(nil), library: T.unsafe(nil), version: T.unsafe(nil), resolve_dependencies: T.unsafe(nil)); end - # source://rbs//lib/rbs/environment_loader.rb#80 + # source://rbs//lib/rbs/environment_loader.rb#74 def add_collection(lockfile); end # Returns the value of attribute core_root. @@ -3912,15 +4341,15 @@ class RBS::EnvironmentLoader # source://rbs//lib/rbs/environment_loader.rb#24 def dirs; end - # source://rbs//lib/rbs/environment_loader.rb#131 + # source://rbs//lib/rbs/environment_loader.rb#125 def each_dir; end - # source://rbs//lib/rbs/environment_loader.rb#154 + # source://rbs//lib/rbs/environment_loader.rb#148 def each_signature; end # @return [Boolean] # - # source://rbs//lib/rbs/environment_loader.rb#104 + # source://rbs//lib/rbs/environment_loader.rb#98 def has_library?(library:, version:); end # Returns the value of attribute libs. @@ -3928,7 +4357,7 @@ class RBS::EnvironmentLoader # source://rbs//lib/rbs/environment_loader.rb#23 def libs; end - # source://rbs//lib/rbs/environment_loader.rb#112 + # source://rbs//lib/rbs/environment_loader.rb#106 def load(env:); end # Returns the value of attribute repository. @@ -3936,7 +4365,7 @@ class RBS::EnvironmentLoader # source://rbs//lib/rbs/environment_loader.rb#21 def repository; end - # source://rbs//lib/rbs/environment_loader.rb#65 + # source://rbs//lib/rbs/environment_loader.rb#59 def resolve_dependencies(library:, version:); end class << self @@ -4112,21 +4541,21 @@ class RBS::GenericParameterMismatchError < ::RBS::LoadingError def name; end end -# source://rbs//lib/rbs/errors.rb#554 +# source://rbs//lib/rbs/errors.rb#574 class RBS::InconsistentClassModuleAliasError < ::RBS::BaseError include ::RBS::DetailedMessageable # @return [InconsistentClassModuleAliasError] a new instance of InconsistentClassModuleAliasError # - # source://rbs//lib/rbs/errors.rb#559 + # source://rbs//lib/rbs/errors.rb#579 def initialize(entry); end # Returns the value of attribute alias_entry. # - # source://rbs//lib/rbs/errors.rb#557 + # source://rbs//lib/rbs/errors.rb#577 def alias_entry; end - # source://rbs//lib/rbs/errors.rb#573 + # source://rbs//lib/rbs/errors.rb#593 def location; end end @@ -4156,7 +4585,7 @@ end # source://rbs//lib/rbs/inline_parser.rb#4 class RBS::InlineParser class << self - # source://rbs//lib/rbs/inline_parser.rb#34 + # source://rbs//lib/rbs/inline_parser.rb#45 def parse(buffer, prism); end end end @@ -4233,106 +4662,124 @@ class RBS::InlineParser::CommentAssociation::Reference def block; end end -# source://rbs//lib/rbs/inline_parser.rb#16 +# source://rbs//lib/rbs/inline_parser.rb#20 module RBS::InlineParser::Diagnostic; end -# source://rbs//lib/rbs/inline_parser.rb#31 class RBS::InlineParser::Diagnostic::AnnotationSyntaxError < ::RBS::InlineParser::Diagnostic::Base; end +class RBS::InlineParser::Diagnostic::AttributeNonSymbolName < ::RBS::InlineParser::Diagnostic::Base; end -# source://rbs//lib/rbs/inline_parser.rb#17 +# source://rbs//lib/rbs/inline_parser.rb#21 class RBS::InlineParser::Diagnostic::Base # @return [Base] a new instance of Base # - # source://rbs//lib/rbs/inline_parser.rb#20 + # source://rbs//lib/rbs/inline_parser.rb#24 def initialize(location, message); end # Returns the value of attribute location. # - # source://rbs//lib/rbs/inline_parser.rb#18 + # source://rbs//lib/rbs/inline_parser.rb#22 def location; end # Returns the value of attribute message. # - # source://rbs//lib/rbs/inline_parser.rb#18 + # source://rbs//lib/rbs/inline_parser.rb#22 def message; end end -# source://rbs//lib/rbs/inline_parser.rb#27 +class RBS::InlineParser::Diagnostic::ClassModuleAliasDeclarationMissingTypeName < ::RBS::InlineParser::Diagnostic::Base; end +class RBS::InlineParser::Diagnostic::MixinMultipleArguments < ::RBS::InlineParser::Diagnostic::Base; end +class RBS::InlineParser::Diagnostic::MixinNonConstantModule < ::RBS::InlineParser::Diagnostic::Base; end class RBS::InlineParser::Diagnostic::NonConstantClassName < ::RBS::InlineParser::Diagnostic::Base; end - -# source://rbs//lib/rbs/inline_parser.rb#28 +class RBS::InlineParser::Diagnostic::NonConstantConstantDeclaration < ::RBS::InlineParser::Diagnostic::Base; end class RBS::InlineParser::Diagnostic::NonConstantModuleName < ::RBS::InlineParser::Diagnostic::Base; end - -# source://rbs//lib/rbs/inline_parser.rb#26 +class RBS::InlineParser::Diagnostic::NonConstantSuperClassName < ::RBS::InlineParser::Diagnostic::Base; end class RBS::InlineParser::Diagnostic::NotImplementedYet < ::RBS::InlineParser::Diagnostic::Base; end - -# source://rbs//lib/rbs/inline_parser.rb#29 +class RBS::InlineParser::Diagnostic::TopLevelAttributeDefinition < ::RBS::InlineParser::Diagnostic::Base; end class RBS::InlineParser::Diagnostic::TopLevelMethodDefinition < ::RBS::InlineParser::Diagnostic::Base; end - -# source://rbs//lib/rbs/inline_parser.rb#30 class RBS::InlineParser::Diagnostic::UnusedInlineAnnotation < ::RBS::InlineParser::Diagnostic::Base; end -# source://rbs//lib/rbs/inline_parser.rb#42 +# source://rbs//lib/rbs/inline_parser.rb#57 class RBS::InlineParser::Parser < ::Prism::Visitor include ::RBS::AST::Ruby::Helpers::ConstantHelper include ::RBS::AST::Ruby::Helpers::LocationHelper # @return [Parser] a new instance of Parser # - # source://rbs//lib/rbs/inline_parser.rb#48 + # source://rbs//lib/rbs/inline_parser.rb#63 def initialize(result); end - # source://rbs//lib/rbs/inline_parser.rb#54 + # source://rbs//lib/rbs/inline_parser.rb#69 def buffer; end # Returns the value of attribute comments. # - # source://rbs//lib/rbs/inline_parser.rb#43 + # source://rbs//lib/rbs/inline_parser.rb#58 def comments; end - # source://rbs//lib/rbs/inline_parser.rb#58 + # source://rbs//lib/rbs/inline_parser.rb#73 def current_module; end - # source://rbs//lib/rbs/inline_parser.rb#62 + # source://rbs//lib/rbs/inline_parser.rb#77 def current_module!; end - # source://rbs//lib/rbs/inline_parser.rb#66 + # source://rbs//lib/rbs/inline_parser.rb#81 def diagnostics; end - # source://rbs//lib/rbs/inline_parser.rb#171 + # source://rbs//lib/rbs/inline_parser.rb#472 def insert_declaration(decl); end # Returns the value of attribute module_nesting. # - # source://rbs//lib/rbs/inline_parser.rb#43 + # source://rbs//lib/rbs/inline_parser.rb#58 def module_nesting; end - # source://rbs//lib/rbs/inline_parser.rb#70 + # source://rbs//lib/rbs/inline_parser.rb#315 + def parse_attribute_call(node); end + + # source://rbs//lib/rbs/inline_parser.rb#375 + def parse_constant_declaration(node); end + + # source://rbs//lib/rbs/inline_parser.rb#259 + def parse_mixin_call(node); end + + # source://rbs//lib/rbs/inline_parser.rb#508 + def parse_super_class(super_class_expr, inheritance_operator_loc); end + + # source://rbs//lib/rbs/inline_parser.rb#85 def push_module_nesting(mod); end - # source://rbs//lib/rbs/inline_parser.rb#179 + # source://rbs//lib/rbs/inline_parser.rb#480 def report_unused_annotation(*annotations); end - # source://rbs//lib/rbs/inline_parser.rb#194 + # source://rbs//lib/rbs/inline_parser.rb#495 def report_unused_block(block); end # Returns the value of attribute result. # - # source://rbs//lib/rbs/inline_parser.rb#43 + # source://rbs//lib/rbs/inline_parser.rb#58 def result; end # @return [Boolean] # - # source://rbs//lib/rbs/inline_parser.rb#77 + # source://rbs//lib/rbs/inline_parser.rb#92 def skip_node?(node); end - # source://rbs//lib/rbs/inline_parser.rb#88 + # source://rbs//lib/rbs/inline_parser.rb#217 + def visit_call_node(node); end + + # source://rbs//lib/rbs/inline_parser.rb#103 def visit_class_node(node); end - # source://rbs//lib/rbs/inline_parser.rb#132 + # source://rbs//lib/rbs/inline_parser.rb#253 + def visit_constant_path_write_node(node); end + + # source://rbs//lib/rbs/inline_parser.rb#246 + def visit_constant_write_node(node); end + + # source://rbs//lib/rbs/inline_parser.rb#178 def visit_def_node(node); end - # source://rbs//lib/rbs/inline_parser.rb#110 + # source://rbs//lib/rbs/inline_parser.rb#156 def visit_module_node(node); end end @@ -4362,6 +4809,9 @@ class RBS::InlineParser::Result # # source://rbs//lib/rbs/inline_parser.rb#6 def prism_result; end + + # source://rbs//lib/rbs/inline_parser.rb#15 + def type_fingerprint; end end # source://rbs//lib/rbs/errors.rb#341 @@ -4636,7 +5086,7 @@ class RBS::Locator # source://rbs//lib/rbs/locator.rb#42 def find_in_directive(pos, dir, array); end - # source://rbs//lib/rbs/locator.rb#208 + # source://rbs//lib/rbs/locator.rb#212 def find_in_loc(pos, location:, array:); end # source://rbs//lib/rbs/locator.rb#131 @@ -4645,13 +5095,13 @@ class RBS::Locator # source://rbs//lib/rbs/locator.rb#154 def find_in_method_type(pos, method_type:, array:); end - # source://rbs//lib/rbs/locator.rb#192 + # source://rbs//lib/rbs/locator.rb#196 def find_in_type(pos, type:, array:); end # source://rbs//lib/rbs/locator.rb#172 def find_in_type_param(pos, type_param:, array:); end - # source://rbs//lib/rbs/locator.rb#235 + # source://rbs//lib/rbs/locator.rb#239 def test_loc(pos, location:); end end @@ -4758,7 +5208,10 @@ class RBS::MixinClassError < ::RBS::DefinitionError private - # source://rbs//lib/rbs/errors.rb#493 + # source://rbs//lib/rbs/errors.rb#502 + def member_name(member); end + + # source://rbs//lib/rbs/errors.rb#513 def mixin_name; end class << self @@ -4943,23 +5396,23 @@ class RBS::NoTypeFoundError < ::RBS::DefinitionError end end -# source://rbs//lib/rbs/errors.rb#525 +# source://rbs//lib/rbs/errors.rb#545 class RBS::NonregularTypeAliasError < ::RBS::BaseError include ::RBS::DetailedMessageable # @return [NonregularTypeAliasError] a new instance of NonregularTypeAliasError # - # source://rbs//lib/rbs/errors.rb#531 + # source://rbs//lib/rbs/errors.rb#551 def initialize(diagnostic:, location:); end # Returns the value of attribute diagnostic. # - # source://rbs//lib/rbs/errors.rb#528 + # source://rbs//lib/rbs/errors.rb#548 def diagnostic; end # Returns the value of attribute location. # - # source://rbs//lib/rbs/errors.rb#529 + # source://rbs//lib/rbs/errors.rb#549 def location; end end @@ -4982,7 +5435,7 @@ class RBS::Parser def _parse_signature(_arg0, _arg1, _arg2); end # source://rbs//lib/rbs.rb#72 - def _parse_type(_arg0, _arg1, _arg2, _arg3, _arg4); end + def _parse_type(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); end # source://rbs//lib/rbs.rb#72 def _parse_type_params(_arg0, _arg1, _arg2, _arg3); end @@ -5009,7 +5462,7 @@ class RBS::Parser def parse_signature(source); end # source://rbs//lib/rbs/parser_aux.rb#8 - def parse_type(source, range: T.unsafe(nil), variables: T.unsafe(nil), require_eof: T.unsafe(nil)); end + def parse_type(source, range: T.unsafe(nil), variables: T.unsafe(nil), require_eof: T.unsafe(nil), void_allowed: T.unsafe(nil), self_allowed: T.unsafe(nil)); end # source://rbs//lib/rbs/parser_aux.rb#38 def parse_type_params(source, module_type_params: T.unsafe(nil)); end @@ -5277,10 +5730,10 @@ class RBS::Prototype::RBI # @return [Boolean] # - # source://rbs//lib/rbs/prototype/rbi.rb#562 + # source://rbs//lib/rbs/prototype/rbi.rb#564 def call_node?(node, name:, receiver: T.unsafe(nil), args: T.unsafe(nil)); end - # source://rbs//lib/rbs/prototype/rbi.rb#566 + # source://rbs//lib/rbs/prototype/rbi.rb#568 def const_to_name(node); end # source://rbs//lib/rbs/prototype/rbi.rb#90 @@ -5297,10 +5750,10 @@ class RBS::Prototype::RBI # source://rbs//lib/rbs/prototype/rbi.rb#8 def decls; end - # source://rbs//lib/rbs/prototype/rbi.rb#602 + # source://rbs//lib/rbs/prototype/rbi.rb#604 def each_arg(array, &block); end - # source://rbs//lib/rbs/prototype/rbi.rb#616 + # source://rbs//lib/rbs/prototype/rbi.rb#618 def each_child(node); end # source://rbs//lib/rbs/prototype/rbi.rb#112 @@ -5311,7 +5764,7 @@ class RBS::Prototype::RBI # source://rbs//lib/rbs/prototype/rbi.rb#10 def last_sig; end - # source://rbs//lib/rbs/prototype/rbi.rb#280 + # source://rbs//lib/rbs/prototype/rbi.rb#281 def method_type(args_node, type_node, variables:, overloads:); end # Returns the value of attribute modules. @@ -5322,13 +5775,13 @@ class RBS::Prototype::RBI # source://rbs//lib/rbs/prototype/rbi.rb#42 def nested_name(name); end - # source://rbs//lib/rbs/prototype/rbi.rb#624 + # source://rbs//lib/rbs/prototype/rbi.rb#626 def node_to_hash(node); end # source://rbs//lib/rbs/prototype/rbi.rb#18 def parse(string); end - # source://rbs//lib/rbs/prototype/rbi.rb#352 + # source://rbs//lib/rbs/prototype/rbi.rb#354 def parse_params(args_node, args, method_type, variables:, overloads:); end # source://rbs//lib/rbs/prototype/rbi.rb#106 @@ -5336,7 +5789,7 @@ class RBS::Prototype::RBI # @return [Boolean] # - # source://rbs//lib/rbs/prototype/rbi.rb#554 + # source://rbs//lib/rbs/prototype/rbi.rb#556 def proc_type?(type_node); end # source://rbs//lib/rbs/prototype/rbi.rb#117 @@ -5351,10 +5804,10 @@ class RBS::Prototype::RBI # source://rbs//lib/rbs/prototype/rbi.rb#98 def push_sig(node); end - # source://rbs//lib/rbs/prototype/rbi.rb#477 + # source://rbs//lib/rbs/prototype/rbi.rb#479 def type_of(type_node, variables:); end - # source://rbs//lib/rbs/prototype/rbi.rb#490 + # source://rbs//lib/rbs/prototype/rbi.rb#492 def type_of0(type_node, variables:); end end @@ -5365,119 +5818,119 @@ class RBS::Prototype::Runtime # @return [Runtime] a new instance of Runtime # - # source://rbs//lib/rbs/prototype/runtime.rb#71 + # source://rbs//lib/rbs/prototype/runtime.rb#79 def initialize(patterns:, env:, merge:, todo: T.unsafe(nil), owners_included: T.unsafe(nil)); end - # source://rbs//lib/rbs/prototype/runtime.rb#654 + # source://rbs//lib/rbs/prototype/runtime.rb#662 def block_from_ast_of(method); end - # source://rbs//lib/rbs/prototype/runtime.rb#101 + # source://rbs//lib/rbs/prototype/runtime.rb#109 def builder; end - # source://rbs//lib/rbs/prototype/runtime.rb#109 + # source://rbs//lib/rbs/prototype/runtime.rb#117 def decls; end # Generate/find outer module declarations # This is broken down into another method to comply with `DRY` # This generates/finds declarations in nested form & returns the last array of declarations # - # source://rbs//lib/rbs/prototype/runtime.rb#583 + # source://rbs//lib/rbs/prototype/runtime.rb#591 def ensure_outer_module_declarations(mod); end # Returns the value of attribute env. # - # source://rbs//lib/rbs/prototype/runtime.rb#65 + # source://rbs//lib/rbs/prototype/runtime.rb#73 def env; end - # source://rbs//lib/rbs/prototype/runtime.rb#488 + # source://rbs//lib/rbs/prototype/runtime.rb#496 def generate_class(mod); end - # source://rbs//lib/rbs/prototype/runtime.rb#425 + # source://rbs//lib/rbs/prototype/runtime.rb#433 def generate_constants(mod, decls); end - # source://rbs//lib/rbs/prototype/runtime.rb#301 + # source://rbs//lib/rbs/prototype/runtime.rb#309 def generate_methods(mod, module_name, members); end - # source://rbs//lib/rbs/prototype/runtime.rb#565 + # source://rbs//lib/rbs/prototype/runtime.rb#573 def generate_mixin(mod, decl, type_name, type_name_absolute); end - # source://rbs//lib/rbs/prototype/runtime.rb#527 + # source://rbs//lib/rbs/prototype/runtime.rb#535 def generate_module(mod); end - # source://rbs//lib/rbs/prototype/runtime.rb#473 + # source://rbs//lib/rbs/prototype/runtime.rb#481 def generate_super_class(mod); end # Returns the value of attribute merge. # - # source://rbs//lib/rbs/prototype/runtime.rb#66 + # source://rbs//lib/rbs/prototype/runtime.rb#74 def merge; end - # source://rbs//lib/rbs/prototype/runtime.rb#240 + # source://rbs//lib/rbs/prototype/runtime.rb#248 def merge_rbs(module_name, members, instance: T.unsafe(nil), singleton: T.unsafe(nil)); end - # source://rbs//lib/rbs/prototype/runtime.rb#171 + # source://rbs//lib/rbs/prototype/runtime.rb#179 def method_type(method); end # Returns the value of attribute outline. # - # source://rbs//lib/rbs/prototype/runtime.rb#69 + # source://rbs//lib/rbs/prototype/runtime.rb#77 def outline; end # Sets the attribute outline # # @param value the value to set the attribute outline to. # - # source://rbs//lib/rbs/prototype/runtime.rb#69 + # source://rbs//lib/rbs/prototype/runtime.rb#77 def outline=(_arg0); end # Returns the value of attribute owners_included. # - # source://rbs//lib/rbs/prototype/runtime.rb#68 + # source://rbs//lib/rbs/prototype/runtime.rb#76 def owners_included; end - # source://rbs//lib/rbs/prototype/runtime.rb#105 + # source://rbs//lib/rbs/prototype/runtime.rb#113 def parse(file); end # Returns the value of attribute patterns. # - # source://rbs//lib/rbs/prototype/runtime.rb#64 + # source://rbs//lib/rbs/prototype/runtime.rb#72 def patterns; end # @return [Boolean] # - # source://rbs//lib/rbs/prototype/runtime.rb#84 + # source://rbs//lib/rbs/prototype/runtime.rb#92 def target?(const); end # @return [Boolean] # - # source://rbs//lib/rbs/prototype/runtime.rb#288 + # source://rbs//lib/rbs/prototype/runtime.rb#296 def target_method?(mod, instance: T.unsafe(nil), singleton: T.unsafe(nil)); end # Returns the value of attribute todo. # - # source://rbs//lib/rbs/prototype/runtime.rb#67 + # source://rbs//lib/rbs/prototype/runtime.rb#75 def todo; end - # source://rbs//lib/rbs/prototype/runtime.rb#97 + # source://rbs//lib/rbs/prototype/runtime.rb#105 def todo_object; end - # source://rbs//lib/rbs/prototype/runtime.rb#637 + # source://rbs//lib/rbs/prototype/runtime.rb#645 def type_args(type_name); end - # source://rbs//lib/rbs/prototype/runtime.rb#645 + # source://rbs//lib/rbs/prototype/runtime.rb#653 def type_params(mod); end private # @return [Boolean] # - # source://rbs//lib/rbs/prototype/runtime.rb#415 + # source://rbs//lib/rbs/prototype/runtime.rb#423 def can_alias?(mod, method); end - # source://rbs//lib/rbs/prototype/runtime.rb#129 + # source://rbs//lib/rbs/prototype/runtime.rb#137 def each_mixined_module(type_name, mod); end - # source://rbs//lib/rbs/prototype/runtime.rb#138 + # source://rbs//lib/rbs/prototype/runtime.rb#146 def each_mixined_module_one(type_name, mod); end end @@ -5583,12 +6036,12 @@ class RBS::Prototype::Runtime::Todo # @return [Boolean] # - # source://rbs//lib/rbs/prototype/runtime.rb#42 + # source://rbs//lib/rbs/prototype/runtime.rb#50 def skip_constant?(module_name:, name:); end # @return [Boolean] # - # source://rbs//lib/rbs/prototype/runtime.rb#33 + # source://rbs//lib/rbs/prototype/runtime.rb#37 def skip_instance_method?(module_name:, method:, accessibility:); end # @return [Boolean] @@ -5603,7 +6056,7 @@ class RBS::Prototype::Runtime::Todo private - # source://rbs//lib/rbs/prototype/runtime.rb#49 + # source://rbs//lib/rbs/prototype/runtime.rb#57 def mixin_decls(type_name); end end @@ -5755,26 +6208,26 @@ class RBS::RecursiveAncestorError < ::RBS::DefinitionError end end -# source://rbs//lib/rbs/errors.rb#507 +# source://rbs//lib/rbs/errors.rb#527 class RBS::RecursiveTypeAliasError < ::RBS::BaseError include ::RBS::DetailedMessageable # @return [RecursiveTypeAliasError] a new instance of RecursiveTypeAliasError # - # source://rbs//lib/rbs/errors.rb#513 + # source://rbs//lib/rbs/errors.rb#533 def initialize(alias_names:, location:); end # Returns the value of attribute alias_names. # - # source://rbs//lib/rbs/errors.rb#510 + # source://rbs//lib/rbs/errors.rb#530 def alias_names; end # Returns the value of attribute location. # - # source://rbs//lib/rbs/errors.rb#511 + # source://rbs//lib/rbs/errors.rb#531 def location; end - # source://rbs//lib/rbs/errors.rb#520 + # source://rbs//lib/rbs/errors.rb#540 def name; end end @@ -5993,7 +6446,17 @@ class RBS::Resolver::TypeNameResolver # @return [TypeNameResolver] a new instance of TypeNameResolver # # source://rbs//lib/rbs/resolver/type_name_resolver.rb#10 - def initialize(env); end + def initialize(all_names, aliases); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#82 + def aliased_name?(type_name); end + + # Returns the value of attribute aliases. + # + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#8 + def aliases; end # Returns the value of attribute all_names. # @@ -6005,27 +6468,36 @@ class RBS::Resolver::TypeNameResolver # source://rbs//lib/rbs/resolver/type_name_resolver.rb#7 def cache; end - # Returns the value of attribute env. - # - # source://rbs//lib/rbs/resolver/type_name_resolver.rb#8 - def env; end - # @return [Boolean] # - # source://rbs//lib/rbs/resolver/type_name_resolver.rb#84 - def has_name?(full_name); end + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#76 + def has_type_name?(full_name); end - # source://rbs//lib/rbs/resolver/type_name_resolver.rb#51 - def partition(type_name); end + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#121 + def normalize_namespace(type_name, rhs, context, visited); end - # source://rbs//lib/rbs/resolver/type_name_resolver.rb#28 + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#39 def resolve(type_name, context:); end - # source://rbs//lib/rbs/resolver/type_name_resolver.rb#69 - def resolve_in(head, context); end + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#104 + def resolve_head_namespace(head, context); end + + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#62 + def resolve_namespace(type_name, context:); end + + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#136 + def resolve_namespace0(type_name, context, visited); end + + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#88 + def resolve_type_name(type_name, context); end - # source://rbs//lib/rbs/resolver/type_name_resolver.rb#21 + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#32 def try_cache(query); end + + class << self + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#16 + def build(env); end + end end # source://rbs//lib/rbs/source.rb#4 @@ -6156,26 +6628,26 @@ class RBS::Subtractor private - # source://rbs//lib/rbs/subtractor.rb#178 + # source://rbs//lib/rbs/subtractor.rb#180 def absolute_typename(name, context:); end # @return [Boolean] # - # source://rbs//lib/rbs/subtractor.rb#161 + # source://rbs//lib/rbs/subtractor.rb#163 def access_modifier?(decl); end # @return [Boolean] # - # source://rbs//lib/rbs/subtractor.rb#118 + # source://rbs//lib/rbs/subtractor.rb#120 def cvar_exist?(owner, name); end - # source://rbs//lib/rbs/subtractor.rb#127 + # source://rbs//lib/rbs/subtractor.rb#129 def each_member(owner, &block); end # source://rbs//lib/rbs/subtractor.rb#48 def filter_members(decl, context:); end - # source://rbs//lib/rbs/subtractor.rb#149 + # source://rbs//lib/rbs/subtractor.rb#151 def filter_redundant_access_modifiers(decls); end # @return [Boolean] @@ -6195,13 +6667,13 @@ class RBS::Subtractor # @return [Boolean] # - # source://rbs//lib/rbs/subtractor.rb#138 + # source://rbs//lib/rbs/subtractor.rb#140 def mixin_exist?(owner, mixin, context:); end - # source://rbs//lib/rbs/subtractor.rb#187 + # source://rbs//lib/rbs/subtractor.rb#189 def typename_candidates(name, context:); end - # source://rbs//lib/rbs/subtractor.rb#165 + # source://rbs//lib/rbs/subtractor.rb#167 def update_decl(decl, members:); end end @@ -6431,27 +6903,27 @@ class RBS::TypeName end end -# source://rbs//lib/rbs/errors.rb#605 +# source://rbs//lib/rbs/errors.rb#625 class RBS::TypeParamDefaultReferenceError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [TypeParamDefaultReferenceError] a new instance of TypeParamDefaultReferenceError # - # source://rbs//lib/rbs/errors.rb#611 + # source://rbs//lib/rbs/errors.rb#631 def initialize(type_param, location:); end # Returns the value of attribute location. # - # source://rbs//lib/rbs/errors.rb#609 + # source://rbs//lib/rbs/errors.rb#629 def location; end # Returns the value of attribute type_param. # - # source://rbs//lib/rbs/errors.rb#608 + # source://rbs//lib/rbs/errors.rb#628 def type_param; end class << self - # source://rbs//lib/rbs/errors.rb#617 + # source://rbs//lib/rbs/errors.rb#637 def check!(type_params); end end end @@ -7793,18 +8265,18 @@ class RBS::Vendorer def vendor_dir; end end -# source://rbs//lib/rbs/errors.rb#594 +# source://rbs//lib/rbs/errors.rb#614 class RBS::WillSyntaxError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [WillSyntaxError] a new instance of WillSyntaxError # - # source://rbs//lib/rbs/errors.rb#599 + # source://rbs//lib/rbs/errors.rb#619 def initialize(message, location:); end # Returns the value of attribute location. # - # source://rbs//lib/rbs/errors.rb#597 + # source://rbs//lib/rbs/errors.rb#617 def location; end end diff --git a/test/requests/signature_help_test.rb b/test/requests/signature_help_test.rb index 488c9d2e67..caeab2c0cd 100644 --- a/test/requests/signature_help_test.rb +++ b/test/requests/signature_help_test.rb @@ -414,7 +414,7 @@ def test_automatically_detects_active_overload result = server.pop_response.response signature = result.signatures[result.active_signature] - assert_equal("step(&)", signature.label) + assert_equal("step(limit = , step = , &)", signature.label) end # Second step overload: with positional arguments @@ -434,7 +434,7 @@ def test_automatically_detects_active_overload result = server.pop_response.response signature = result.signatures[result.active_signature] - assert_equal("step(limit, step = , &)", signature.label) + assert_equal("step(limit = , step = , &)", signature.label) end # Third step overload: with keyword arguments @@ -454,7 +454,7 @@ def test_automatically_detects_active_overload result = server.pop_response.response signature = result.signatures[result.active_signature] - assert_equal("step(to:, by: , &)", signature.label) + assert_equal("step(by: , to: , &)", signature.label) end end end